tbaeder created this revision. tbaeder added reviewers: aaron.ballman, erichkeane, tahonermann, shafik. Herald added a project: All. tbaeder requested review of this revision. Herald added a project: clang. Herald added a subscriber: cfe-commits.
Repository: rG LLVM Github Monorepo https://reviews.llvm.org/D149960 Files: clang/lib/AST/Interp/ByteCodeExprGen.cpp clang/test/AST/Interp/literals.cpp Index: clang/test/AST/Interp/literals.cpp =================================================================== --- clang/test/AST/Interp/literals.cpp +++ clang/test/AST/Interp/literals.cpp @@ -901,6 +901,8 @@ (int[]){1,2,3}; int arr[] = {1,2,3}; arr[0]; + "a"; + 'b'; return 0; } Index: clang/lib/AST/Interp/ByteCodeExprGen.cpp =================================================================== --- clang/lib/AST/Interp/ByteCodeExprGen.cpp +++ clang/lib/AST/Interp/ByteCodeExprGen.cpp @@ -676,6 +676,8 @@ template <class Emitter> bool ByteCodeExprGen<Emitter>::VisitStringLiteral(const StringLiteral *E) { + if (DiscardResult) + return true; unsigned StringIndex = P.createGlobalString(E); return this->emitGetPtrGlobal(StringIndex, E); } @@ -683,6 +685,8 @@ template <class Emitter> bool ByteCodeExprGen<Emitter>::VisitCharacterLiteral( const CharacterLiteral *E) { + if (DiscardResult) + return true; return this->emitConst(E->getValue(), E); }
Index: clang/test/AST/Interp/literals.cpp =================================================================== --- clang/test/AST/Interp/literals.cpp +++ clang/test/AST/Interp/literals.cpp @@ -901,6 +901,8 @@ (int[]){1,2,3}; int arr[] = {1,2,3}; arr[0]; + "a"; + 'b'; return 0; } Index: clang/lib/AST/Interp/ByteCodeExprGen.cpp =================================================================== --- clang/lib/AST/Interp/ByteCodeExprGen.cpp +++ clang/lib/AST/Interp/ByteCodeExprGen.cpp @@ -676,6 +676,8 @@ template <class Emitter> bool ByteCodeExprGen<Emitter>::VisitStringLiteral(const StringLiteral *E) { + if (DiscardResult) + return true; unsigned StringIndex = P.createGlobalString(E); return this->emitGetPtrGlobal(StringIndex, E); } @@ -683,6 +685,8 @@ template <class Emitter> bool ByteCodeExprGen<Emitter>::VisitCharacterLiteral( const CharacterLiteral *E) { + if (DiscardResult) + return true; return this->emitConst(E->getValue(), E); }
_______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits