• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 // RUN: %clang_cc1 %s -ast-print -fms-extensions | FileCheck %s
2 
3 // CHECK: int x __attribute__((aligned(4)));
4 int x __attribute__((aligned(4)));
5 
6 // FIXME: Print this at a valid location for a __declspec attr.
7 // CHECK: int y __declspec(align(4));
8 __declspec(align(4)) int y;
9 
10 // CHECK: void foo() __attribute__((const));
11 void foo() __attribute__((const));
12 
13 // CHECK: void bar() __attribute__((__const));
14 void bar() __attribute__((__const));
15 
16 // CHECK: int * __ptr32 p32;
17 int * __ptr32 p32;
18 
19 // CHECK: int * __ptr64 p64;
20 int * __ptr64 p64;
21 
22 // TODO: the Type Printer has no way to specify the order to print attributes
23 // in, and so it currently always prints them in reverse order. Fix this.
24 // CHECK: int * __ptr32 __uptr p32_2;
25 int * __uptr __ptr32 p32_2;
26 
27 // CHECK: int * __ptr64 __sptr p64_2;
28 int * __sptr __ptr64 p64_2;
29 
30 // CHECK: int * __ptr32 __uptr p32_3;
31 int * __uptr __ptr32 p32_3;
32 
33 // CHECK: int * __sptr * __ptr32 ppsp32;
34 int * __sptr * __ptr32 ppsp32;
35 
36 // CHECK: __attribute__((availability(macos, strict, introduced=10.6)));
37 void f6(int) __attribute__((availability(macosx,strict,introduced=10.6)));
38