svn commit: r235723 - in head: contrib/byacc tools/regression/usr.bin/yacc usr.bin/yacc usr.bin/yacc/test

Garrett Cooper yanegomi at gmail.com
Tue May 22 14:44:36 UTC 2012


On Tue, May 22, 2012 at 6:32 AM, Dimitry Andric <dim at freebsd.org> wrote:
> On 2012-05-22 12:22, Dag-Erling Smørgrav wrote:
>> Baptiste Daroussin <bapt at FreeBSD.org> writes:
>>> Log:
>>>   Import byacc from invisible island, it brings us lots of compatibilities with
>>>   bison, keeping full compatibility with our previous yacc
>>>   implementation.
>>
>> This commit broke the build, in large part because Baptiste tested with
>> Clang instead of GCC, and GCC generates a warning when compiling the
>> generated code.
>
> It doesn't seem to compile with clang either, at least not as of r235777:
>
> /usr/src/bin/expr/expr.y:291:2: error: implicit declaration of function 'yyparse' is invalid in C99 [-Werror,-Wimplicit-function-declaration]
>        yyparse();
>        ^
>
> Note that it looks like the expr.c file is still generated with the
> system yacc, so I'm not entirely sure what's going on here...

    I mentioned it in a private email, but the issue is that the yacc
used during the build seems to be coming from the base system (despite
the fact that it's a bootstrap tool). Once I installed yacc onto my
stable-9 system at work, all of the changes that should have been
checked in with this commit became apparent.
Thanks,
-Garrett

1022 .if ${BOOTSTRAPPING} < 900006
1023 _lex=           usr.bin/lex
1024 _yacc=          usr.bin/yacc
1025 .endif
# ...
1068 bootstrap-tools:
1069 .for _tool in \
1070     ${_clang_tblgen} \
1071     ${_kerberos5_bootstrap_tools} \
1072     ${_dtrace_tools} \
1073     ${_strfile} \
1074     ${_gperf} \
1075     ${_groff} \
1076     ${_ar} \
1077     ${_dtc} \
1078     ${_awk} \
1079     usr.bin/lorder \
1080     usr.bin/makewhatis \
1081     ${_mklocale} \
1082     usr.bin/rpcgen \
1083     ${_sed} \
1084     ${_lex} \
1085     ${_yacc} \


More information about the svn-src-head mailing list