diff options
author | Richard Smith <richard-llvm@metafoo.co.uk> | 2017-06-01 00:28:16 +0000 |
---|---|---|
committer | Richard Smith <richard-llvm@metafoo.co.uk> | 2017-06-01 00:28:16 +0000 |
commit | f03e9084c195fe9a495b3de0761710d47e9dfe99 (patch) | |
tree | f592550f798201bc78beb9dd111f58079d1d9fad /clang/lib/CodeGen/CodeGenModule.cpp | |
parent | 32c5e809beae6c184c644abfd205d43f6bdd8b0d (diff) | |
download | llvm-f03e9084c195fe9a495b3de0761710d47e9dfe99.zip llvm-f03e9084c195fe9a495b3de0761710d47e9dfe99.tar.gz llvm-f03e9084c195fe9a495b3de0761710d47e9dfe99.tar.bz2 |
PR33232: implement support for MSVC's __is_trivially_destructible trait.
Unlike the GCC-compatible __has_trivial_destructor trait, this one computes the
right answer rather than performing the quirky set of checks described in GCC's
documentation (https://gcc.gnu.org/onlinedocs/gcc/Type-Traits.html).
MSVC also has a __has_trivial_destructor trait which is the same as its (and
now Clang's) __is_trivially_destructible trait; we might want to consider
changing the behavior of __has_trivial_destructor if we're targeting an MSVC
platform, but I'm not doing so for now.
While implementing this I found that we were incorrectly rejecting
__is_destructible queries on arrays of unknown bound of incomplete types; that
too is fixed, and I've added similar tests for other traits for good measure.
llvm-svn: 304376
Diffstat (limited to 'clang/lib/CodeGen/CodeGenModule.cpp')
0 files changed, 0 insertions, 0 deletions