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

