We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
There was an error while loading. Please reload this page.
1 parent 1d2da21 commit 60eb9b2Copy full SHA for 60eb9b2
clang/lib/AST/ByteCode/Compiler.cpp
@@ -2579,8 +2579,15 @@ bool Compiler<Emitter>::VisitCXXReinterpretCastExpr(
2579
const CXXReinterpretCastExpr *E) {
2580
const Expr *SubExpr = E->getSubExpr();
2581
2582
- bool TypesMatch = classify(E) == classify(SubExpr);
2583
- if (!this->emitInvalidCast(CastKind::Reinterpret, /*Fatal=*/!TypesMatch, E))
+ bool Fatal = false;
+ std::optional<PrimType> FromT = classify(SubExpr);
2584
+ std::optional<PrimType> ToT = classify(E);
2585
+ if (!FromT || !ToT)
2586
+ Fatal = true;
2587
+ else
2588
+ Fatal = (ToT != FromT);
2589
+
2590
+ if (!this->emitInvalidCast(CastKind::Reinterpret, Fatal, E))
2591
return false;
2592
2593
return this->delegate(SubExpr);
0 commit comments