Skip to content

Commit 37e6e47

Browse files
committed
change invalid constexpr name for an enum_select
1 parent 2a0c5e3 commit 37e6e47

File tree

3 files changed

+16
-13
lines changed

3 files changed

+16
-13
lines changed

clang/include/clang/Basic/DiagnosticASTKinds.td

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ let Component = "AST" in {
1111
// Constant expression diagnostics. These (and their users) belong in Sema.
1212
def note_expr_divide_by_zero : Note<"division by zero">;
1313
def note_constexpr_invalid_cast : Note<
14-
"%enum_select<CastKind>{%Reinterpret{reinterpret_cast}|%Dynamic{dynamic_cast}|"
14+
"%enum_select<ConstexprInvalidCastKind>{%Reinterpret{reinterpret_cast}|%Dynamic{dynamic_cast}|"
1515
"%ThisCastOrReinterpret{%select{this conversion|cast that performs the conversions "
1616
"of a reinterpret_cast}1}|%CastFrom{cast from %1}}0"
1717
" is not allowed in a constant expression"

clang/lib/AST/ByteCode/Interp.h

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2366,14 +2366,14 @@ static inline bool PtrPtrCast(InterpState &S, CodePtr OpPC, bool SrcIsVoidPtr) {
23662366
} else if (!S.getLangOpts().CPlusPlus26) {
23672367
const SourceInfo &E = S.Current->getSource(OpPC);
23682368
S.CCEDiag(E, diag::note_constexpr_invalid_cast)
2369-
<< diag::CastKind::CastFrom << "'void *'"
2369+
<< diag::ConstexprInvalidCastKind::CastFrom << "'void *'"
23702370
<< S.Current->getRange(OpPC);
23712371
}
23722372
} else {
23732373
const SourceInfo &E = S.Current->getSource(OpPC);
23742374
S.CCEDiag(E, diag::note_constexpr_invalid_cast)
2375-
<< diag::CastKind::ThisCastOrReinterpret << S.getLangOpts().CPlusPlus
2376-
<< S.Current->getRange(OpPC);
2375+
<< diag::ConstexprInvalidCastKind::ThisCastOrReinterpret
2376+
<< S.getLangOpts().CPlusPlus << S.Current->getRange(OpPC);
23772377
}
23782378

23792379
return true;
@@ -2738,7 +2738,8 @@ inline bool GetIntPtr(InterpState &S, CodePtr OpPC, const Descriptor *Desc) {
27382738

27392739
if (Desc)
27402740
S.CCEDiag(S.Current->getSource(OpPC), diag::note_constexpr_invalid_cast)
2741-
<< diag::CastKind::ThisCastOrReinterpret << S.getLangOpts().CPlusPlus;
2741+
<< diag::ConstexprInvalidCastKind::ThisCastOrReinterpret
2742+
<< S.getLangOpts().CPlusPlus;
27422743

27432744
S.Stk.push<Pointer>(static_cast<uint64_t>(IntVal), Desc);
27442745
return true;

clang/lib/AST/ExprConstant.cpp

Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -8104,12 +8104,13 @@ class ExprEvaluatorBase
81048104

81058105
bool VisitCXXReinterpretCastExpr(const CXXReinterpretCastExpr *E) {
81068106
CCEDiag(E, diag::note_constexpr_invalid_cast)
8107-
<< diag::CastKind::Reinterpret;
8107+
<< diag::ConstexprInvalidCastKind::Reinterpret;
81088108
return static_cast<Derived*>(this)->VisitCastExpr(E);
81098109
}
81108110
bool VisitCXXDynamicCastExpr(const CXXDynamicCastExpr *E) {
81118111
if (!Info.Ctx.getLangOpts().CPlusPlus20)
8112-
CCEDiag(E, diag::note_constexpr_invalid_cast) << diag::CastKind::Dynamic;
8112+
CCEDiag(E, diag::note_constexpr_invalid_cast)
8113+
<< diag::ConstexprInvalidCastKind::Dynamic;
81138114
return static_cast<Derived*>(this)->VisitCastExpr(E);
81148115
}
81158116
bool VisitBuiltinBitCastExpr(const BuiltinBitCastExpr *E) {
@@ -8834,7 +8835,7 @@ class LValueExprEvaluator
88348835

88358836
case CK_LValueBitCast:
88368837
this->CCEDiag(E, diag::note_constexpr_invalid_cast)
8837-
<< diag::CastKind::ThisCastOrReinterpret
8838+
<< diag::ConstexprInvalidCastKind::ThisCastOrReinterpret
88388839
<< Info.Ctx.getLangOpts().CPlusPlus;
88398840
if (!Visit(E->getSubExpr()))
88408841
return false;
@@ -9672,10 +9673,11 @@ bool PointerExprEvaluator::VisitCastExpr(const CastExpr *E) {
96729673
<< E->getType()->getPointeeType();
96739674
else
96749675
CCEDiag(E, diag::note_constexpr_invalid_cast)
9675-
<< diag::CastKind::CastFrom << SubExpr->getType();
9676+
<< diag::ConstexprInvalidCastKind::CastFrom
9677+
<< SubExpr->getType();
96769678
} else
96779679
CCEDiag(E, diag::note_constexpr_invalid_cast)
9678-
<< diag::CastKind::ThisCastOrReinterpret
9680+
<< diag::ConstexprInvalidCastKind::ThisCastOrReinterpret
96799681
<< Info.Ctx.getLangOpts().CPlusPlus;
96809682
Result.Designator.setInvalid();
96819683
}
@@ -9715,7 +9717,7 @@ bool PointerExprEvaluator::VisitCastExpr(const CastExpr *E) {
97159717

97169718
case CK_IntegralToPointer: {
97179719
CCEDiag(E, diag::note_constexpr_invalid_cast)
9718-
<< diag::CastKind::ThisCastOrReinterpret
9720+
<< diag::ConstexprInvalidCastKind::ThisCastOrReinterpret
97199721
<< Info.Ctx.getLangOpts().CPlusPlus;
97209722

97219723
APValue Value;
@@ -11181,7 +11183,7 @@ bool VectorExprEvaluator::VisitCastExpr(const CastExpr *E) {
1118111183
// Give up if the input isn't an int, float, or vector. For example, we
1118211184
// reject "(v4i16)(intptr_t)&a".
1118311185
Info.FFDiag(E, diag::note_constexpr_invalid_cast)
11184-
<< diag::CastKind::ThisCastOrReinterpret
11186+
<< diag::ConstexprInvalidCastKind::ThisCastOrReinterpret
1118511187
<< Info.Ctx.getLangOpts().CPlusPlus;
1118611188
return false;
1118711189
}
@@ -15201,7 +15203,7 @@ bool IntExprEvaluator::VisitCastExpr(const CastExpr *E) {
1520115203

1520215204
case CK_PointerToIntegral: {
1520315205
CCEDiag(E, diag::note_constexpr_invalid_cast)
15204-
<< diag::CastKind::ThisCastOrReinterpret
15206+
<< diag::ConstexprInvalidCastKind::ThisCastOrReinterpret
1520515207
<< Info.Ctx.getLangOpts().CPlusPlus << E->getSourceRange();
1520615208

1520715209
LValue LV;

0 commit comments

Comments
 (0)