Bug#164571: libc6-dev: assert.h warnings: redundant declarations
Package: libc6-dev
Version: 2.2.5-15
Severity: minor
File: /usr/include/assert.h
Tags: upstream patch
One must be allowed to include <assert.h> multiple times with different
values for NDEBUG, so the file is not protected against multiple
inclusions. Unfortunately this means that the declarations for
__assert_fail() and the like may occur multiple times in a compilation
unit, causing gcc to issue a batch of warnings.
I believe this can be fixed by protecting the declarations (but only
those declarations) against repetition, like so:
--- /usr/include/assert.h 2002-10-13 15:24:18.000000000 +0200
+++ /tmp/assert.h 2002-10-13 15:23:57.000000000 +0200
@@ -62,6 +62,8 @@
#else /* Not NDEBUG. */
+#ifndef _ASSERT_H_DECLS
+#define _ASSERT_H_DECLS
__BEGIN_DECLS
/* This prints an "Assertion failed" message and aborts. */
@@ -83,6 +85,7 @@
__END_DECLS
+#endif /* Not _ASSERT_H_DECLS */
# define assert(expr) \
(__ASSERT_VOID_CAST ((expr) ? 0 : \
-- System Information:
Debian Release: testing/unstable
Architecture: powerpc
Kernel: Linux bulletproof 2.4.20-pre9-ben0-jtv1 #1 Tue Oct 8 07:04:46 CEST 2002 ppc
Locale: LANG=english, LC_CTYPE=C
Versions of packages libc6-dev depends on:
ii libc6 2.2.5-15 GNU C Library: Shared libraries an
-- no debconf information
Reply to: