aboutsummaryrefslogtreecommitdiff
path: root/clang/lib/Frontend/CompilerInvocation.cpp
diff options
context:
space:
mode:
authorRichard Smith <richard@metafoo.co.uk>2020-02-06 16:19:37 -0800
committerRichard Smith <richard@metafoo.co.uk>2020-02-06 16:37:22 -0800
commit96c899449b61b866b583560a49c4627f561336fc (patch)
treeea3692e14e45cc4798dd3de3be8009adf04b18ce /clang/lib/Frontend/CompilerInvocation.cpp
parent3e5d837cdabca5a7f0e965fa454b169bdd45b06a (diff)
downloadllvm-96c899449b61b866b583560a49c4627f561336fc.zip
llvm-96c899449b61b866b583560a49c4627f561336fc.tar.gz
llvm-96c899449b61b866b583560a49c4627f561336fc.tar.bz2
C++ DR2026: static storage duration variables are not zeroed before
constant initialization. Removing this zeroing regressed our code generation in a few cases, also fixed here. We now compute whether a variable has constant destruction even if it doesn't have a constant initializer, by trying to destroy a default-initialized value, and skip emitting a trivial default constructor for a variable even if it has non-trivial (but perhaps constant) destruction.
Diffstat (limited to 'clang/lib/Frontend/CompilerInvocation.cpp')
0 files changed, 0 insertions, 0 deletions