* data/yacc.c (m4_int_type): New.
authorAkim Demaille <akim@epita.fr>
Thu, 24 Oct 2002 10:01:52 +0000 (10:01 +0000)
committerAkim Demaille <akim@epita.fr>
Thu, 24 Oct 2002 10:01:52 +0000 (10:01 +0000)
* data/c.m4 (m4_int_type): Don't use yysigned_char, but `signed
char' as only yacc.c wants K&R portability.
* data/glr.c (yysigned_char): Remove.
* data/lalr1.cc: Rename the trailing b4_name as b4_parser_class_name.
Reported by Quoc Peyrot.

ChangeLog
THANKS
data/c.m4
data/glr.c
data/lalr1.cc
data/yacc.c

index ee4cec2..cc9da64 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,12 @@
+2002-10-24  Akim Demaille  <akim@epita.fr>
+
+       * data/yacc.c (m4_int_type): New.
+       * data/c.m4 (m4_int_type): Don't use yysigned_char, but `signed
+       char' as only yacc.c wants K&R portability.
+       * data/glr.c (yysigned_char): Remove.
+       * data/lalr1.cc: Rename the trailing b4_name as b4_parser_class_name.
+       Reported by Quoc Peyrot.
+
 2002-10-23  Paul Eggert  <eggert@twinsun.com>
 
        * src/main.c (main): With --trace=time, report times even if a
diff --git a/THANKS b/THANKS
index 20cff39..2c59995 100644 (file)
--- a/THANKS
+++ b/THANKS
@@ -48,6 +48,7 @@ Paul Hilfinger            Hilfinger@CS.Berkeley.EDU
 Per Allansson             per@appgate.com
 Peter Hámorský            hamo@upjs.sk
 Piotr Gackiewicz          gacek@intertel.com.pl
+Quoc Peyrot               chojin@lrde.epita.fr
 R Blake                   blakers@mac.com
 Raja R Harinath           harinath@cs.umn.edu
 Richard Stallman          rms@gnu.org
index b513df5..785f9e1 100644 (file)
--- a/data/c.m4
+++ b/data/c.m4
@@ -65,7 +65,7 @@ m4_define([b4_ints_in],
 # MIN to MAX (included).
 m4_define([b4_int_type],
 [m4_if(b4_ints_in($@,      [0],   [255]), [1], [unsigned char],
-       b4_ints_in($@,   [-128],   [127]), [1], [yysigned_char],
+       b4_ints_in($@,   [-128],   [127]), [1], [signed char],
 
        b4_ints_in($@,      [0], [65535]), [1], [unsigned short],
        b4_ints_in($@, [-32768], [32767]), [1], [short],
@@ -74,6 +74,7 @@ m4_define([b4_int_type],
 
                                               [int])])
 
+
 # b4_int_type_for(NAME)
 # ---------------------
 # Return the smallest int type able to handle numbers ranging from
index eb49544..77a35af 100644 (file)
@@ -207,12 +207,6 @@ static YYLTYPE yyloc_default;
 #  define yyfalse 0
 #endif
 
-#if defined (__STDC__) || defined (__cplusplus)
-   typedef signed char yysigned_char;
-#else
-   typedef short yysigned_char;
-#endif
-
 /*-----------------.
 | GCC extensions.  |
 `-----------------*/
index 96325b0..b7b64c3 100644 (file)
@@ -775,7 +775,7 @@ const int yy::b4_parser_class_name::ntokens_ = b4_tokens_number;
 const int yy::b4_parser_class_name::initdepth_ = b4_stack_depth_init;
 
 const unsigned yy::b4_parser_class_name::user_token_number_max_ = b4_user_token_number_max;
-const yy::b4_parser_class_name::TokenNumberType yy::b4_name::undef_token_ = b4_undef_token_number;
+const yy::b4_parser_class_name::TokenNumberType yy::b4_parser_class_name::undef_token_ = b4_undef_token_number;
 
 b4_epilogue
 dnl
index 29e13e9..11edba3 100644 (file)
@@ -47,6 +47,28 @@ m4_ifdef([b4_parse_param],
           b4_parse_param)])
 
 
+
+## ------------ ##
+## Data Types.  ##
+## ------------ ##
+
+# b4_int_type(MIN, MAX)
+# ---------------------
+# Return the smallest int type able to handle numbers ranging from
+# MIN to MAX (included).  We overwrite the version from c.m4 which relies
+# on `signed char' which is not portable to old K&R compilers.
+m4_define([b4_int_type],
+[m4_if(b4_ints_in($@,      [0],   [255]), [1], [unsigned char],
+       b4_ints_in($@,   [-128],   [127]), [1], [yysigned_char],
+
+       b4_ints_in($@,      [0], [65535]), [1], [unsigned short],
+       b4_ints_in($@, [-32768], [32767]), [1], [short],
+
+       m4_eval([0 <= $1]),                [1], [unsigned int],
+
+                                              [int])])
+
+
 ## ----------------- ##
 ## Semantic Values.  ##
 ## ----------------- ##