]> git.saurik.com Git - bison.git/commitdiff
* data/c.m4 (b4_c_function_def): Look at __C99_FUNC__, not at
authorPaul Eggert <eggert@cs.ucla.edu>
Thu, 13 Oct 2005 06:23:54 +0000 (06:23 +0000)
committerPaul Eggert <eggert@cs.ucla.edu>
Thu, 13 Oct 2005 06:23:54 +0000 (06:23 +0000)
__STDC_VERSION__, as IBM cc 7.0 doesn't define the latter either.
Problem reported by John P. Hartmann.
* data/yacc.c (YYMODERN_C): Likewise.  Don't define if the user has
already defined it.

ChangeLog
data/c.m4
data/yacc.c

index d615808d9bbe4b82ae854d4c47adae2e7cc14481..5f2c3086050f3d558aad12319f9d056ab3a238a2 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,11 @@
+2005-10-12  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * data/c.m4 (b4_c_function_def): Look at __C99_FUNC__, not at
+       __STDC_VERSION__, as IBM cc 7.0 doesn't define the latter either.
+       Problem reported by John P. Hartmann.
+       * data/yacc.c (YYMODERN_C): Likewise.  Don't define if the user has
+       already defined it.
+
 2005-10-12  Akim Demaille  <akim@epita.fr>
 
        * src/parse-gram.y (version_check): Exit 63 to please missing
@@ -14,7 +22,7 @@
        that xlc complains about.
        * src/scan-skel.l (skel_wrap): Likewise.
        * data/c.m4 (b4_c_function_def): Look at __STDC_VERSION__ as well
-       as __STDC__, as IBM cc defines the former but not the latter.
+       as __STDC__.
        * data/yacc.c (YYMODERN_C): New macro, which also looks at
        __STDC_VERSION__.  Use it everywhere instead of looking at
        __STDC__ and __cplusplus.
        Reported by Charles-Henry de Boysson.
 
        * tests/calc.at (_AT_CHECK_CALC, _AT_CHECK_CALC_ERROR): Don't
-       check the length of the traces when %glr.
+       check the length of the traces when %glr.
        (_AT_CHECK_CALC_ERROR): Also skip `^Stack' lines, coming from
        GLR's traces.
        (AT_CHECK_CALC_LALR, AT_CHECK_CALC_GLR): New.
        struct lbitset_struct, struct bitset_stats_struct): New types.
        All uses of struct bitset_struct changed to union bitset_union,
        etc.
-       * lib/abitset.c (struct abitset_struct, abitset,
+       * lib/abitset.c (struct abitset_struct, abitset,
        struct bitset_struct): Remove.
        * lib/bitset_stats.c (struct bitset_stats_struct, bitset_stats,
        struct bitset_struct): Remove.
 
 2002-06-28  Akim Demaille  <akim@epita.fr>
 
-       * src/reader.h: s/grammer_current_rule_merge_set/grammar_.../.
+       * src/reader.h: s/grammer_current_rule_merge_set/grammar_.../.
        * src/conflicts.c (conflicts_total_count): `i' is unsigned, to
        pacify GCC.
        * src/output.c (save_row): Initialize all the variables to pacify GCC.
        * src/getargs.c:
 
        * src/symlist.h:  Add dprec and merger fields to symbol_list_s.
-       * src/symlist.c (symbol_list_new): Initialize dprec and merger fields.
+       * src/symlist.c (symbol_list_new): Initialize dprec and merger fields.
 
        Originally 2002-06-16  Paul Hilfinger  <Hilfinger@CS.Berkeley.EDU>
 
 
 2002-01-20  Marc Autret  <marc@gnu.org>
 
-       * src/system.h: Need to define __attribute__ away for non-GCC
-       compilers as well (i.e. the vendor C compiler).
+       * src/system.h: Need to define __attribute__ away for non-GCC
+       compilers as well (i.e., the vendor C compiler).
        Suggested by Albert Chin-A-Young.
 
 2002-01-11  Tim Van Holder  <tim.van.holder@pandora.be>
 
        * src/warshall.c (bitmatrix_print): New.
        (TC): Use it.
-       When performing a transitive closure R(i, j) && R(j, k) => R(i, k),
+       When performing a transitive closure R(i, j) && R(j, k) => R(i, k),
        j must be the outer loop.
        * tests/regression.at (Broken Closure): New.
 
 
        * src/output.c (output): Delete call to reader_output_yylsp.
        * src/reader.c (reader): Likewise.
-       * src/reader.h: Delete declaration of reader_output_yylsp.
+       * src/reader.h: Delete declaration of reader_output_yylsp.
 
 2001-09-02  Marc Autret  <autret_m@epita.fr>
 
index c2d501923f5a1415a2bb0c8d47dd39d4f330d0f3..5285fcdcc6c08476d8606cf9d0ca54862685154d 100644 (file)
--- a/data/c.m4
+++ b/data/c.m4
@@ -232,7 +232,7 @@ m4_define([b4_token_enums_defines],
 # ----------------------------------------------------------
 # Declare the function NAME.
 m4_define([b4_c_function_def],
-[#if defined (__STDC__) || defined (__STDC_VERSION__) || defined (__cplusplus)
+[#if defined (__STDC__) || defined (__C99__FUNC__) || defined (__cplusplus)
 b4_c_ansi_function_def($@)
 #else
 $2
index b0d051e2058325a8c5c4b7b5db143fcda23b5d89..43e0f920752a1fb6d852af4d694ab1a12aefbfbc 100644 (file)
@@ -219,15 +219,17 @@ typedef struct YYLTYPE
 /* Line __line__ of yacc.c.  */
 b4_syncline([@oline@], [@ofile@])[
 
-/* Define YYMODERN_C if this compiler supports C89 or better.  Some
-   modern compilers (e.g., IBM xlc 7.0) don't define __STDC__ for
-   pedantic reasons, but they define __STDC_VERSION__ so check that
-   as well.  Consider a C++ compiler to be modern if it defines
-   __cplusplus.  */
-#if defined (__STDC__) || defined (__STDC_VERSION__) || defined (__cplusplus)
-# define YYMODERN_C 1
-#else
-# define YYMODERN_C 0
+/* Define YYMODERN_C if this compiler supports C89 or better.  If
+   __STDC__ is defined, the compiler is modern.  IBM xlc 7.0 when run
+   as 'cc' doesn't define __STDC__ (or __STDC_VERSION__) for pedantic
+   reasons, but it defines __C99__FUNC__ so check that as well.
+   Consider a C++ compiler to be modern if it defines __cplusplus.  */
+#ifndef YYMODERN_C
+# if defined (__STDC__) || defined (__C99__FUNC__) || defined (__cplusplus)
+#  define YYMODERN_C 1
+# else
+#  define YYMODERN_C 0
+# endif
 #endif
 
 #ifndef YYSIZE_T