diff options
author | Valentin Tolmer <valentin.tolmer@gmail.com> | 2020-09-09 17:01:21 +0200 |
---|---|---|
committer | Akim Demaille <akim.demaille@gmail.com> | 2020-09-12 14:10:21 +0200 |
commit | 1c5b05ad31f9a1572a370c42b827e2a8bd641736 (patch) | |
tree | 2a8a61411e15321ac69cf4981ff2cd19173a5c6a | |
parent | b7e2cac2aaee433415209ac65092425164eccd76 (diff) | |
download | bison-1c5b05ad31f9a1572a370c42b827e2a8bd641736.tar.gz |
glr2.cc: remove C-style casts
* data/skeletons/glr2.cc: here.
-rw-r--r-- | TODO | 8 | ||||
-rw-r--r-- | data/skeletons/glr2.cc | 18 |
2 files changed, 5 insertions, 21 deletions
@@ -165,14 +165,6 @@ 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 \ diff --git a/data/skeletons/glr2.cc b/data/skeletons/glr2.cc index f115dcc0..39eb8b36 100644 --- a/data/skeletons/glr2.cc +++ b/data/skeletons/glr2.cc @@ -144,14 +144,6 @@ b4_percent_code_get([[requires]])[ ]b4_cast_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 \ @@ -444,7 +436,7 @@ m4_define([b4_lhs_value], # ----------------------------- # See README. m4_define([b4_rhs_data], -[((yyGLRStackItem const *)yyvsp)@{YYFILL (b4_subtract([$2], [$1]))@}.getState()]) +[(static_cast<yyGLRStackItem const *>(yyvsp))@{YYFILL (b4_subtract([$2], [$1]))@}.getState()]) # b4_rhs_value(RULE-LENGTH, POS, SYMBOL-NUM, [TYPE]) @@ -1262,20 +1254,20 @@ struct yyGLRStackItem { yyGLRState& getState() { YYDASSERT(isState()); - return *(yyGLRState*)&raw_; + return *reinterpret_cast<yyGLRState*>(&raw_); } const yyGLRState& getState() const { YYDASSERT(isState()); - return *(yyGLRState*)&raw_; + return *reinterpret_cast<const yyGLRState*>(&raw_); } yySemanticOption& getOption() { YYDASSERT(!isState()); - return *(yySemanticOption*)&raw_; + return *reinterpret_cast<yySemanticOption*>(&raw_); } const yySemanticOption& getOption() const { YYDASSERT(!isState()); - return *(yySemanticOption*)&raw_; + return *reinterpret_cast<const yySemanticOption*>(&raw_); } bool isState() const { return isState_; |