llvm-project/clang/test
Eric Fiselier 12a9f344c6 Make __has_unique_object_representations reject empty union types.
Summary:
Clang incorrectly reports empty unions as having a unique object representation. However, this is not correct since `sizeof(EmptyUnion) == 1` AKA it has 8 bits of padding. Therefore it should be treated the same as an empty struct and report `false`.

@erichkeane also suggested this fix should be merged into the 6.0 release branch, so the initial release of `__has_unique_object_representations` is as bug-free as possible. 

Reviewers: erichkeane, rsmith, aaron.ballman, majnemer

Reviewed By: erichkeane

Subscribers: cfe-commits, erichkeane

Differential Revision: https://reviews.llvm.org/D42863

llvm-svn: 324134
2018-02-02 20:30:39 +00:00
..
ARCMT Avoid assumption that lit tests are writable. NFC 2018-01-08 15:05:01 +00:00
ASTMerge [ASTImporter] Support LambdaExprs and improve template support 2018-01-26 11:36:54 +00:00
Analysis [analyzer] Expose return statement from CallExit program point 2018-02-02 02:19:43 +00:00
CXX DR126: partially implement the const-correct rules for exception handler matching. 2018-01-13 05:05:45 +00:00
CodeCompletion [CodeComplete] Omit templated constructors from member list too. 2018-01-22 20:44:47 +00:00
CodeGen Revert "Start setting dso_local in clang." 2018-02-02 17:29:22 +00:00
CodeGenCUDA [CUDA] CUDA has no device-side library builtins. 2018-01-23 19:08:18 +00:00
CodeGenCXX Emit label names according to -discard-value-names. 2018-02-02 19:58:34 +00:00
CodeGenCoroutines [coroutines] Fix application of NRVO to Coroutine "Gro" or return object. 2018-02-01 23:47:54 +00:00
CodeGenObjC Reverting patch rL323952 due to build errors that I 2018-02-01 12:27:13 +00:00
CodeGenObjCXX AST: support protocol conformances on id/class/interfaces in MS ABI 2018-01-26 19:08:26 +00:00
CodeGenOpenCL [AMDGPU] Switch to the new addr space mapping by default 2018-02-02 16:08:24 +00:00
Coverage [Analyzer] Add support for displaying cross-file diagnostic paths in HTML output 2017-08-03 18:12:22 +00:00
CoverageMapping [Parse] Forward brace locations to TypeConstructExpr 2018-01-17 18:53:51 +00:00
Driver Revert "Start setting dso_local in clang." 2018-02-02 17:29:22 +00:00
FixIt Add a "vexing parse" warning for ambiguity between a variable declaration and a 2017-09-29 23:57:25 +00:00
Format [clang-format] Fix bug where -dump-config failed on ObjC header 2018-01-29 17:36:43 +00:00
Frontend Revert "Start setting dso_local in clang." 2018-02-02 17:29:22 +00:00
Headers In stdbool.h, define bool, false, true only in gnu++98 2017-12-08 08:28:08 +00:00
Import [ASTImporter] Support LambdaExprs and improve template support 2018-01-26 11:36:54 +00:00
Index [Index] fix USR generation for namespace{extern{X}} 2018-02-02 14:13:37 +00:00
Integration Fix the test fix from r312181 2017-08-30 23:26:38 +00:00
Layout
Lexer [Lex] Avoid out-of-bounds dereference in LexAngledStringLiteral. 2018-01-12 18:54:35 +00:00
Misc Track in the AST whether the operand to a UnaryOperator can overflow and then use that logic when evaluating constant expressions and emitting codegen. 2018-01-09 13:07:03 +00:00
Modules Allow BlockDecl in CXXRecord scope to have no access specifier. 2018-01-19 20:46:19 +00:00
OpenMP Reverting patch rL323952 due to build errors that I 2018-02-01 12:27:13 +00:00
PCH Avoid assumption that lit tests are writable (in a couple more places). NFC 2018-01-09 09:32:53 +00:00
Parser Factor out comparison handling for arithmetic types. 2018-01-08 21:12:04 +00:00
Preprocessor [X86] Add 'rdrnd' feature to silvermont to match recent gcc bug fix. 2018-01-26 19:34:45 +00:00
Profile [PGO] Detect more structural changes with the stable hash 2017-11-14 23:56:53 +00:00
Refactor [refactor][extract] avoid extracting expressions from types in functions 2017-11-14 18:59:01 +00:00
Rewriter [clang] Remove unit test which uses reverse-iterate flag 2017-08-24 22:40:32 +00:00
Sema PR36157: When injecting an implicit function declaration in C89, find the right 2018-02-01 20:01:49 +00:00
SemaCUDA [CUDA] Report "unsupported VLA" errors only on device side. 2017-11-28 18:51:42 +00:00
SemaCXX Make __has_unique_object_representations reject empty union types. 2018-02-02 20:30:39 +00:00
SemaObjC PR35815: Separate out the ns-consumed diagnostic into an error and 2018-01-03 23:52:42 +00:00
SemaObjCXX Re-commit r321223, which adds a printing policy to the ASTDumper. 2017-12-21 21:42:42 +00:00
SemaOpenCL [OpenCL] Add "cles_khr_int64" extension. 2018-01-26 11:48:46 +00:00
SemaTemplate In C++17, when instantiating an out-of-line definition of an inline static data 2018-01-10 23:08:26 +00:00
TableGen
Tooling [tooling] Make compile_flags.txt negative test more hermetic 2017-11-14 15:22:34 +00:00
Unit [lit] Set shlibpath_var on Solaris 2017-11-27 13:33:19 +00:00
VFS Avoid assumption that lit tests are writable. NFC 2018-01-08 15:05:01 +00:00
clang-rename [clang-rename] Fix and enable the failing TemplatedClassFunction test. 2017-10-25 08:25:25 +00:00
.clang-format
CMakeLists.txt [cmake] Follow-up to rL320494. 2017-12-12 19:47:40 +00:00
TestRunner.sh
cxx-sections.data
lit.cfg.py [debuginfo] Remove temporary FIXME. 2017-12-14 22:12:46 +00:00
lit.site.cfg.py.in [lit] Add host_cxx to lit config 2017-10-10 17:53:45 +00:00
make_test_dirs.pl