+2010-03-20 Bruno Haible <bruno@clisp.org>
+
+ Make _GL_WARN_ON_USE usable in C++ and C mode in the same compilation.
+ * build-aux/warn-on-use.h (_GL_WARN_EXTERN_C): New macro.
+ (_GL_WARN_ON_USE, _GL_WARN_ON_USE_CXX): Likewise.
+ Reported by John W. Eaton <jwe@gnu.org>.
+
2010-03-20 Bruno Haible <bruno@clisp.org>
* m4/unlink.m4 (gl_FUNC_UNLINK): Fix last commit.
# else /* Unsupported. */
# define _GL_WARN_ON_USE(function, message) \
-extern int _gl_warn_on_use
+_GL_WARN_EXTERN_C int _gl_warn_on_use
# endif
#endif
__attribute__ ((__warning__ (msg)))
# else /* Unsupported. */
# define _GL_WARN_ON_USE_CXX(function,rettype,parameters_and_attributes,msg) \
-extern int _gl_warn_on_use
+_GL_WARN_EXTERN_C int _gl_warn_on_use
+# endif
+#endif
+
+/* _GL_WARN_EXTERN_C declaration;
+ performs the declaration with C linkage. */
+#ifndef _GL_WARN_EXTERN_C
+# if defined __cplusplus
+# define _GL_WARN_EXTERN_C extern "C"
+# else
+# define _GL_WARN_EXTERN_C extern
# endif
#endif