From e825b834ecbd322db137ae8b69b6450282846ee8 Mon Sep 17 00:00:00 2001 From: JF Bastien Date: Wed, 31 Jul 2019 03:22:08 +0000 Subject: [PATCH] [NFC] Remove LLVM_ALIGNAS Summary: The minimum compilers support all have alignas, and we don't use LLVM_ALIGNAS anywhere anymore. This also removes an MSVC diagnostic which, according to the comment above, isn't relevant anymore. Reviewers: rnk Subscribers: mgorny, jkorous, dexonsmith, cfe-commits, llvm-commits Tags: #clang, #llvm Differential Revision: https://reviews.llvm.org/D65458 llvm-svn: 367383 --- clang-tools-extra/docs/doxygen.cfg.in | 2 +- clang/docs/doxygen.cfg.in | 2 +- llvm/cmake/modules/HandleLLVMOptions.cmake | 8 -------- llvm/docs/doxygen.cfg.in | 2 +- llvm/include/llvm/Support/Compiler.h | 12 ++---------- llvm/unittests/Support/AlignOfTest.cpp | 8 ++++---- 6 files changed, 9 insertions(+), 25 deletions(-) diff --git a/clang-tools-extra/docs/doxygen.cfg.in b/clang-tools-extra/docs/doxygen.cfg.in index fd77fc4..3554171 100644 --- a/clang-tools-extra/docs/doxygen.cfg.in +++ b/clang-tools-extra/docs/doxygen.cfg.in @@ -1937,7 +1937,7 @@ INCLUDE_FILE_PATTERNS = # recursively expanded use the := operator instead of the = operator. # This tag requires that the tag ENABLE_PREPROCESSING is set to YES. -PREDEFINED = LLVM_ALIGNAS(x)= +PREDEFINED = # If the MACRO_EXPANSION and EXPAND_ONLY_PREDEF tags are set to YES then this # tag can be used to specify a list of macro names that should be expanded. The diff --git a/clang/docs/doxygen.cfg.in b/clang/docs/doxygen.cfg.in index 9fe259a..449552d 100644 --- a/clang/docs/doxygen.cfg.in +++ b/clang/docs/doxygen.cfg.in @@ -1925,7 +1925,7 @@ INCLUDE_FILE_PATTERNS = # recursively expanded use the := operator instead of the = operator. # This tag requires that the tag ENABLE_PREPROCESSING is set to YES. -PREDEFINED = LLVM_ALIGNAS(x)= +PREDEFINED = # If the MACRO_EXPANSION and EXPAND_ONLY_PREDEF tags are set to YES then this # tag can be used to specify a list of macro names that should be expanded. The diff --git a/llvm/cmake/modules/HandleLLVMOptions.cmake b/llvm/cmake/modules/HandleLLVMOptions.cmake index a243507..f9cb5d3 100644 --- a/llvm/cmake/modules/HandleLLVMOptions.cmake +++ b/llvm/cmake/modules/HandleLLVMOptions.cmake @@ -530,14 +530,6 @@ if (MSVC) # is fixed. -wd4709 # Suppress comma operator within array index expression - # Ideally, we'd like this warning to be enabled, but MSVC 2013 doesn't - # support the 'aligned' attribute in the way that clang sources requires (for - # any code that uses the LLVM_ALIGNAS macro), so this is must be disabled to - # avoid unwanted alignment warnings. - # When we switch to requiring a version of MSVC that supports the 'alignas' - # specifier (MSVC 2015?) this warning can be re-enabled. - -wd4324 # Suppress 'structure was padded due to __declspec(align())' - # Promoted warnings. -w14062 # Promote 'enumerator in switch of enum is not handled' to level 1 warning. diff --git a/llvm/docs/doxygen.cfg.in b/llvm/docs/doxygen.cfg.in index a8e84a3..fe74edc 100644 --- a/llvm/docs/doxygen.cfg.in +++ b/llvm/docs/doxygen.cfg.in @@ -1926,7 +1926,7 @@ INCLUDE_FILE_PATTERNS = # recursively expanded use the := operator instead of the = operator. # This tag requires that the tag ENABLE_PREPROCESSING is set to YES. -PREDEFINED = LLVM_ALIGNAS(x)= +PREDEFINED = # If the MACRO_EXPANSION and EXPAND_ONLY_PREDEF tags are set to YES then this # tag can be used to specify a list of macro names that should be expanded. The diff --git a/llvm/include/llvm/Support/Compiler.h b/llvm/include/llvm/Support/Compiler.h index 3f4f465..356ff6f 100644 --- a/llvm/include/llvm/Support/Compiler.h +++ b/llvm/include/llvm/Support/Compiler.h @@ -338,14 +338,6 @@ # define LLVM_ASSUME_ALIGNED(p, a) (p) #endif -/// \macro LLVM_ALIGNAS -/// Used to specify a minimum alignment for a structure or variable. -#if __GNUC__ && !__has_feature(cxx_alignas) && !LLVM_GNUC_PREREQ(4, 8, 1) -# define LLVM_ALIGNAS(x) __attribute__((aligned(x))) -#else -# define LLVM_ALIGNAS(x) alignas(x) -#endif - /// \macro LLVM_PACKED /// Used to specify a packed structure. /// LLVM_PACKED( @@ -376,8 +368,8 @@ /// \macro LLVM_PTR_SIZE /// A constant integer equivalent to the value of sizeof(void*). -/// Generally used in combination with LLVM_ALIGNAS or when doing computation in -/// the preprocessor. +/// Generally used in combination with alignas or when doing computation in the +/// preprocessor. #ifdef __SIZEOF_POINTER__ # define LLVM_PTR_SIZE __SIZEOF_POINTER__ #elif defined(_WIN64) diff --git a/llvm/unittests/Support/AlignOfTest.cpp b/llvm/unittests/Support/AlignOfTest.cpp index 780af95..d8cabde 100644 --- a/llvm/unittests/Support/AlignOfTest.cpp +++ b/llvm/unittests/Support/AlignOfTest.cpp @@ -38,10 +38,10 @@ namespace { #endif // Define some fixed alignment types to use in these tests. -struct LLVM_ALIGNAS(1) A1 {}; -struct LLVM_ALIGNAS(2) A2 {}; -struct LLVM_ALIGNAS(4) A4 {}; -struct LLVM_ALIGNAS(8) A8 {}; +struct alignas(1) A1 {}; +struct alignas(2) A2 {}; +struct alignas(4) A4 {}; +struct alignas(8) A8 {}; struct S1 {}; struct S2 { char a; }; -- 2.7.4