From 0eeccfa3ff890e75c4db2375262c2484de62f475 Mon Sep 17 00:00:00 2001 From: Joel Sherrill Date: Thu, 30 Sep 2010 16:01:30 +0000 Subject: [PATCH] g-socket.adb: Move pragma to disable warnings in case multiple errnos are not defined by target. 2010-09-28 Joel Sherrill * g-socket.adb: Move pragma to disable warnings in case multiple errnos are not defined by target. From-SVN: r164753 --- gcc/ada/ChangeLog | 5 +++++ gcc/ada/g-socket.adb | 8 ++++++-- 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/gcc/ada/ChangeLog b/gcc/ada/ChangeLog index e5859240308..52be3a996d2 100644 --- a/gcc/ada/ChangeLog +++ b/gcc/ada/ChangeLog @@ -1,3 +1,8 @@ +2010-09-28 Joel Sherrill + + * g-socket.adb: Move pragma to disable warnings in case + multiple errnos are not defined by target. + 2010-09-29 Eric Botcazou * gcc-interface/utils.c (handle_leaf_attribute): Fix long line. diff --git a/gcc/ada/g-socket.adb b/gcc/ada/g-socket.adb index b75c525202f..65bfdd5b4b8 100644 --- a/gcc/ada/g-socket.adb +++ b/gcc/ada/g-socket.adb @@ -1821,12 +1821,14 @@ package body GNAT.Sockets is return Resource_Temporarily_Unavailable; end if; - pragma Warnings (On); - -- This is not a case statement because if a particular error -- number constant is not defined, s-oscons-tmplt.c defines -- it to -1. If multiple constants are not defined, they -- would each be -1 and result in a "duplicate value in case" error. + -- + -- But we have to leave warnings off because the compiler is also + -- smart enough to note that when two errnos have the same value, + -- the second if condition is useless. if Error_Value = ENOERROR then return Success; elsif Error_Value = EACCES then @@ -1910,6 +1912,8 @@ package body GNAT.Sockets is else return Cannot_Resolve_Error; end if; + pragma Warnings (On); + end Resolve_Error; -----------------------