llvm with tablegen backend for capstone disassembler
Go to file
Eric Fiselier d108bf85b0 Move internal usages of alignof/__alignof to use _LIBCPP_ALIGNOF.
Summary:
Starting in Clang 8.0 and GCC 8.0, `alignof` and `__alignof` return different values in same cases. Specifically `alignof` and `_Alignof` return the minimum alignment for a type, where as `__alignof` returns the preferred alignment. libc++ currently uses `__alignof` but means to use `alignof`. See  llvm.org/PR39713

This patch introduces the macro `_LIBCPP_ALIGNOF` so we can control which spelling gets used.

This patch does not introduce any ABI guard to provide the old behavior with newer compilers. However, if we decide that is needed, this patch makes it trivial to implement.

I think we should commit this change immediately, and decide what we want to do about the ABI afterwards. 

Reviewers: ldionne, EricWF

Reviewed By: ldionne, EricWF

Subscribers: jyknight, christof, libcxx-commits

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

llvm-svn: 351289
2019-01-16 01:51:12 +00:00
clang [EH] Rename llvm.x86.seh.recoverfp intrinsic to llvm.eh.recoverfp 2019-01-16 00:50:44 +00:00
clang-tools-extra [clangd] XPC transport layer 2019-01-16 00:24:22 +00:00
compiler-rt [TSan] Use switches when dealing with enums 2019-01-16 01:45:12 +00:00
debuginfo-tests Set config.lit_tools_dir, which is needed by lit.llvm.initialize. 2018-11-06 21:54:27 +00:00
libclc Update year in license files 2019-01-15 15:10:32 +00:00
libcxx Move internal usages of alignof/__alignof to use _LIBCPP_ALIGNOF. 2019-01-16 01:51:12 +00:00
libcxxabi Update year in license files 2019-01-15 15:10:32 +00:00
libunwind Update year in license files 2019-01-15 15:10:32 +00:00
lld [WebAssembly] Store section alignment as a power of 2 2019-01-16 01:43:21 +00:00
lldb [lldb-mi] Remove use of dialog box 2019-01-16 00:09:50 +00:00
llgo Update year in license files 2019-01-15 15:10:32 +00:00
llvm [WebAssembly] Store section alignment as a power of 2 2019-01-16 01:34:48 +00:00
openmp [OpenMP] Fix for nested proc_bind affinity bug 2019-01-15 19:39:32 +00:00
parallel-libs Update year in license files 2019-01-15 15:10:32 +00:00
polly Remove irrelevant references to legacy git repositories from 2019-01-15 16:18:52 +00:00
pstl Update year in license files 2019-01-15 15:10:32 +00:00
.arcconfig Add an .arcconfig for the top of the git monorepo. 2019-01-11 16:27:14 +00:00
README.md

The LLVM Compiler Infrastructure

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