forked from OSchip/llvm-project
				
			
		
			
				
	
	
		
			160 lines
		
	
	
		
			2.9 KiB
		
	
	
	
		
			C
		
	
	
	
			
		
		
	
	
			160 lines
		
	
	
		
			2.9 KiB
		
	
	
	
		
			C
		
	
	
	
| // RUN: %clang_cc1 -fsyntax-only %s -verify
 | |
| 
 | |
| typedef struct { unsigned long bits[(((1) + (64) - 1) / (64))]; } cpumask_t;
 | |
| cpumask_t x;
 | |
| void foo() {
 | |
|   (void)x;
 | |
| }
 | |
| void bar() {
 | |
|   char* a;
 | |
|   double b;
 | |
|   b = (double)a; // expected-error {{pointer cannot be cast to type}}
 | |
|   a = (char*)b; // expected-error {{cannot be cast to a pointer type}}
 | |
| }
 | |
| 
 | |
| long bar1(long *next) {
 | |
|         return (long)(*next)++;  
 | |
| }
 | |
| 
 | |
| typedef _Bool Bool;
 | |
| typedef int Int;
 | |
| typedef long Long;
 | |
| typedef float Float;
 | |
| typedef double Double;
 | |
| typedef _Complex int CInt;
 | |
| typedef _Complex long CLong;
 | |
| typedef _Complex float CFloat;
 | |
| typedef _Complex double CDouble;
 | |
| typedef void *VoidPtr;
 | |
| typedef char *CharPtr;
 | |
| 
 | |
| void testBool(Bool v) {
 | |
|   (void) (Bool) v;
 | |
|   (void) (Int) v;
 | |
|   (void) (Long) v;
 | |
|   (void) (Float) v;
 | |
|   (void) (Double) v;
 | |
|   (void) (CInt) v;
 | |
|   (void) (CLong) v;
 | |
|   (void) (CFloat) v;
 | |
|   (void) (CDouble) v;
 | |
|   (void) (VoidPtr) v;
 | |
|   (void) (CharPtr) v;
 | |
| }
 | |
| 
 | |
| void testInt(Int v) {
 | |
|   (void) (Bool) v;
 | |
|   (void) (Int) v;
 | |
|   (void) (Long) v;
 | |
|   (void) (Float) v;
 | |
|   (void) (Double) v;
 | |
|   (void) (CInt) v;
 | |
|   (void) (CLong) v;
 | |
|   (void) (CFloat) v;
 | |
|   (void) (CDouble) v;
 | |
|   (void) (VoidPtr) v;
 | |
|   (void) (CharPtr) v;
 | |
| }
 | |
| 
 | |
| void testLong(Long v) {
 | |
|   (void) (Bool) v;
 | |
|   (void) (Int) v;
 | |
|   (void) (Long) v;
 | |
|   (void) (Float) v;
 | |
|   (void) (Double) v;
 | |
|   (void) (CInt) v;
 | |
|   (void) (CLong) v;
 | |
|   (void) (CFloat) v;
 | |
|   (void) (CDouble) v;
 | |
|   (void) (VoidPtr) v;
 | |
|   (void) (CharPtr) v;
 | |
| }
 | |
| 
 | |
| void testFloat(Float v) {
 | |
|   (void) (Bool) v;
 | |
|   (void) (Int) v;
 | |
|   (void) (Long) v;
 | |
|   (void) (Float) v;
 | |
|   (void) (Double) v;
 | |
|   (void) (CInt) v;
 | |
|   (void) (CLong) v;
 | |
|   (void) (CFloat) v;
 | |
|   (void) (CDouble) v;
 | |
| }
 | |
| 
 | |
| void testDouble(Double v) {
 | |
|   (void) (Bool) v;
 | |
|   (void) (Int) v;
 | |
|   (void) (Long) v;
 | |
|   (void) (Float) v;
 | |
|   (void) (Double) v;
 | |
|   (void) (CInt) v;
 | |
|   (void) (CLong) v;
 | |
|   (void) (CFloat) v;
 | |
|   (void) (CDouble) v;
 | |
| }
 | |
| 
 | |
| void testCI(CInt v) {
 | |
|   (void) (Bool) v;
 | |
|   (void) (Int) v;
 | |
|   (void) (Long) v;
 | |
|   (void) (Float) v;
 | |
|   (void) (Double) v;
 | |
|   (void) (CInt) v;
 | |
|   (void) (CLong) v;
 | |
|   (void) (CFloat) v;
 | |
|   (void) (CDouble) v;
 | |
| }
 | |
| 
 | |
| void testCLong(CLong v) {
 | |
|   (void) (Bool) v;
 | |
|   (void) (Int) v;
 | |
|   (void) (Long) v;
 | |
|   (void) (Float) v;
 | |
|   (void) (Double) v;
 | |
|   (void) (CInt) v;
 | |
|   (void) (CLong) v;
 | |
|   (void) (CFloat) v;
 | |
|   (void) (CDouble) v;
 | |
| }
 | |
| 
 | |
| void testCFloat(CFloat v) {
 | |
|   (void) (Bool) v;
 | |
|   (void) (Int) v;
 | |
|   (void) (Long) v;
 | |
|   (void) (Float) v;
 | |
|   (void) (Double) v;
 | |
|   (void) (CInt) v;
 | |
|   (void) (CLong) v;
 | |
|   (void) (CFloat) v;
 | |
|   (void) (CDouble) v;
 | |
| }
 | |
| 
 | |
| void testCDouble(CDouble v) {
 | |
|   (void) (Bool) v;
 | |
|   (void) (Int) v;
 | |
|   (void) (Long) v;
 | |
|   (void) (Float) v;
 | |
|   (void) (Double) v;
 | |
|   (void) (CInt) v;
 | |
|   (void) (CLong) v;
 | |
|   (void) (CFloat) v;
 | |
|   (void) (CDouble) v;
 | |
| }
 | |
| 
 | |
| void testVoidPtr(VoidPtr v) {
 | |
|   (void) (Bool) v;
 | |
|   (void) (Int) v;
 | |
|   (void) (Long) v;
 | |
|   (void) (VoidPtr) v;
 | |
|   (void) (CharPtr) v;
 | |
| }
 | |
| 
 | |
| void testCharPtr(CharPtr v) {
 | |
|   (void) (Bool) v;
 | |
|   (void) (Int) v;
 | |
|   (void) (Long) v;
 | |
|   (void) (VoidPtr) v;
 | |
|   (void) (CharPtr) v;
 | |
| }
 |