From patchwork Wed Jun 25 17:59:53 2014 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Siddhesh Poyarekar X-Patchwork-Id: 1733 Received: (qmail 27394 invoked by alias); 25 Jun 2014 17:58:29 -0000 Mailing-List: contact libc-alpha-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Unsubscribe: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: libc-alpha-owner@sourceware.org Delivered-To: mailing list libc-alpha@sourceware.org Received: (qmail 27381 invoked by uid 89); 25 Jun 2014 17:58:28 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-3.5 required=5.0 tests=AWL, BAYES_00, SPF_HELO_PASS, SPF_PASS, T_RP_MATCHES_RCVD, UPPERCASE_50_75 autolearn=no version=3.3.2 X-HELO: mx1.redhat.com Date: Wed, 25 Jun 2014 23:29:53 +0530 From: Siddhesh Poyarekar To: libc-alpha@sourceware.org Subject: [PATCH] Fix Wundef warnings in posix/confstr.c Message-ID: <20140625175953.GS4477@spoyarek.pnq.redhat.com> MIME-Version: 1.0 Content-Disposition: inline User-Agent: Mutt/1.5.22.1-rc1 (2013-10-16) Hi, The macros in confstr.c are part of the public API and are expected to be not defined for specific cases. Hence, it ought to be valid to use ifdef here instead of trying to massage this into a #if. My initial approach was to rearrange the macro test sequence, but I ran into a gcc/standard bug[1][2], so I opted for the approach with the smallest diff. Siddhesh [1] https://gcc.gnu.org/bugzilla/show_bug.cgi?id=36453 [2] http://www.open-std.org/jtc1/sc22/wg14/www/docs/dr_412.htm * posix/confstr.c (confstr) [__LP64_OFF64_CFLAGS]: Check if _POSIX_V7_LP64_OFF64 is defined. [__LP64_OFF64_LDFLAGS]: Likewise. * posix/posix-envs.def: Check if macros are defined before using them. diff --git a/posix/confstr.c b/posix/confstr.c index a2a1bf2..2a98b4a 100644 --- a/posix/confstr.c +++ b/posix/confstr.c @@ -130,7 +130,7 @@ confstr (name, buf, len) case _CS_POSIX_V6_LP64_OFF64_CFLAGS: case _CS_POSIX_V7_LP64_OFF64_CFLAGS: #ifdef __LP64_OFF64_CFLAGS -# if _POSIX_V7_LP64_OFF64 == -1 +# if defined _POSIX_V7_LP64_OFF64 && _POSIX_V7_LP64_OFF64 == -1 # error "__LP64_OFF64_CFLAGS should not be defined" # elif !defined _POSIX_V7_LP64_OFF64 if (__sysconf (_SC_V7_LP64_OFF64) < 0) @@ -175,7 +175,7 @@ confstr (name, buf, len) case _CS_POSIX_V6_LP64_OFF64_LDFLAGS: case _CS_POSIX_V7_LP64_OFF64_LDFLAGS: #ifdef __LP64_OFF64_LDFLAGS -# if _POSIX_V7_LP64_OFF64 == -1 +# if defined _POSIX_V7_LP64_OFF64 && _POSIX_V7_LP64_OFF64 == -1 # error "__LP64_OFF64_LDFLAGS should not be defined" # elif !defined _POSIX_V7_LP64_OFF64 if (__sysconf (_SC_V7_LP64_OFF64) < 0) diff --git a/posix/posix-envs.def b/posix/posix-envs.def index 05043e9..344db28 100644 --- a/posix/posix-envs.def +++ b/posix/posix-envs.def @@ -44,7 +44,7 @@ START_ENV_GROUP (V7) -#if _POSIX_V7_ILP32_OFF32 > 0 +#if defined _POSIX_V7_ILP32_OFF32 && _POSIX_V7_ILP32_OFF32 > 0 KNOWN_PRESENT_ENVIRONMENT (V7, POSIX_V7, ILP32_OFF32) #elif defined _POSIX_V7_ILP32_OFF32 KNOWN_ABSENT_ENVIRONMENT (V7, POSIX_V7, ILP32_OFF32) @@ -52,7 +52,7 @@ KNOWN_ABSENT_ENVIRONMENT (V7, POSIX_V7, ILP32_OFF32) UNKNOWN_ENVIRONMENT (V7, POSIX_V7, ILP32_OFF32) #endif -#if _POSIX_V7_ILP32_OFFBIG > 0 +#if defined _POSIX_V7_ILP32_OFFBIG && _POSIX_V7_ILP32_OFFBIG > 0 KNOWN_PRESENT_ENVIRONMENT (V7, POSIX_V7, ILP32_OFFBIG) #elif defined _POSIX_V7_ILP32_OFFBIG KNOWN_ABSENT_ENVIRONMENT (V7, POSIX_V7, ILP32_OFFBIG) @@ -60,7 +60,7 @@ KNOWN_ABSENT_ENVIRONMENT (V7, POSIX_V7, ILP32_OFFBIG) UNKNOWN_ENVIRONMENT (V7, POSIX_V7, ILP32_OFFBIG) #endif -#if _POSIX_V7_LP64_OFF64 > 0 +#if defined _POSIX_V7_LP64_OFF64 && _POSIX_V7_LP64_OFF64 > 0 KNOWN_PRESENT_ENVIRONMENT (V7, POSIX_V7, LP64_OFF64) #elif defined _POSIX_V7_LP64_OFF64 KNOWN_ABSENT_ENVIRONMENT (V7, POSIX_V7, LP64_OFF64) @@ -68,7 +68,7 @@ KNOWN_ABSENT_ENVIRONMENT (V7, POSIX_V7, LP64_OFF64) UNKNOWN_ENVIRONMENT (V7, POSIX_V7, LP64_OFF64) #endif -#if _POSIX_V7_LPBIG_OFFBIG > 0 +#if defined _POSIX_V7_LPBIG_OFFBIG && _POSIX_V7_LPBIG_OFFBIG > 0 KNOWN_PRESENT_ENVIRONMENT (V7, POSIX_V7, LPBIG_OFFBIG) #elif defined _POSIX_V7_LPBIG_OFFBIG KNOWN_ABSENT_ENVIRONMENT (V7, POSIX_V7, LPBIG_OFFBIG) @@ -80,7 +80,7 @@ END_ENV_GROUP (V7) START_ENV_GROUP (V6) -#if _POSIX_V6_ILP32_OFF32 > 0 +#if defined _POSIX_V6_ILP32_OFF32 && _POSIX_V6_ILP32_OFF32 > 0 KNOWN_PRESENT_ENVIRONMENT (V6, POSIX_V6, ILP32_OFF32) #elif defined _POSIX_V6_ILP32_OFF32 KNOWN_ABSENT_ENVIRONMENT (V6, POSIX_V6, ILP32_OFF32) @@ -88,7 +88,7 @@ KNOWN_ABSENT_ENVIRONMENT (V6, POSIX_V6, ILP32_OFF32) UNKNOWN_ENVIRONMENT (V6, POSIX_V6, ILP32_OFF32) #endif -#if _POSIX_V6_ILP32_OFFBIG > 0 +#if defined _POSIX_V6_ILP32_OFFBIG && _POSIX_V6_ILP32_OFFBIG > 0 KNOWN_PRESENT_ENVIRONMENT (V6, POSIX_V6, ILP32_OFFBIG) #elif defined _POSIX_V6_ILP32_OFFBIG KNOWN_ABSENT_ENVIRONMENT (V6, POSIX_V6, ILP32_OFFBIG) @@ -96,7 +96,7 @@ KNOWN_ABSENT_ENVIRONMENT (V6, POSIX_V6, ILP32_OFFBIG) UNKNOWN_ENVIRONMENT (V6, POSIX_V6, ILP32_OFFBIG) #endif -#if _POSIX_V6_LP64_OFF64 > 0 +#if defined _POSIX_V6_LP64_OFF64 && _POSIX_V6_LP64_OFF64 > 0 KNOWN_PRESENT_ENVIRONMENT (V6, POSIX_V6, LP64_OFF64) #elif defined _POSIX_V6_LP64_OFF64 KNOWN_ABSENT_ENVIRONMENT (V6, POSIX_V6, LP64_OFF64) @@ -104,7 +104,7 @@ KNOWN_ABSENT_ENVIRONMENT (V6, POSIX_V6, LP64_OFF64) UNKNOWN_ENVIRONMENT (V6, POSIX_V6, LP64_OFF64) #endif -#if _POSIX_V6_LPBIG_OFFBIG > 0 +#if defined _POSIX_V6_LPBIG_OFFBIG && _POSIX_V6_LPBIG_OFFBIG > 0 KNOWN_PRESENT_ENVIRONMENT (V6, POSIX_V6, LPBIG_OFFBIG) #elif defined _POSIX_V6_LPBIG_OFFBIG KNOWN_ABSENT_ENVIRONMENT (V6, POSIX_V6, LPBIG_OFFBIG) @@ -116,7 +116,7 @@ END_ENV_GROUP (V6) START_ENV_GROUP (V5) -#if _XBS5_ILP32_OFF32 > 0 +#if defined _XBS5_ILP32_OFF32 && _XBS5_ILP32_OFF32 > 0 KNOWN_PRESENT_ENVIRONMENT (XBS5, XBS5, ILP32_OFF32) #elif defined _XBS5_ILP32_OFF32 KNOWN_ABSENT_ENVIRONMENT (XBS5, XBS5, ILP32_OFF32) @@ -124,7 +124,7 @@ KNOWN_ABSENT_ENVIRONMENT (XBS5, XBS5, ILP32_OFF32) UNKNOWN_ENVIRONMENT (XBS5, XBS5, ILP32_OFF32) #endif -#if _XBS5_ILP32_OFFBIG > 0 +#if defined _XBS5_ILP32_OFFBIG && _XBS5_ILP32_OFFBIG > 0 KNOWN_PRESENT_ENVIRONMENT (XBS5, XBS5, ILP32_OFFBIG) #elif defined _XBS5_ILP32_OFFBIG KNOWN_ABSENT_ENVIRONMENT (XBS5, XBS5, ILP32_OFFBIG) @@ -132,7 +132,7 @@ KNOWN_ABSENT_ENVIRONMENT (XBS5, XBS5, ILP32_OFFBIG) UNKNOWN_ENVIRONMENT (XBS5, XBS5, ILP32_OFFBIG) #endif -#if _XBS5_LP64_OFF64 > 0 +#if defined _XBS5_LP64_OFF64 && _XBS5_LP64_OFF64 > 0 KNOWN_PRESENT_ENVIRONMENT (XBS5, XBS5, LP64_OFF64) #elif defined _XBS5_LP64_OFF64 KNOWN_ABSENT_ENVIRONMENT (XBS5, XBS5, LP64_OFF64) @@ -140,7 +140,7 @@ KNOWN_ABSENT_ENVIRONMENT (XBS5, XBS5, LP64_OFF64) UNKNOWN_ENVIRONMENT (XBS5, XBS5, LP64_OFF64) #endif -#if _XBS5_LPBIG_OFFBIG > 0 +#if defined _XBS5_LPBIG_OFFBIG && _XBS5_LPBIG_OFFBIG > 0 KNOWN_PRESENT_ENVIRONMENT (XBS5, XBS5, LPBIG_OFFBIG) #elif defined _XBS5_LPBIG_OFFBIG KNOWN_ABSENT_ENVIRONMENT (XBS5, XBS5, LPBIG_OFFBIG)