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 // FIXME: Print this with correct format and order. 17 // CHECK: void foo1() __attribute__((pure)) __attribute__((noinline)); 18 void foo1() __attribute__((noinline, pure)); 19 20 // CHECK: typedef int Small1 __attribute__((mode(byte))); 21 typedef int Small1 __attribute__((mode(byte))); 22 23 // CHECK: int small __attribute__((mode(byte))); 24 int small __attribute__((mode(byte))); 25 26 // CHECK: int v __attribute__((visibility("hidden"))); 27 int v __attribute__((visibility("hidden"))); 28 29 // CHECK: char *PR24565() __attribute__((malloc)) 30 char *PR24565() __attribute__((__malloc__)); 31 32 // CHECK: class __attribute__((consumable("unknown"))) AttrTester1 33 class __attribute__((consumable(unknown))) AttrTester1 { 34 // CHECK: void callableWhen() __attribute__((callable_when("unconsumed", "consumed"))); 35 void callableWhen() __attribute__((callable_when("unconsumed", "consumed"))); 36 }; 37 38 // CHECK: class __single_inheritance SingleInheritance; 39 class __single_inheritance SingleInheritance; 40 41 // CHECK: class __multiple_inheritance MultipleInheritance; 42 class __multiple_inheritance MultipleInheritance; 43 44 // CHECK: class __virtual_inheritance VirtualInheritance; 45 class __virtual_inheritance VirtualInheritance; 46