diff options
author | Peter Collingbourne <peter@pcc.me.uk> | 2011-09-29 18:04:28 +0000 |
---|---|---|
committer | Peter Collingbourne <peter@pcc.me.uk> | 2011-09-29 18:04:28 +0000 |
commit | 82d0b0aab9088e977c2a44c4a5a90479c63149fe (patch) | |
tree | 39d62bb6b6814bd9a9daa959efa9121f78aadfab /test/Parser | |
parent | 35f37cd6637f5cb4dbf18a542b501fd40522ba7b (diff) |
Add support for alignment-specifiers in C1X and C++11, remove
support for the C++0x draft [[align]] attribute and add the C1X
standard header file stdalign.h
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@140796 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/Parser')
-rw-r--r-- | test/Parser/c1x-alignas.c | 7 | ||||
-rw-r--r-- | test/Parser/cxx0x-attributes.cpp | 6 |
2 files changed, 10 insertions, 3 deletions
diff --git a/test/Parser/c1x-alignas.c b/test/Parser/c1x-alignas.c new file mode 100644 index 0000000000..5dccc99035 --- /dev/null +++ b/test/Parser/c1x-alignas.c @@ -0,0 +1,7 @@ +// RUN: %clang_cc1 -std=c1x -fsyntax-only -verify %s + +_Alignas(4) char c1; +unsigned _Alignas(long) char c2; +char _Alignas(16) c3; + +char c4 _Alignas(32); // expected-error {{expected ';' after top level declarator}} diff --git a/test/Parser/cxx0x-attributes.cpp b/test/Parser/cxx0x-attributes.cpp index 0b6413cfb2..94ea34d503 100644 --- a/test/Parser/cxx0x-attributes.cpp +++ b/test/Parser/cxx0x-attributes.cpp @@ -6,7 +6,7 @@ int [[]] between_attr; int after_attr [[]]; int * [[]] ptr_attr; int array_attr [1] [[]]; -[[align(8)]] int aligned_attr; +alignas(8) int aligned_attr; [[test::valid(for 42 [very] **** '+' symbols went on a trip; the end.)]] int garbage_attr; void fn_attr () [[]]; @@ -32,8 +32,8 @@ extern "C++" [[]] { } // expected-error {{an attribute list cannot appear here}} [[]] using namespace ns; // Argument tests -[[align]] int aligned_no_params; // expected-error {{C++0x attribute 'align' must have an argument list}} -[[align(i)]] int aligned_nonconst; // expected-error {{'aligned' attribute requires integer constant}} +alignas int aligned_no_params; // expected-error {{expected '('}} +alignas(i) int aligned_nonconst; // expected-error {{'aligned' attribute requires integer constant}} // Statement tests void foo () { |