1f4a2713aSLionel Sambuc // RUN: %clang_cc1 %s -ast-print -fms-extensions | FileCheck %s 2f4a2713aSLionel Sambuc 3f4a2713aSLionel Sambuc // CHECK: int x __attribute__((aligned(4))); 4f4a2713aSLionel Sambuc int x __attribute__((aligned(4))); 5f4a2713aSLionel Sambuc 6f4a2713aSLionel Sambuc // FIXME: Print this at a valid location for a __declspec attr. 7f4a2713aSLionel Sambuc // CHECK: int y __declspec(align(4)); 8f4a2713aSLionel Sambuc __declspec(align(4)) int y; 9f4a2713aSLionel Sambuc 10f4a2713aSLionel Sambuc // CHECK: void foo() __attribute__((const)); 11f4a2713aSLionel Sambuc void foo() __attribute__((const)); 12f4a2713aSLionel Sambuc 13f4a2713aSLionel Sambuc // CHECK: void bar() __attribute__((__const)); 14f4a2713aSLionel Sambuc void bar() __attribute__((__const)); 15f4a2713aSLionel Sambuc 16f4a2713aSLionel Sambuc // FIXME: Print this with correct format and order. 17f4a2713aSLionel Sambuc // CHECK: void foo1() __attribute__((pure)) __attribute__((noinline)); 18f4a2713aSLionel Sambuc void foo1() __attribute__((noinline, pure)); 19f4a2713aSLionel Sambuc 20f4a2713aSLionel Sambuc // CHECK: typedef int Small1 __attribute__((mode(byte))); 21f4a2713aSLionel Sambuc typedef int Small1 __attribute__((mode(byte))); 22f4a2713aSLionel Sambuc 23f4a2713aSLionel Sambuc // CHECK: int small __attribute__((mode(byte))); 24f4a2713aSLionel Sambuc int small __attribute__((mode(byte))); 25*0a6a1f1dSLionel Sambuc 26*0a6a1f1dSLionel Sambuc // CHECK: int v __attribute__((visibility("hidden"))); 27*0a6a1f1dSLionel Sambuc int v __attribute__((visibility("hidden"))); 28*0a6a1f1dSLionel Sambuc 29*0a6a1f1dSLionel Sambuc // CHECK: class __attribute__((consumable("unknown"))) AttrTester1 30*0a6a1f1dSLionel Sambuc class __attribute__((consumable(unknown))) AttrTester1 { 31*0a6a1f1dSLionel Sambuc // CHECK: void callableWhen() __attribute__((callable_when("unconsumed", "consumed"))); 32*0a6a1f1dSLionel Sambuc void callableWhen() __attribute__((callable_when("unconsumed", "consumed"))); 33*0a6a1f1dSLionel Sambuc }; 34