diff options
Diffstat (limited to 'clang/lib/Parse/ParseDecl.cpp')
-rw-r--r-- | clang/lib/Parse/ParseDecl.cpp | 42 |
1 files changed, 14 insertions, 28 deletions
diff --git a/clang/lib/Parse/ParseDecl.cpp b/clang/lib/Parse/ParseDecl.cpp index 78c3ab7..06f2c87 100644 --- a/clang/lib/Parse/ParseDecl.cpp +++ b/clang/lib/Parse/ParseDecl.cpp @@ -3288,17 +3288,6 @@ Parser::DiagnoseMissingSemiAfterTagDefinition(DeclSpec &DS, AccessSpecifier AS, return false; } -// Choose the apprpriate diagnostic error for why fixed point types are -// disabled, set the previous specifier, and mark as invalid. -static void SetupFixedPointError(const LangOptions &LangOpts, - const char *&PrevSpec, unsigned &DiagID, - bool &isInvalid) { - assert(!LangOpts.FixedPoint); - DiagID = diag::err_fixed_point_not_enabled; - PrevSpec = ""; // Not used by diagnostic - isInvalid = true; -} - /// ParseDeclarationSpecifiers /// declaration-specifiers: [C99 6.7] /// storage-class-specifier declaration-specifiers[opt] @@ -4275,27 +4264,24 @@ void Parser::ParseDeclarationSpecifiers( DiagID, Policy); break; case tok::kw__Accum: - if (!getLangOpts().FixedPoint) { - SetupFixedPointError(getLangOpts(), PrevSpec, DiagID, isInvalid); - } else { - isInvalid = DS.SetTypeSpecType(DeclSpec::TST_accum, Loc, PrevSpec, - DiagID, Policy); - } + assert(getLangOpts().FixedPoint && + "This keyword is only used when fixed point types are enabled " + "with `-ffixed-point`"); + isInvalid = DS.SetTypeSpecType(DeclSpec::TST_accum, Loc, PrevSpec, DiagID, + Policy); break; case tok::kw__Fract: - if (!getLangOpts().FixedPoint) { - SetupFixedPointError(getLangOpts(), PrevSpec, DiagID, isInvalid); - } else { - isInvalid = DS.SetTypeSpecType(DeclSpec::TST_fract, Loc, PrevSpec, - DiagID, Policy); - } + assert(getLangOpts().FixedPoint && + "This keyword is only used when fixed point types are enabled " + "with `-ffixed-point`"); + isInvalid = DS.SetTypeSpecType(DeclSpec::TST_fract, Loc, PrevSpec, DiagID, + Policy); break; case tok::kw__Sat: - if (!getLangOpts().FixedPoint) { - SetupFixedPointError(getLangOpts(), PrevSpec, DiagID, isInvalid); - } else { - isInvalid = DS.SetTypeSpecSat(Loc, PrevSpec, DiagID); - } + assert(getLangOpts().FixedPoint && + "This keyword is only used when fixed point types are enabled " + "with `-ffixed-point`"); + isInvalid = DS.SetTypeSpecSat(Loc, PrevSpec, DiagID); break; case tok::kw___float128: isInvalid = DS.SetTypeSpecType(DeclSpec::TST_float128, Loc, PrevSpec, |