[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [bug-libunistring] undefined _UNUSED_PARAMETER_
From: |
Bruno Haible |
Subject: |
Re: [bug-libunistring] undefined _UNUSED_PARAMETER_ |
Date: |
Thu, 10 Dec 2009 00:50:16 +0100 |
User-agent: |
KMail/1.9.9 |
Hi,
Mike Gran wrote:
> In libunistring 0.9.1.1, _UNUSED_PARAMETER_ is used as a parameter
> modifier for two functions in unistr.h, but, is not defined.
>
> I see from the source that _UNUSED_PARAMETER is defined in
> libunistring's config.h, but, it isn't defined any header that gets installed.
>
> This is built on i686-pc-linux-gnu with gcc 4.3.2.
Thanks for the report. The attached fix will be contained in the next release.
In the meantime, as a workaround, you can add "-D_UNUSED_PARAMETER_=" to the
CPPFLAGS.
Bruno
2009-12-09 Bruno Haible <address@hidden>
Ensure _UNUSED_PARAMETER_ is defined in the public header files.
* lib/unistring/cdefs.h: New file, based on gnulib/m4/gnulib-common.m4.
* lib/Makefile.am (nobase_nodist_include_HEADERS): Add it.
* gnulib-local/lib/unistr.h.diff: Include unistring/cdefs.h.
Reported by Mike Gran <address@hidden>.
--- gnulib-local/lib/unistr.h.diff.orig 2009-12-10 00:45:32.000000000 +0100
+++ gnulib-local/lib/unistr.h.diff 2009-12-09 21:27:02.000000000 +0100
@@ -1,5 +1,5 @@
-*** unistr.h.orig 2009-04-05 12:22:17.000000000 +0200
---- unistr.h 2009-04-10 18:57:37.000000000 +0200
+*** unistr.h.orig 2009-05-03 23:06:37.000000000 +0200
+--- unistr.h 2009-12-09 21:25:58.000000000 +0100
***************
*** 19,26 ****
@@ -10,10 +10,13 @@
/* Get size_t. */
#include <stddef.h>
---- 19,29 ----
+--- 19,32 ----
#include "unitypes.h"
++ /* Get common macros for C. */
++ #include <unistring/cdefs.h>
++
+ /* Get inline if available. */
+ #include <unistring/inline.h>
+
--- lib/Makefile.am.orig 2009-12-10 00:45:32.000000000 +0100
+++ lib/Makefile.am 2009-12-09 21:22:28.000000000 +0100
@@ -155,6 +155,9 @@
# unistring/version.h is public.
nobase_nodist_include_HEADERS += unistring/version.h
+# unistring/cdefs.h is not public, but is included by other header files.
+nobase_nodist_include_HEADERS += unistring/cdefs.h
+
# unistring/woe32dll.h is not public, but is included by other header files.
nobase_nodist_include_HEADERS += unistring/woe32dll.h
Changing permissions from . to 100644
--- lib/unistring/cdefs.h.orig 2009-04-14 12:31:40.000000000 +0200
+++ lib/unistring/cdefs.h 2009-12-09 21:19:03.000000000 +0100
@@ -0,0 +1,31 @@
+/* Common macro definitions for C include files.
+ Copyright (C) 2009 Free Software Foundation, Inc.
+
+ This program is free software: you can redistribute it and/or modify it
+ under the terms of the GNU Lesser General Public License as published
+ by the Free Software Foundation; either version 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public License
+ along with this program. If not, see <http://www.gnu.org/licenses/>. */
+
+#ifndef _UNISTRING_CDEFS_H
+#define _UNISTRING_CDEFS_H
+
+/* Define as a marker that can be attached to function parameter declarations
+ for parameters that are not used. This helps to reduce warnings, such as
+ from GCC -Wunused-parameter. */
+#ifndef _UNUSED_PARAMETER_
+# if __GNUC__ >= 3 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 7)
+# define _UNUSED_PARAMETER_ __attribute__ ((__unused__))
+# else
+# define _UNUSED_PARAMETER_
+# endif
+#endif
+
+#endif /* _UNISTRING_CDEFS_H */