[all-commits] [llvm/llvm-project] fc031d: Switch the default of VerifyIntegerConstantExpress...
Richard Smith via All-commits
all-commits at lists.llvm.org
Thu Oct 15 16:59:09 PDT 2020
Branch: refs/heads/master
Home: https://github.com/llvm/llvm-project
Commit: fc031d29bea856f2b91a250fd81c5f9fb79dbe07
https://github.com/llvm/llvm-project/commit/fc031d29bea856f2b91a250fd81c5f9fb79dbe07
Author: Richard Smith <richard at metafoo.co.uk>
Date: 2020-10-15 (Thu, 15 Oct 2020)
Changed paths:
M clang/include/clang/Sema/Sema.h
M clang/lib/Sema/SemaDecl.cpp
M clang/lib/Sema/SemaDeclAttr.cpp
M clang/lib/Sema/SemaDeclCXX.cpp
M clang/lib/Sema/SemaExceptionSpec.cpp
M clang/lib/Sema/SemaExpr.cpp
M clang/lib/Sema/SemaExprCXX.cpp
M clang/lib/Sema/SemaInit.cpp
M clang/lib/Sema/SemaOpenMP.cpp
M clang/lib/Sema/SemaStmt.cpp
M clang/lib/Sema/SemaTemplate.cpp
M clang/lib/Sema/SemaType.cpp
M clang/test/SemaCXX/enum.cpp
M clang/test/SemaCXX/new-delete.cpp
Log Message:
-----------
Switch the default of VerifyIntegerConstantExpression from constant
folding to not constant folding.
Constant folding of ICEs is done as a GCC compatibility measure, but new
code was picking it up, presumably by accident, due to the bad default.
While here, also switch the flag from a bool to an enum to make it more
obvious what it means at call sites. This highlighted a couple of places
where our behavior is different between C++11 and C++14 due to switching
from checking for an ICE to checking for a converted constant
expression (where there is no 'fold' codepath).
More information about the All-commits
mailing list