Go to file
Chandler Carruth 5bd31b37ca [ptr-traits] Provide a real MCFragment address for the sentinel instead
of casting the integer '4' to such a pointer. There is no reason to
expect '4' to be a portable or reliable pointer of this form. The only
reason this ever worked is because the PointerIntPair that this actually
gets used with has an artificially *low* presumed alignment that allowed
it to work. When the alignment of PointerIntPair is derived from the
actual type's alignment, the asserts start firing on this pointer. I'm
amazed we never managed to do anything that triggered the alignment
sanitizer with it, as this is just flat out UB.

If folks dislike this approach to providing a sentinel fragment address,
there are a myriad of other alternatives, suggestions welcome. But this
one has the distinct advantage of not requiring the friend dance of
ilist's sentinel (which I'll point out is *also* in play for
MCFragment!) and seems to be using a nicely provided facility in
MCFragment to establish just such dummy nodes.

This is part of a series of patches to allow LLVM to check for complete
pointee types when computing its pointer traits. This is absolutely
necessary to get correct (or reproducible) results for things like how
many low bits are guaranteed to be zero.

llvm-svn: 256552
2015-12-29 09:32:18 +00:00
clang clang-format: [JS/TypeScript] Support "enum" as property name. 2015-12-29 08:54:23 +00:00
clang-tools-extra Orphaning these RST files; each one is retained only for link backwards compatibility. 2015-12-28 19:59:15 +00:00
compiler-rt [PGO]: Do not update Data->Value field during profile write. 2015-12-29 07:13:59 +00:00
debuginfo-tests New round of fixes for "Always compile debuginfo-tests for the host triple" 2014-10-18 23:47:59 +00:00
libclc AMDGPU: Add aliases for all VI targets 2015-12-15 18:37:04 +00:00
libcxx [libcxx] Fix LWG Issue #2367 - Fixing std::tuple and std::pair's default constructors. 2015-12-23 08:20:26 +00:00
libcxxabi Add new tests for throwing incomplete pointer types 2015-12-23 07:04:32 +00:00
libunwind Replace cmake check for printf with a check for fopen. 2015-12-10 00:47:08 +00:00
lld Split Writer::assignAddresses. NFC. 2015-12-26 10:52:26 +00:00
lldb Update .clang-format file to support break after return type. 2015-12-28 22:09:29 +00:00
llgo [llgo] Force exporting __morestack from llgoi 2015-11-27 04:46:46 +00:00
llvm [ptr-traits] Provide a real MCFragment address for the sentinel instead 2015-12-29 09:32:18 +00:00
openmp test omp_threadprivate_for.c fixed 2015-12-27 18:14:40 +00:00
polly Do not store scalar accesses in InstructionToAccess 2015-12-22 23:25:11 +00:00