summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorValentin Tolmer <valentin.tolmer@gmail.com>2020-09-09 17:01:21 +0200
committerAkim Demaille <akim.demaille@gmail.com>2020-09-12 14:10:21 +0200
commit1c5b05ad31f9a1572a370c42b827e2a8bd641736 (patch)
tree2a8a61411e15321ac69cf4981ff2cd19173a5c6a
parentb7e2cac2aaee433415209ac65092425164eccd76 (diff)
downloadbison-1c5b05ad31f9a1572a370c42b827e2a8bd641736.tar.gz
glr2.cc: remove C-style casts
* data/skeletons/glr2.cc: here.
-rw-r--r--TODO8
-rw-r--r--data/skeletons/glr2.cc18
2 files changed, 5 insertions, 21 deletions
diff --git a/TODO b/TODO
index eecde20a..c9321ecb 100644
--- a/TODO
+++ b/TODO
@@ -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_;