Ensure that checkInitIsICE is called exactly once for every variable
authorRichard Smith <richard@metafoo.co.uk>
Tue, 20 Oct 2020 02:01:48 +0000 (19:01 -0700)
committerRichard Smith <richard@metafoo.co.uk>
Tue, 20 Oct 2020 02:04:04 +0000 (19:04 -0700)
commit76c0092665867a6defcd328ba0d0d976eb65d991
tree0c9d4732c945047a598ed2d8ddbce1014b683749
parenta28678e20a112f8851fda2550e415924420bdcd5
Ensure that checkInitIsICE is called exactly once for every variable
for which it matters.

This is a step towards separating checking for a constant initializer
(in which std::is_constant_evaluated returns true) and any other
evaluation of a variable initializer (in which it returns false).
16 files changed:
clang/include/clang/AST/Decl.h
clang/include/clang/Serialization/ASTRecordWriter.h
clang/lib/AST/ComparisonCategories.cpp
clang/lib/AST/Decl.cpp
clang/lib/AST/ExprConstant.cpp
clang/lib/CodeGen/ItaniumCXXABI.cpp
clang/lib/Sema/SemaDecl.cpp
clang/lib/Sema/SemaDeclCXX.cpp
clang/lib/Serialization/ASTReaderDecl.cpp
clang/lib/Serialization/ASTWriter.cpp
clang/lib/Serialization/ASTWriterDecl.cpp
clang/test/CodeGen/enable_if.c
clang/test/OpenMP/threadprivate_codegen.cpp
clang/test/Sema/enable_if.c
clang/test/SemaCXX/constant-expression.cpp
clang/test/SemaCXX/i-c-e-cxx.cpp