From f9bfc42aa704603fc3aeb18be00c78871569a0b4 Mon Sep 17 00:00:00 2001 From: "Joel E. Denny" Date: Thu, 10 Aug 2006 04:53:04 +0000 Subject: [PATCH] Clean up scanners a bit. * src/flex-scanner.h (FLEX_NO_OBSTACK): New macro that blocks obstack definitions so gcc won't warn when obstack_for_string is unused. * src/scan-code.l: config.h and system.h are already #include'd by scan-code-c.c, so get rid of them here. * src/scan-gram.l: Likewise. * src/scan-skel.l: Likewise, and use flex-scanner.h without obstack definitions rather than duplicating the rest of it. * src/scan-gram-c.c, scan-skel-c.c: #include "system.h". --- ChangeLog | 12 ++++++++++++ src/flex-scanner.h | 6 +++++- src/scan-code.l | 6 ++---- src/scan-gram-c.c | 1 + src/scan-gram.l | 3 --- src/scan-skel-c.c | 1 + src/scan-skel.l | 16 +++------------- 7 files changed, 24 insertions(+), 21 deletions(-) diff --git a/ChangeLog b/ChangeLog index 00db969a..178e103e 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,15 @@ +2006-08-10 Joel E. Denny + + Clean up scanners a bit. + * src/flex-scanner.h (FLEX_NO_OBSTACK): New macro that blocks obstack + definitions so gcc won't warn when obstack_for_string is unused. + * src/scan-code.l: config.h and system.h are already #include'd by + scan-code-c.c, so get rid of them here. + * src/scan-gram.l: Likewise. + * src/scan-skel.l: Likewise, and use flex-scanner.h without obstack + definitions rather than duplicating the rest of it. + * src/scan-gram-c.c, scan-skel-c.c: #include "system.h". + 2006-08-09 Joel E. Denny Suppress signed/unsigned comparison warnings for yycheck. diff --git a/src/flex-scanner.h b/src/flex-scanner.h index bf190afd..3e16234c 100644 --- a/src/flex-scanner.h +++ b/src/flex-scanner.h @@ -1,4 +1,4 @@ -/* Common parts between scan-code.l and scan-gram.l. +/* Common parts between scan-code.l, scan-gram.l, and scan-skel.l. Copyright (C) 2006 Free Software Foundation, Inc. @@ -59,6 +59,8 @@ int FLEX_PREFIX (lex_destroy) (void); STRING_FINISH also stores this string in LAST_STRING, which can be used, and which is used by STRING_FREE to free the last string. */ +#ifndef FLEX_NO_OBSTACK + static struct obstack obstack_for_string; #define STRING_GROW \ @@ -72,3 +74,5 @@ static struct obstack obstack_for_string; #define STRING_FREE \ obstack_free (&obstack_for_string, last_string) + +#endif diff --git a/src/scan-code.l b/src/scan-code.l index 4fc0664e..f4aa02cb 100644 --- a/src/scan-code.l +++ b/src/scan-code.l @@ -24,17 +24,15 @@ %option prefix="code_" outfile="lex.yy.c" %{ -#include -#include "system.h" - /* Work around a bug in flex 2.5.31. See Debian bug 333231 . */ #undef code_wrap #define code_wrap() 1 #define FLEX_PREFIX(Id) code_ ## Id -#include "complain.h" #include "flex-scanner.h" + +#include "complain.h" #include "reader.h" #include "getargs.h" #include diff --git a/src/scan-gram-c.c b/src/scan-gram-c.c index 8f12e2c5..6bacac62 100644 --- a/src/scan-gram-c.c +++ b/src/scan-gram-c.c @@ -1,2 +1,3 @@ #include +#include "system.h" #include "scan-gram.c" diff --git a/src/scan-gram.l b/src/scan-gram.l index eb5ee55a..8193ddf2 100644 --- a/src/scan-gram.l +++ b/src/scan-gram.l @@ -24,9 +24,6 @@ %option prefix="gram_" outfile="lex.yy.c" %{ -#include -#include "system.h" - /* Work around a bug in flex 2.5.31. See Debian bug 333231 . */ #undef gram_wrap diff --git a/src/scan-skel-c.c b/src/scan-skel-c.c index 1a047cf2..fb1aea61 100644 --- a/src/scan-skel-c.c +++ b/src/scan-skel-c.c @@ -1,2 +1,3 @@ #include +#include "system.h" #include "scan-skel.c" diff --git a/src/scan-skel.l b/src/scan-skel.l index d16c6ba9..e787d288 100644 --- a/src/scan-skel.l +++ b/src/scan-skel.l @@ -29,7 +29,9 @@ #undef skel_wrap #define skel_wrap() 1 -#include "system.h" +#define FLEX_NO_OBSTACK +#define FLEX_PREFIX(Id) skel_ ## Id +#include "flex-scanner.h" #include #include @@ -40,19 +42,7 @@ #include "files.h" #include "scan-skel.h" -/* Pacify "gcc -Wmissing-prototypes" when flex 2.5.31 is used. */ int skel_lex (void); -int skel_get_lineno (void); -FILE *skel_get_in (void); -FILE *skel_get_out (void); -int skel_get_leng (void); -char *skel_get_text (void); -void skel_set_lineno (int); -void skel_set_in (FILE *); -void skel_set_out (FILE *); -int skel_get_debug (void); -void skel_set_debug (int); -int skel_lex_destroy (void); #define QPUTS(String) \ fputs (quotearg_style (c_quoting_style, String), yyout) -- 2.45.2