mirror of
https://git.savannah.gnu.org/git/bison.git
synced 2026-03-20 17:53:02 +00:00
glr2.cc: avoid warnings about long long
* data/skeletons/glr2.cc: Disable the warning before triggering it.
This commit is contained in:
27
TODO
27
TODO
@@ -151,8 +151,35 @@ Line -1 and -3 should mention CATEGORIE, not CATEGORY.
|
|||||||
|
|
||||||
* Bison 3.8
|
* Bison 3.8
|
||||||
** Rewrite glr.cc
|
** Rewrite glr.cc
|
||||||
|
*** glr.c
|
||||||
Get rid of scaffolding in glr.c.
|
Get rid of scaffolding in glr.c.
|
||||||
|
|
||||||
|
*** pragmas in glr2.cc
|
||||||
|
Remove the pragmas that disable some warnings:
|
||||||
|
|
||||||
|
// This skeleton is based on C, yet compiles it as C++.
|
||||||
|
// So expect warnings about C style casts.
|
||||||
|
#if defined __clang__ && 306 <= __clang_major__ * 100 + __clang_minor__
|
||||||
|
# pragma clang diagnostic ignored "-Wold-style-cast"
|
||||||
|
#elif defined __GNUC__ && 406 <= __GNUC__ * 100 + __GNUC_MINOR__
|
||||||
|
# pragma GCC diagnostic ignored "-Wold-style-cast"
|
||||||
|
#endif
|
||||||
|
|
||||||
|
// On MacOS, PTRDIFF_MAX is defined as long long, which Clang's
|
||||||
|
// -pedantic reports as being a C++11 extension.
|
||||||
|
#if defined __APPLE__ && YY_CPLUSPLUS < 201103L \
|
||||||
|
&& defined __clang__ && 4 <= __clang_major__
|
||||||
|
# pragma clang diagnostic ignored "-Wc++11-long-long"
|
||||||
|
#endif
|
||||||
|
|
||||||
|
We should use clean C++ code.
|
||||||
|
|
||||||
|
*** namespaces in glr2.cc
|
||||||
|
StrongIndexAlias should be in the parser's namespace. Possibly even an
|
||||||
|
inner class.
|
||||||
|
|
||||||
|
|
||||||
|
* Chains
|
||||||
** Unit rules / Injection rules (Akim Demaille)
|
** Unit rules / Injection rules (Akim Demaille)
|
||||||
Maybe we could expand unit rules (or "injections", see
|
Maybe we could expand unit rules (or "injections", see
|
||||||
https://homepages.cwi.nl/~daybuild/daily-books/syntax/2-sdf/sdf.html), i.e.,
|
https://homepages.cwi.nl/~daybuild/daily-books/syntax/2-sdf/sdf.html), i.e.,
|
||||||
|
|||||||
@@ -162,6 +162,21 @@ b4_percent_code_get([[requires]])[
|
|||||||
]b4_cast_define[
|
]b4_cast_define[
|
||||||
]b4_null_define[
|
]b4_null_define[
|
||||||
|
|
||||||
|
// This skeleton is based on C, yet compiles it as C++.
|
||||||
|
// So expect warnings about C style casts.
|
||||||
|
#if defined __clang__ && 306 <= __clang_major__ * 100 + __clang_minor__
|
||||||
|
# pragma clang diagnostic ignored "-Wold-style-cast"
|
||||||
|
#elif defined __GNUC__ && 406 <= __GNUC__ * 100 + __GNUC_MINOR__
|
||||||
|
# pragma GCC diagnostic ignored "-Wold-style-cast"
|
||||||
|
#endif
|
||||||
|
|
||||||
|
// On MacOS, PTRDIFF_MAX is defined as long long, which Clang's
|
||||||
|
// -pedantic reports as being a C++11 extension.
|
||||||
|
#if defined __APPLE__ && YY_CPLUSPLUS < 201103L \
|
||||||
|
&& defined __clang__ && 4 <= __clang_major__
|
||||||
|
# pragma clang diagnostic ignored "-Wc++11-long-long"
|
||||||
|
#endif
|
||||||
|
|
||||||
template <typename Parameter>
|
template <typename Parameter>
|
||||||
class StrongIndexAlias
|
class StrongIndexAlias
|
||||||
{
|
{
|
||||||
@@ -228,22 +243,6 @@ class StrongIndexAlias
|
|||||||
std::ptrdiff_t value_;
|
std::ptrdiff_t value_;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
// This skeleton is based on C, yet compiles it as C++.
|
|
||||||
// So expect warnings about C style casts.
|
|
||||||
#if defined __clang__ && 306 <= __clang_major__ * 100 + __clang_minor__
|
|
||||||
# pragma clang diagnostic ignored "-Wold-style-cast"
|
|
||||||
#elif defined __GNUC__ && 406 <= __GNUC__ * 100 + __GNUC_MINOR__
|
|
||||||
# pragma GCC diagnostic ignored "-Wold-style-cast"
|
|
||||||
#endif
|
|
||||||
|
|
||||||
// On MacOS, PTRDIFF_MAX is defined as long long, which Clang's
|
|
||||||
// -pedantic reports as being a C++11 extension.
|
|
||||||
#if defined __APPLE__ && YY_CPLUSPLUS < 201103L \
|
|
||||||
&& defined __clang__ && 4 <= __clang_major__
|
|
||||||
# pragma clang diagnostic ignored "-Wc++11-long-long"
|
|
||||||
#endif
|
|
||||||
|
|
||||||
// Whether we are compiled with exception support.
|
// Whether we are compiled with exception support.
|
||||||
#ifndef YY_EXCEPTIONS
|
#ifndef YY_EXCEPTIONS
|
||||||
# if defined __GNUC__ && !defined __EXCEPTIONS
|
# if defined __GNUC__ && !defined __EXCEPTIONS
|
||||||
|
|||||||
Reference in New Issue
Block a user