]> git.saurik.com Git - bison.git/blobdiff - data/c.m4
POSIX: warn if %prec's token was not defined.
[bison.git] / data / c.m4
index ced2b1e2b399a38d1c3c39725b1e4f43a8f20427..518f8c0db693ef87e9f5757b273a3fcbfba3d83d 100644 (file)
--- a/data/c.m4
+++ b/data/c.m4
@@ -1,7 +1,7 @@
                                                             -*- Autoconf -*-
 
 # C M4 Macros for Bison.
                                                             -*- Autoconf -*-
 
 # C M4 Macros for Bison.
-# Copyright (C) 2002, 2004, 2005, 2006, 2007, 2008 Free Software
+# Copyright (C) 2002, 2004, 2005, 2006, 2007, 2008-2009 Free Software
 # Foundation, Inc.
 
 # This program is free software: you can redistribute it and/or modify
 # Foundation, Inc.
 
 # This program is free software: you can redistribute it and/or modify
@@ -90,7 +90,7 @@ b4_parse_param)
 # the formal name to FORMAL, and evaluating the BODY.
 m4_define([b4_parse_param_for],
 [m4_foreach([$1_$2], m4_defn([b4_parse_param]),
 # the formal name to FORMAL, and evaluating the BODY.
 m4_define([b4_parse_param_for],
 [m4_foreach([$1_$2], m4_defn([b4_parse_param]),
-[m4_pushdef([$1], m4_fst($1_$2))dnl
+[m4_pushdef([$1], m4_unquote(m4_car($1_$2)))dnl
 m4_pushdef([$2], m4_shift($1_$2))dnl
 $3[]dnl
 m4_popdef([$2])dnl
 m4_pushdef([$2], m4_shift($1_$2))dnl
 $3[]dnl
 m4_popdef([$2])dnl
@@ -133,6 +133,8 @@ m4_define([b4_int_type],
 m4_define([b4_int_type_for],
 [b4_int_type($1_min, $1_max)])
 
 m4_define([b4_int_type_for],
 [b4_int_type($1_min, $1_max)])
 
+
+
 ## ---------##
 ## Values.  ##
 ## ---------##
 ## ---------##
 ## Values.  ##
 ## ---------##
@@ -144,6 +146,8 @@ m4_define([b4_int_type_for],
 m4_define([b4_null], [0])
 
 
 m4_define([b4_null], [0])
 
 
+
+
 ## ------------------------- ##
 ## Assigning token numbers.  ##
 ## ------------------------- ##
 ## ------------------------- ##
 ## Assigning token numbers.  ##
 ## ------------------------- ##
@@ -160,7 +164,7 @@ m4_define([b4_token_define],
 # -------------------------------------------------------
 # Output the definition of the tokens (if there are) as #defines.
 m4_define([b4_token_defines],
 # -------------------------------------------------------
 # Output the definition of the tokens (if there are) as #defines.
 m4_define([b4_token_defines],
-[m4_if([$@], [[]], [],
+[m4_if([$#$1], [1], [],
 [/* Tokens.  */
 m4_map([b4_token_define], [$@])])
 ])
 [/* Tokens.  */
 m4_map([b4_token_define], [$@])])
 ])
@@ -177,7 +181,7 @@ m4_define([b4_token_enum],
 # -----------------------------------------------------
 # Output the definition of the tokens (if there are) as enums.
 m4_define([b4_token_enums],
 # -----------------------------------------------------
 # Output the definition of the tokens (if there are) as enums.
 m4_define([b4_token_enums],
-[m4_if([$@], [[]], [],
+[m4_if([$#$1], [1], [],
 [/* Tokens.  */
 #ifndef YYTOKENTYPE
 # define YYTOKENTYPE
 [/* Tokens.  */
 #ifndef YYTOKENTYPE
 # define YYTOKENTYPE
@@ -248,9 +252,8 @@ $1 (b4_c_ansi_formals(m4_shift2($@)))[]dnl
 # --------------------------------------
 # Output the arguments ANSI-C definition.
 m4_define([b4_c_ansi_formals],
 # --------------------------------------
 # Output the arguments ANSI-C definition.
 m4_define([b4_c_ansi_formals],
-[m4_case([$@],
-        [],   [void],
-        [[]], [void],
+[m4_if([$#], [0], [void],
+       [$#$1], [1], [void],
               [m4_map_sep([b4_c_ansi_formal], [, ], [$@])])])
 
 m4_define([b4_c_ansi_formal],
               [m4_map_sep([b4_c_ansi_formal], [, ], [$@])])])
 
 m4_define([b4_c_ansi_formal],