diff options
author | Richard Smith <richard@metafoo.co.uk> | 2020-02-06 16:19:37 -0800 |
---|---|---|
committer | Richard Smith <richard@metafoo.co.uk> | 2020-02-06 16:37:22 -0800 |
commit | 96c899449b61b866b583560a49c4627f561336fc (patch) | |
tree | ea3692e14e45cc4798dd3de3be8009adf04b18ce /clang/lib/Frontend/CompilerInvocation.cpp | |
parent | 3e5d837cdabca5a7f0e965fa454b169bdd45b06a (diff) | |
download | llvm-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