]> git.saurik.com Git - bison.git/commit
c++: use nullptr for C++11.
authorAkim Demaille <akim@lrde.epita.fr>
Fri, 30 Mar 2012 13:50:45 +0000 (15:50 +0200)
committerAkim Demaille <akim@lrde.epita.fr>
Sat, 31 Mar 2012 09:12:28 +0000 (11:12 +0200)
commitef51bfa744db744dc4b2eff1ba9d6334c807f8e6
treea265a513de130f008d695bfe4c4fd8b5233aacbb
parente85056ef5fe3ddf7563a217b941c27de7d7b3cb5
c++: use nullptr for C++11.

C++11 introduces "nullptr" which plays the role of C's NULL, in
replacement of "0".  Fix the C++ skeletons to avoid warnings about
uses of "0" in place of "nullptr", and improve C skeletons to also use
this "nullptr" when compiled with a C++11 compiler.

* configure.ac: More C++ warnings.
* NEWS (2.5.1): Document this.
* data/c++.m4, data/c.m4 (b4_null_define): New.
(b4_null): Use YY_NULL instead of 0.
* data/glr.c, data/lalr1.cc, data/location.cc, data/yacc.c:
Call b4_null_define/b4_null where appropriate.
Use YY_NULL instead of NULL.
* data/location.cc (initialize): Accept a default argument,
YY_NULL.
* tests/actions.at, tests/calc.at: Adjust.

* data/glr.c, lib/libiberty.h, src/system.h (__attribute__):
Do not disable it when __STRICT_ANSI__ is defined, as, for
instance, it disables the __attribute__((unused)) which
protects us from some compiler warnings.
This was already done elsewhere in Bison, in 2001, see
4a0d89369599a2cea01f4fbdf791f426a02cb5a3.
* tests/regression.at: Adjust output.
13 files changed:
NEWS
configure.ac
data/c++.m4
data/c.m4
data/glr.c
data/lalr1.cc
data/location.cc
data/yacc.c
lib/libiberty.h
src/system.h
tests/actions.at
tests/calc.at
tests/regression.at