llvm with tablegen backend for capstone disassembler
Go to file
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
clang Make __has_unique_object_representations reject empty union types. 2018-02-02 20:30:39 +00:00
clang-tools-extra [clangd] Fix ExternC test broken by r324081 2018-02-02 17:01:36 +00:00
compiler-rt [asan] Make concurrent_overflow.cc less flaky 2018-02-02 19:49:24 +00:00
debuginfo-tests [debuginfo-tests] Support moving debuginfo-tests to llvm/projects 2017-12-12 16:54:20 +00:00
libclc half_powr: Implement using powr 2018-02-01 03:00:35 +00:00
libcxx Disable test in C++<11 mode due to use of alignas. 2018-02-01 23:31:22 +00:00
libcxxabi [demangler] Clean up the expression parser 2018-02-02 18:04:32 +00:00
libunwind [cmake] [libunwind] LLVM_FOUND isn't always set, so just test if 2018-01-27 19:31:44 +00:00
lld [ELF] - Reimplemented duplicated-synthetic-sym.s testcase. 2018-02-02 11:25:10 +00:00
lldb Add the ability to restrict the breakpoint to a module 2018-02-02 18:39:25 +00:00
llgo
llvm [X86] Add avx512 command line to ptest.ll to demonstrate that 512-bit vectors are not handled by LowerVectorAllZeroTest. 2018-02-02 20:12:45 +00:00
openmp [OpenMP-RT] Fix debug string for NVPTX runtime library 2018-02-01 16:12:16 +00:00
parallel-libs
polly Run clang-format after r324003. NFC. 2018-02-02 18:11:58 +00:00
README.md

Low Level Virtual Machine (LLVM)

This directory and its subdirectories contain source code for LLVM, a toolkit for the construction of highly optimized compilers, optimizers, and runtime environments.