| // 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; |
| } |