[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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: