glr2.cc: remove C-style casts

* data/skeletons/glr2.cc: here.
This commit is contained in:
Valentin Tolmer
2020-09-09 17:01:21 +02:00
committed by Akim Demaille
parent b7e2cac2aa
commit 1c5b05ad31
2 changed files with 5 additions and 21 deletions

View File

@@ -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_;