Commit Graph

29 Commits

Author SHA1 Message Date
drochner
93e3fc3cf6 thanks David, but the initialisation might not work, dependent on
the %union used -- remove the "const" instead (and add a "static"
which desn't seem to hurt)
2008-07-18 14:25:37 +00:00
dsl
6889d181fd groff puts this code through g++ which is rather happier if we give
yyvalzero an initialiser.
2008-07-18 09:57:15 +00:00
drochner
f2e25e0cba fix a longstanding bug, from Otto Moerbeck:
if we're reducing a rule that has an empty
right hand side and the yacc stackpointer is pointing at the very
end of the allocated stack, we end up accessing the stack out of
bounds by the implicit $$ = $1 action

do it a bit differently than in Openbsd: avoid pulling in <string.h>
because this is not compatible with wacky namespace games we do in libc
2008-07-17 16:28:14 +00:00
christos
8d1d34adc0 - ansi prototypes
- sprinkle static
No functional change (just smaller binary because of unused functions)
2006-05-24 18:01:43 +00:00
agc
89aaa1bb64 Move UCB-licensed code from 4-clause to 3-clause licence.
Patches provided by Joel Baker in PR 22365, verified by myself.
2003-08-07 11:13:06 +00:00
kristerw
4786f258bd Make yacc emit plain ANSI C prototypes instead of __P() wrapped ones.
Per discussion on tech-toolchain.
2003-01-05 21:38:50 +00:00
tv
e413f98bb4 In the generated C file, don't assume that <sys/cdefs.h> exists. Instead,
imply it with the <stdlib.h> include already present in the file, and
provide a compatibility definition for __P().
2002-01-31 21:01:15 +00:00
tv
2bf5ae19a1 Use __P((void)) for the function *definitions* of yygrowstack() and yyparse()
(not just their declarations) to make newer C++ compilers happy with the
output.  (Needed to make yacc produce less iffy code for src/tools/groff.)
2002-01-30 20:37:59 +00:00
christos
e670f72960 move yyparse prototype higher up, so that it is available to embedded c
code in the .y file.
2001-02-04 17:45:06 +00:00
jdolecek
0e4f8029c1 Make the generated parse tables const, so that the data are pushed
to text segment. The difference is quite significant - for example,
the tables are about 20K for gawk, 40K for nawk, couple of KB for /bin/sh.
2001-01-23 22:31:40 +00:00
jdolecek
b6fcf9e157 make data arrays in skeleton.c const 2001-01-23 15:35:01 +00:00
explorer
e32bc6b6c4 Use
const char *yyname[] = {...};
	const char *yyrule[] = {...};
rather than
	char *yyname[] = {...};
	char *yyrule[] = {...};

to prevent warnings about
	initialization discards `const' from pointer target type
when the output of yacc is compiled with a picky warning level.
2000-06-07 23:54:17 +00:00
explorer
7e9d7f75aa make change to the yacc output bits, not to the yacc binary bits 1999-10-29 16:41:51 +00:00
explorer
3cdbacc45a defined(__NetBSD__) && defined(__RCSID) 1999-10-29 16:35:46 +00:00
explorer
2e74cdd712 Only use __RCSID() if defined(__NetBSD__) so the yacc output files can
be used on non-NetBSD platforms, too.
1999-10-27 20:28:11 +00:00
lukem
2653d455ad fix .Nm usage, don't geenrate register in skeleton code 1997-10-20 03:41:12 +00:00
christos
6dea7d9ed2 Fix another gcc warning. 1997-09-26 15:14:08 +00:00
perry
9f1056ccbf Major modernization.
1) register variables have been killed, except for the ones in the
   generated skeleton (which should probably also be killed soon).
2) __P(())ified prototypes for all functions.
3) new style __RCSID's, and #include <sys/cdefs.h>'s.
4) all warnings generated with WARNS=1 (i.e. all warnings you get from
   gcc with -Wall -Wstrict-prototypes -Wmissing-prototypes) have been
   fixed, although not always in the best possible way.

in particular on #4, in a couple of places I got "control reaches end
of non-void function" errors, and sadly __dead doesn't seem to really
work, so I inserted a couple of exit() calls in strategic
places. These should be nuked if someone can get __dead to Do The
Right Thing.

There were also a couple of places where "while (foo = bar)" things
cropped up and I didn't do the best conceivable thing, but I usually
did.

These fixes should probably go back to the byacc maintainers.
1997-07-25 16:46:27 +00:00
christos
f8c7b1919f Kill warnings in skeleton for gcc -Wall 1997-06-18 19:08:05 +00:00
mrg
65e7d88ab1 cast realloc() calls to shutup c++ warnings 1996-03-25 00:36:18 +00:00
jtc
62bdd99390 Sync with 4.4lite2 1996-03-19 03:21:27 +00:00
jtc
8f3d20ea80 Added `extern "C"' to getenv() declaration when compiling with C++. 1996-03-19 01:59:27 +00:00
jtc
27cbf79a35 define YYLEX and YYEMPTY macros, as expected by some parsers written for bison 1996-03-05 01:07:55 +00:00
jtc
1a86f1c724 Revert last change, it seems that a lot of software (including our own
lint) uses yydebug even when YYDEBUG is not defined.
1995-09-07 17:34:04 +00:00
jtc
67c6c5cc72 don't define yydebug unless YYDEBUG is also defined; PR #1402 1995-08-24 00:45:23 +00:00
jtc
daa1856881 Clean up generated parser so Lint and Gcc -Wall are happy.
Fix from Thorsten Lockert.
1993-12-21 18:45:32 +00:00
mycroft
e9d867ef50 Add RCS identifiers. 1993-08-01 17:54:45 +00:00
cgd
837392081c update to version 1.9 of Berkeley yacc, from vangogh 1993-05-28 12:30:03 +00:00
cgd
61f282557f initial import of 386bsd-0.1 sources 1993-03-21 09:45:37 +00:00