From f7bad410d2b46e687ef3b53d18f1948ba88ebc61 Mon Sep 17 00:00:00 2001 From: Andreas Schwab Date: Wed, 25 Jun 2008 00:59:18 +0200 Subject: [PATCH] Don't test whether compound literals can be used as initializers. --- ChangeLog | 5 +++++ m4/getdate.m4 | 12 +++++++++--- 2 files changed, 14 insertions(+), 3 deletions(-) diff --git a/ChangeLog b/ChangeLog index 941e15fb54..02552e6a3d 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2008-06-24 Andreas Schwab + + * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Don't test whether compound + literals can be used as initializers for global variables. + 2008-06-23 Eric Blake Make gnulib-cache.m4 easier to diff. diff --git a/m4/getdate.m4 b/m4/getdate.m4 index d160329acc..c335243e99 100644 --- a/m4/getdate.m4 +++ b/m4/getdate.m4 @@ -1,13 +1,19 @@ -# getdate.m4 serial 12 -dnl Copyright (C) 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc. +# getdate.m4 serial 13 +dnl Copyright (C) 2002-2006, 2008 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 Define HAVE_COMPOUND_LITERALS if the C compiler supports compound literals +dnl as in ISO C99. +dnl Note that compound literals such as (struct s) { 3, 4 } can be used for +dnl initialization of stack-allocated variables, but are not constant +dnl expressions and therefore cannot be used as initializer for global or +dnl static variables (even though gcc supports this in pre-C99 mode). AC_DEFUN([gl_C_COMPOUND_LITERALS], [ AC_CACHE_CHECK([for compound literals], gl_cv_compound_literals, - [AC_TRY_COMPILE([struct s { int i, j; }; struct s s = (struct s) { 1, 2 };], + [AC_TRY_COMPILE([struct s { int i, j; };], [struct s t = (struct s) { 3, 4 }; if (t.i != 0) return 0;], gl_cv_compound_literals=yes, -- 2.30.2