Index: clang/lib/AST/Interp/ByteCodeExprGen.cpp =================================================================== --- clang/lib/AST/Interp/ByteCodeExprGen.cpp +++ clang/lib/AST/Interp/ByteCodeExprGen.cpp @@ -1038,6 +1038,8 @@ template bool ByteCodeExprGen::VisitTypeTraitExpr(const TypeTraitExpr *E) { + if (DiscardResult) + return true; return this->emitConstBool(E->getValue(), E); } Index: clang/test/AST/Interp/literals.cpp =================================================================== --- clang/test/AST/Interp/literals.cpp +++ clang/test/AST/Interp/literals.cpp @@ -872,6 +872,8 @@ (void)5, (void)6; 1 ? 0 : 1; + sizeof(A); + alignof(A); return 0; }