bug-gnulib
[Top][All Lists]
Advanced

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

va-args (was: GL_LINK_WARNING)


From: Eric Blake
Subject: va-args (was: GL_LINK_WARNING)
Date: Wed, 23 Dec 2009 07:11:10 -0700
User-agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.23) Gecko/20090812 Thunderbird/2.0.0.23 Mnenhy/0.7.6.666

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

According to Eric Blake on 12/15/2009 12:29 PM:
>> 3. Like 2, but also check in the new va-args module (others might have a use 
>> for it, even though it would be unused in gnulib at this point)
> 

I didn't see any reason to discard this patch, even if I no longer have a
use for it.  Now committing:

- --
Don't work too hard, make some time for fun as well!

Eric Blake             address@hidden
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.9 (Cygwin)
Comment: Public key at home.comcast.net/~ericblake/eblake.gpg
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iEYEARECAAYFAksyJP0ACgkQ84KuGfSFAYAuRQCfQLoJCdVCZptg6EBfT2m8hDyS
In8An1rpCnjsUAEPrdRkh38wMrt9Vevn
=qXmv
-----END PGP SIGNATURE-----
From 744df8b1de32a5c4047aff5e9a9fa8b680ffea6f Mon Sep 17 00:00:00 2001
From: Eric Blake <address@hidden>
Date: Tue, 15 Dec 2009 06:59:43 -0700
Subject: [PATCH] va-args: new module

* modules/va-args: New file.
* m4/va-args.m4 (gl_VA_ARGS): Likewise.
* MODULES.html.sh (Core language properties): Mention it.

Signed-off-by: Eric Blake <address@hidden>
---
 ChangeLog       |    5 +++++
 MODULES.html.sh |    1 +
 m4/va-args.m4   |   25 +++++++++++++++++++++++++
 modules/va-args |   20 ++++++++++++++++++++
 4 files changed, 51 insertions(+), 0 deletions(-)
 create mode 100644 m4/va-args.m4
 create mode 100644 modules/va-args

diff --git a/ChangeLog b/ChangeLog
index 7e1dd76..97e496b 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,10 @@
 2009-12-23  Eric Blake  <address@hidden>

+       va-args: new module
+       * modules/va-args: New file.
+       * m4/va-args.m4 (gl_VA_ARGS): Likewise.
+       * MODULES.html.sh (Core language properties): Mention it.
+
        gnulib-common: prefer _GL_UNUSED over _UNUSED_PARAMETER_
        * m4/gnulib-common.m4 (gl_COMMON): Create a more-appropriately
        named alias for __attribute__((__unused__)).
diff --git a/MODULES.html.sh b/MODULES.html.sh
index 9d5664a..7f079d3 100755
--- a/MODULES.html.sh
+++ b/MODULES.html.sh
@@ -2000,6 +2000,7 @@ func_all_modules ()
   func_module func
   func_module inline
   func_module longlong
+  func_module va-args
   func_module vararrays
   func_end_table

diff --git a/m4/va-args.m4 b/m4/va-args.m4
new file mode 100644
index 0000000..12d099b
--- /dev/null
+++ b/m4/va-args.m4
@@ -0,0 +1,25 @@
+# va-args.m4 serial 1
+dnl Copyright (C) 2009 Free Software Foundation, Inc.
+dnl This file is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
+
+dnl Test for variadic macro support.
+dnl Define HAVE_VA_ARGS if macros can use __VA_ARGS__.
+AC_DEFUN([gl_VA_ARGS],
+[
+  AC_CACHE_CHECK([whether the preprocessor allows variadic macros],
+    [gl_cv_c_va_args],
+    [AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
+       #include <stdio.h>
+       #define a(func, arg, ...) func (arg, __VA_ARGS__)
+       #define b(...) a (__VA_ARGS__)
+      ]], [[b (printf, "%s", "test");]])],
+      [gl_cv_c_va_args=yes], [gl_cv_c_va_args=no])
+    ])
+  if test $gl_cv_c_va_args = yes; then
+    AC_DEFINE([HAVE_VA_ARGS], [1],
+      [Define to 1 if the preprocessor supports variadic macros and
+       __VA_ARGS__.])
+  fi
+])
diff --git a/modules/va-args b/modules/va-args
new file mode 100644
index 0000000..79fb163
--- /dev/null
+++ b/modules/va-args
@@ -0,0 +1,20 @@
+Description:
+Detect whether the preprocessor supports C99 variadic macros and __VA_ARGS__.
+
+Files:
+m4/va-args.m4
+
+Depends-on:
+
+configure.ac:
+gl_VA_ARGS
+
+Makefile.am:
+
+Include:
+
+License:
+LGPL
+
+Maintainer:
+Eric Blake
-- 
1.6.4.2


reply via email to

[Prev in Thread] Current Thread [Next in Thread]