This is the mail archive of the
glibc-cvs@sourceware.org
mailing list for the glibc project.
GNU C Library master sources branch master updated. glibc-2.26-76-g8b2c63e
- From: fw at sourceware dot org
- To: glibc-cvs at sourceware dot org
- Date: 11 Aug 2017 13:47:01 -0000
- Subject: GNU C Library master sources branch master updated. glibc-2.26-76-g8b2c63e
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "GNU C Library master sources".
The branch, master has been updated
via 8b2c63e4e2ad1fd161f80004ed30624f2a37b57b (commit)
from 86c6519ee77d241575653206f33dbe1d4c8436cf (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=8b2c63e4e2ad1fd161f80004ed30624f2a37b57b
commit 8b2c63e4e2ad1fd161f80004ed30624f2a37b57b
Author: Florian Weimer <fweimer@redhat.com>
Date: Fri Aug 11 15:36:08 2017 +0200
assert: Suppress pedantic warning caused by statement expression
diff --git a/ChangeLog b/ChangeLog
index 3a795ec..000dc6d 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+2017-08-11 Florian Weimer <fweimer@redhat.com>
+
+ [BZ #21242]
+ * assert/assert.h [__GNUC__ && !__STRICT_ANSI__] (assert):
+ Suppress pedantic warning resulting from statement expression.
+ (__ASSERT_FUNCTION): Add missing __extension__.
+
2017-08-11 Siddhesh Poyarekar <siddhesh@sourceware.org>
* benchtests/bench-memmove-large.c: Print output in JSON
diff --git a/assert/assert.h b/assert/assert.h
index 22f0195..6801cfe 100644
--- a/assert/assert.h
+++ b/assert/assert.h
@@ -91,13 +91,19 @@ __END_DECLS
? __ASSERT_VOID_CAST (0) \
: __assert_fail (#expr, __FILE__, __LINE__, __ASSERT_FUNCTION))
# else
+/* The first occurrence of EXPR is not evaluated due to the sizeof,
+ but will trigger any pedantic warnings masked by the __extension__
+ for the second occurrence. The explicit comparison against zero is
+ required to support function pointers and bit fields in this
+ context, and to suppress the evaluation of variable length
+ arrays. */
# define assert(expr) \
- ({ \
+ ((void) sizeof ((expr) == 0), __extension__ ({ \
if (expr) \
; /* empty */ \
else \
__assert_fail (#expr, __FILE__, __LINE__, __ASSERT_FUNCTION); \
- })
+ }))
# endif
# ifdef __USE_GNU
@@ -113,7 +119,7 @@ __END_DECLS
C9x has a similar variable called __func__, but prefer the GCC one since
it demangles C++ function names. */
# if defined __cplusplus ? __GNUC_PREREQ (2, 6) : __GNUC_PREREQ (2, 4)
-# define __ASSERT_FUNCTION __PRETTY_FUNCTION__
+# define __ASSERT_FUNCTION __extension__ __PRETTY_FUNCTION__
# else
# if defined __STDC_VERSION__ && __STDC_VERSION__ >= 199901L
# define __ASSERT_FUNCTION __func__
-----------------------------------------------------------------------
Summary of changes:
ChangeLog | 7 +++++++
assert/assert.h | 12 +++++++++---
2 files changed, 16 insertions(+), 3 deletions(-)
hooks/post-receive
--
GNU C Library master sources