1a5728872c7702ddd09537c95bc3cbd20e1f2fb09Daniel Dunbar// RUN: %clang_cc1 -fsyntax-only %s -verify 23da2db468d9a694535d62e7b96a010ce95c26fb6Chris Lattner 33da2db468d9a694535d62e7b96a010ce95c26fb6Chris Lattnertypedef struct { unsigned long bits[(((1) + (64) - 1) / (64))]; } cpumask_t; 43da2db468d9a694535d62e7b96a010ce95c26fb6Chris Lattnercpumask_t x; 53da2db468d9a694535d62e7b96a010ce95c26fb6Chris Lattnervoid foo() { 63da2db468d9a694535d62e7b96a010ce95c26fb6Chris Lattner (void)x; 73da2db468d9a694535d62e7b96a010ce95c26fb6Chris Lattner} 841826bb59d2ef5e8c8a4a0cd2b06a7a011b67b4dEli Friedmanvoid bar() { 941826bb59d2ef5e8c8a4a0cd2b06a7a011b67b4dEli Friedman char* a; 1041826bb59d2ef5e8c8a4a0cd2b06a7a011b67b4dEli Friedman double b; 1141826bb59d2ef5e8c8a4a0cd2b06a7a011b67b4dEli Friedman b = (double)a; // expected-error {{pointer cannot be cast to type}} 1241826bb59d2ef5e8c8a4a0cd2b06a7a011b67b4dEli Friedman a = (char*)b; // expected-error {{cannot be cast to a pointer type}} 1341826bb59d2ef5e8c8a4a0cd2b06a7a011b67b4dEli Friedman} 143da2db468d9a694535d62e7b96a010ce95c26fb6Chris Lattner 15a79f8b3989558884d9dbbbdbd4da861117345865Fariborz Jahanianlong bar1(long *next) { 16a79f8b3989558884d9dbbbdbd4da861117345865Fariborz Jahanian return (long)(*next)++; 17a79f8b3989558884d9dbbbdbd4da861117345865Fariborz Jahanian} 18a79f8b3989558884d9dbbbdbd4da861117345865Fariborz Jahanian 19927b180b8debfcfd80d36fdec9d0fddba1c283e7Abramo Bagnaratypedef _Bool Bool; 20927b180b8debfcfd80d36fdec9d0fddba1c283e7Abramo Bagnaratypedef int Int; 21927b180b8debfcfd80d36fdec9d0fddba1c283e7Abramo Bagnaratypedef long Long; 22927b180b8debfcfd80d36fdec9d0fddba1c283e7Abramo Bagnaratypedef float Float; 23927b180b8debfcfd80d36fdec9d0fddba1c283e7Abramo Bagnaratypedef double Double; 24927b180b8debfcfd80d36fdec9d0fddba1c283e7Abramo Bagnaratypedef _Complex int CInt; 25927b180b8debfcfd80d36fdec9d0fddba1c283e7Abramo Bagnaratypedef _Complex long CLong; 26927b180b8debfcfd80d36fdec9d0fddba1c283e7Abramo Bagnaratypedef _Complex float CFloat; 27927b180b8debfcfd80d36fdec9d0fddba1c283e7Abramo Bagnaratypedef _Complex double CDouble; 28927b180b8debfcfd80d36fdec9d0fddba1c283e7Abramo Bagnaratypedef void *VoidPtr; 29927b180b8debfcfd80d36fdec9d0fddba1c283e7Abramo Bagnaratypedef char *CharPtr; 30927b180b8debfcfd80d36fdec9d0fddba1c283e7Abramo Bagnara 31927b180b8debfcfd80d36fdec9d0fddba1c283e7Abramo Bagnaravoid testBool(Bool v) { 32927b180b8debfcfd80d36fdec9d0fddba1c283e7Abramo Bagnara (void) (Bool) v; 33927b180b8debfcfd80d36fdec9d0fddba1c283e7Abramo Bagnara (void) (Int) v; 34927b180b8debfcfd80d36fdec9d0fddba1c283e7Abramo Bagnara (void) (Long) v; 35927b180b8debfcfd80d36fdec9d0fddba1c283e7Abramo Bagnara (void) (Float) v; 36927b180b8debfcfd80d36fdec9d0fddba1c283e7Abramo Bagnara (void) (Double) v; 37927b180b8debfcfd80d36fdec9d0fddba1c283e7Abramo Bagnara (void) (CInt) v; 38927b180b8debfcfd80d36fdec9d0fddba1c283e7Abramo Bagnara (void) (CLong) v; 39927b180b8debfcfd80d36fdec9d0fddba1c283e7Abramo Bagnara (void) (CFloat) v; 40927b180b8debfcfd80d36fdec9d0fddba1c283e7Abramo Bagnara (void) (CDouble) v; 41927b180b8debfcfd80d36fdec9d0fddba1c283e7Abramo Bagnara (void) (VoidPtr) v; 42927b180b8debfcfd80d36fdec9d0fddba1c283e7Abramo Bagnara (void) (CharPtr) v; 43927b180b8debfcfd80d36fdec9d0fddba1c283e7Abramo Bagnara} 44927b180b8debfcfd80d36fdec9d0fddba1c283e7Abramo Bagnara 45927b180b8debfcfd80d36fdec9d0fddba1c283e7Abramo Bagnaravoid testInt(Int v) { 46927b180b8debfcfd80d36fdec9d0fddba1c283e7Abramo Bagnara (void) (Bool) v; 47927b180b8debfcfd80d36fdec9d0fddba1c283e7Abramo Bagnara (void) (Int) v; 48927b180b8debfcfd80d36fdec9d0fddba1c283e7Abramo Bagnara (void) (Long) v; 49927b180b8debfcfd80d36fdec9d0fddba1c283e7Abramo Bagnara (void) (Float) v; 50927b180b8debfcfd80d36fdec9d0fddba1c283e7Abramo Bagnara (void) (Double) v; 51927b180b8debfcfd80d36fdec9d0fddba1c283e7Abramo Bagnara (void) (CInt) v; 52927b180b8debfcfd80d36fdec9d0fddba1c283e7Abramo Bagnara (void) (CLong) v; 53927b180b8debfcfd80d36fdec9d0fddba1c283e7Abramo Bagnara (void) (CFloat) v; 54927b180b8debfcfd80d36fdec9d0fddba1c283e7Abramo Bagnara (void) (CDouble) v; 55927b180b8debfcfd80d36fdec9d0fddba1c283e7Abramo Bagnara (void) (VoidPtr) v; 56927b180b8debfcfd80d36fdec9d0fddba1c283e7Abramo Bagnara (void) (CharPtr) v; 57927b180b8debfcfd80d36fdec9d0fddba1c283e7Abramo Bagnara} 58927b180b8debfcfd80d36fdec9d0fddba1c283e7Abramo Bagnara 59927b180b8debfcfd80d36fdec9d0fddba1c283e7Abramo Bagnaravoid testLong(Long v) { 60927b180b8debfcfd80d36fdec9d0fddba1c283e7Abramo Bagnara (void) (Bool) v; 61927b180b8debfcfd80d36fdec9d0fddba1c283e7Abramo Bagnara (void) (Int) v; 62927b180b8debfcfd80d36fdec9d0fddba1c283e7Abramo Bagnara (void) (Long) v; 63927b180b8debfcfd80d36fdec9d0fddba1c283e7Abramo Bagnara (void) (Float) v; 64927b180b8debfcfd80d36fdec9d0fddba1c283e7Abramo Bagnara (void) (Double) v; 65927b180b8debfcfd80d36fdec9d0fddba1c283e7Abramo Bagnara (void) (CInt) v; 66927b180b8debfcfd80d36fdec9d0fddba1c283e7Abramo Bagnara (void) (CLong) v; 67927b180b8debfcfd80d36fdec9d0fddba1c283e7Abramo Bagnara (void) (CFloat) v; 68927b180b8debfcfd80d36fdec9d0fddba1c283e7Abramo Bagnara (void) (CDouble) v; 69927b180b8debfcfd80d36fdec9d0fddba1c283e7Abramo Bagnara (void) (VoidPtr) v; 70927b180b8debfcfd80d36fdec9d0fddba1c283e7Abramo Bagnara (void) (CharPtr) v; 71927b180b8debfcfd80d36fdec9d0fddba1c283e7Abramo Bagnara} 72927b180b8debfcfd80d36fdec9d0fddba1c283e7Abramo Bagnara 73927b180b8debfcfd80d36fdec9d0fddba1c283e7Abramo Bagnaravoid testFloat(Float v) { 74927b180b8debfcfd80d36fdec9d0fddba1c283e7Abramo Bagnara (void) (Bool) v; 75927b180b8debfcfd80d36fdec9d0fddba1c283e7Abramo Bagnara (void) (Int) v; 76927b180b8debfcfd80d36fdec9d0fddba1c283e7Abramo Bagnara (void) (Long) v; 77927b180b8debfcfd80d36fdec9d0fddba1c283e7Abramo Bagnara (void) (Float) v; 78927b180b8debfcfd80d36fdec9d0fddba1c283e7Abramo Bagnara (void) (Double) v; 79927b180b8debfcfd80d36fdec9d0fddba1c283e7Abramo Bagnara (void) (CInt) v; 80927b180b8debfcfd80d36fdec9d0fddba1c283e7Abramo Bagnara (void) (CLong) v; 81927b180b8debfcfd80d36fdec9d0fddba1c283e7Abramo Bagnara (void) (CFloat) v; 82927b180b8debfcfd80d36fdec9d0fddba1c283e7Abramo Bagnara (void) (CDouble) v; 83927b180b8debfcfd80d36fdec9d0fddba1c283e7Abramo Bagnara} 84927b180b8debfcfd80d36fdec9d0fddba1c283e7Abramo Bagnara 85927b180b8debfcfd80d36fdec9d0fddba1c283e7Abramo Bagnaravoid testDouble(Double v) { 86927b180b8debfcfd80d36fdec9d0fddba1c283e7Abramo Bagnara (void) (Bool) v; 87927b180b8debfcfd80d36fdec9d0fddba1c283e7Abramo Bagnara (void) (Int) v; 88927b180b8debfcfd80d36fdec9d0fddba1c283e7Abramo Bagnara (void) (Long) v; 89927b180b8debfcfd80d36fdec9d0fddba1c283e7Abramo Bagnara (void) (Float) v; 90927b180b8debfcfd80d36fdec9d0fddba1c283e7Abramo Bagnara (void) (Double) v; 91927b180b8debfcfd80d36fdec9d0fddba1c283e7Abramo Bagnara (void) (CInt) v; 92927b180b8debfcfd80d36fdec9d0fddba1c283e7Abramo Bagnara (void) (CLong) v; 93927b180b8debfcfd80d36fdec9d0fddba1c283e7Abramo Bagnara (void) (CFloat) v; 94927b180b8debfcfd80d36fdec9d0fddba1c283e7Abramo Bagnara (void) (CDouble) v; 95927b180b8debfcfd80d36fdec9d0fddba1c283e7Abramo Bagnara} 96927b180b8debfcfd80d36fdec9d0fddba1c283e7Abramo Bagnara 97927b180b8debfcfd80d36fdec9d0fddba1c283e7Abramo Bagnaravoid testCI(CInt v) { 98927b180b8debfcfd80d36fdec9d0fddba1c283e7Abramo Bagnara (void) (Bool) v; 99927b180b8debfcfd80d36fdec9d0fddba1c283e7Abramo Bagnara (void) (Int) v; 100927b180b8debfcfd80d36fdec9d0fddba1c283e7Abramo Bagnara (void) (Long) v; 101927b180b8debfcfd80d36fdec9d0fddba1c283e7Abramo Bagnara (void) (Float) v; 102927b180b8debfcfd80d36fdec9d0fddba1c283e7Abramo Bagnara (void) (Double) v; 103927b180b8debfcfd80d36fdec9d0fddba1c283e7Abramo Bagnara (void) (CInt) v; 104927b180b8debfcfd80d36fdec9d0fddba1c283e7Abramo Bagnara (void) (CLong) v; 105927b180b8debfcfd80d36fdec9d0fddba1c283e7Abramo Bagnara (void) (CFloat) v; 106927b180b8debfcfd80d36fdec9d0fddba1c283e7Abramo Bagnara (void) (CDouble) v; 107927b180b8debfcfd80d36fdec9d0fddba1c283e7Abramo Bagnara} 108927b180b8debfcfd80d36fdec9d0fddba1c283e7Abramo Bagnara 109927b180b8debfcfd80d36fdec9d0fddba1c283e7Abramo Bagnaravoid testCLong(CLong v) { 110927b180b8debfcfd80d36fdec9d0fddba1c283e7Abramo Bagnara (void) (Bool) v; 111927b180b8debfcfd80d36fdec9d0fddba1c283e7Abramo Bagnara (void) (Int) v; 112927b180b8debfcfd80d36fdec9d0fddba1c283e7Abramo Bagnara (void) (Long) v; 113927b180b8debfcfd80d36fdec9d0fddba1c283e7Abramo Bagnara (void) (Float) v; 114927b180b8debfcfd80d36fdec9d0fddba1c283e7Abramo Bagnara (void) (Double) v; 115927b180b8debfcfd80d36fdec9d0fddba1c283e7Abramo Bagnara (void) (CInt) v; 116927b180b8debfcfd80d36fdec9d0fddba1c283e7Abramo Bagnara (void) (CLong) v; 117927b180b8debfcfd80d36fdec9d0fddba1c283e7Abramo Bagnara (void) (CFloat) v; 118927b180b8debfcfd80d36fdec9d0fddba1c283e7Abramo Bagnara (void) (CDouble) v; 119927b180b8debfcfd80d36fdec9d0fddba1c283e7Abramo Bagnara} 120927b180b8debfcfd80d36fdec9d0fddba1c283e7Abramo Bagnara 121927b180b8debfcfd80d36fdec9d0fddba1c283e7Abramo Bagnaravoid testCFloat(CFloat v) { 122927b180b8debfcfd80d36fdec9d0fddba1c283e7Abramo Bagnara (void) (Bool) v; 123927b180b8debfcfd80d36fdec9d0fddba1c283e7Abramo Bagnara (void) (Int) v; 124927b180b8debfcfd80d36fdec9d0fddba1c283e7Abramo Bagnara (void) (Long) v; 125927b180b8debfcfd80d36fdec9d0fddba1c283e7Abramo Bagnara (void) (Float) v; 126927b180b8debfcfd80d36fdec9d0fddba1c283e7Abramo Bagnara (void) (Double) v; 127927b180b8debfcfd80d36fdec9d0fddba1c283e7Abramo Bagnara (void) (CInt) v; 128927b180b8debfcfd80d36fdec9d0fddba1c283e7Abramo Bagnara (void) (CLong) v; 129927b180b8debfcfd80d36fdec9d0fddba1c283e7Abramo Bagnara (void) (CFloat) v; 130927b180b8debfcfd80d36fdec9d0fddba1c283e7Abramo Bagnara (void) (CDouble) v; 131927b180b8debfcfd80d36fdec9d0fddba1c283e7Abramo Bagnara} 132927b180b8debfcfd80d36fdec9d0fddba1c283e7Abramo Bagnara 133927b180b8debfcfd80d36fdec9d0fddba1c283e7Abramo Bagnaravoid testCDouble(CDouble v) { 134927b180b8debfcfd80d36fdec9d0fddba1c283e7Abramo Bagnara (void) (Bool) v; 135927b180b8debfcfd80d36fdec9d0fddba1c283e7Abramo Bagnara (void) (Int) v; 136927b180b8debfcfd80d36fdec9d0fddba1c283e7Abramo Bagnara (void) (Long) v; 137927b180b8debfcfd80d36fdec9d0fddba1c283e7Abramo Bagnara (void) (Float) v; 138927b180b8debfcfd80d36fdec9d0fddba1c283e7Abramo Bagnara (void) (Double) v; 139927b180b8debfcfd80d36fdec9d0fddba1c283e7Abramo Bagnara (void) (CInt) v; 140927b180b8debfcfd80d36fdec9d0fddba1c283e7Abramo Bagnara (void) (CLong) v; 141927b180b8debfcfd80d36fdec9d0fddba1c283e7Abramo Bagnara (void) (CFloat) v; 142927b180b8debfcfd80d36fdec9d0fddba1c283e7Abramo Bagnara (void) (CDouble) v; 143927b180b8debfcfd80d36fdec9d0fddba1c283e7Abramo Bagnara} 144927b180b8debfcfd80d36fdec9d0fddba1c283e7Abramo Bagnara 145927b180b8debfcfd80d36fdec9d0fddba1c283e7Abramo Bagnaravoid testVoidPtr(VoidPtr v) { 146927b180b8debfcfd80d36fdec9d0fddba1c283e7Abramo Bagnara (void) (Bool) v; 147927b180b8debfcfd80d36fdec9d0fddba1c283e7Abramo Bagnara (void) (Int) v; 148927b180b8debfcfd80d36fdec9d0fddba1c283e7Abramo Bagnara (void) (Long) v; 149927b180b8debfcfd80d36fdec9d0fddba1c283e7Abramo Bagnara (void) (VoidPtr) v; 150927b180b8debfcfd80d36fdec9d0fddba1c283e7Abramo Bagnara (void) (CharPtr) v; 151927b180b8debfcfd80d36fdec9d0fddba1c283e7Abramo Bagnara} 152927b180b8debfcfd80d36fdec9d0fddba1c283e7Abramo Bagnara 153927b180b8debfcfd80d36fdec9d0fddba1c283e7Abramo Bagnaravoid testCharPtr(CharPtr v) { 154927b180b8debfcfd80d36fdec9d0fddba1c283e7Abramo Bagnara (void) (Bool) v; 155927b180b8debfcfd80d36fdec9d0fddba1c283e7Abramo Bagnara (void) (Int) v; 156927b180b8debfcfd80d36fdec9d0fddba1c283e7Abramo Bagnara (void) (Long) v; 157927b180b8debfcfd80d36fdec9d0fddba1c283e7Abramo Bagnara (void) (VoidPtr) v; 158927b180b8debfcfd80d36fdec9d0fddba1c283e7Abramo Bagnara (void) (CharPtr) v; 159927b180b8debfcfd80d36fdec9d0fddba1c283e7Abramo Bagnara} 160