35 lines
		
	
	
		
			966 B
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			35 lines
		
	
	
		
			966 B
		
	
	
	
		
			C
		
	
	
	
	
	
| // RUN: %clang_cc1 %s -ast-print -fms-extensions | FileCheck %s
 | |
| 
 | |
| // CHECK: int x __attribute__((aligned(4)));
 | |
| int x __attribute__((aligned(4)));
 | |
| 
 | |
| // FIXME: Print this at a valid location for a __declspec attr.
 | |
| // CHECK: int y __declspec(align(4));
 | |
| __declspec(align(4)) int y;
 | |
| 
 | |
| // CHECK: void foo() __attribute__((const));
 | |
| void foo() __attribute__((const));
 | |
| 
 | |
| // CHECK: void bar() __attribute__((__const));
 | |
| void bar() __attribute__((__const));
 | |
| 
 | |
| // CHECK: int * __ptr32 p32;
 | |
| int * __ptr32 p32;
 | |
| 
 | |
| // CHECK: int * __ptr64 p64;
 | |
| int * __ptr64 p64;
 | |
| 
 | |
| // TODO: the Type Printer has no way to specify the order to print attributes
 | |
| // in, and so it currently always prints them in reverse order. Fix this.
 | |
| // CHECK: int * __ptr32 __uptr p32_2;
 | |
| int * __uptr __ptr32 p32_2;
 | |
| 
 | |
| // CHECK: int * __ptr64 __sptr p64_2;
 | |
| int * __sptr __ptr64 p64_2;
 | |
| 
 | |
| // CHECK: int * __ptr32 __uptr p32_3;
 | |
| int * __uptr __ptr32 p32_3;
 | |
| 
 | |
| // CHECK: int * __sptr * __ptr32 ppsp32;
 | |
| int * __sptr * __ptr32 ppsp32;
 | 
