1// { dg-do assemble } 2// { dg-options "" } 3// g++ 1.36.1 bug 900210_02 4 5// g++ allows integral type values to be assigned to variables of pointer 6// types. According to the C++ Reference Manual, this is illegal. 7 8// Cfront 2.0 passes this test. 9 10// keywords: integral types, pointer types, implicit type conversions 11// Special Options: -ansi -pedantic-errors 12int i; 13long l; 14short s; 15char c; 16float f; 17double d; 18long double ld; 19enum E {enum_value_0} e; 20 21signed int si; 22signed long sl; 23signed short ss; 24signed char sc; 25 26unsigned int ui; 27unsigned long ul; 28unsigned short us; 29unsigned char uc; 30 31void* vp; 32char* cp; 33int* ip; 34enum E2 {enum_value_1} * ep; 35struct S { int member; } * sp; 36void (*fp) (void); 37 38void global_function () 39{ 40 vp = i; /* { dg-error "" } */ 41 vp = l; /* { dg-error "" } */ 42 vp = s; /* { dg-error "" } */ 43 vp = c; /* { dg-error "" } */ 44 vp = si; /* { dg-error "" } */ 45 vp = sl; /* { dg-error "" } */ 46 vp = ss; /* { dg-error "" } */ 47 vp = sc; /* { dg-error "" } */ 48 vp = ui; /* { dg-error "" } */ 49 vp = ul; /* { dg-error "" } */ 50 vp = us; /* { dg-error "" } */ 51 vp = uc; /* { dg-error "" } */ 52 cp = i; /* { dg-error "" } */ 53 cp = l; /* { dg-error "" } */ 54 cp = s; /* { dg-error "" } */ 55 cp = c; /* { dg-error "" } */ 56 cp = si; /* { dg-error "" } */ 57 cp = sl; /* { dg-error "" } */ 58 cp = ss; /* { dg-error "" } */ 59 cp = sc; /* { dg-error "" } */ 60 cp = ui; /* { dg-error "" } */ 61 cp = ul; /* { dg-error "" } */ 62 cp = us; /* { dg-error "" } */ 63 cp = uc; /* { dg-error "" } */ 64 ip = i; /* { dg-error "" } */ 65 ip = l; /* { dg-error "" } */ 66 ip = s; /* { dg-error "" } */ 67 ip = c; /* { dg-error "" } */ 68 ip = si; /* { dg-error "" } */ 69 ip = sl; /* { dg-error "" } */ 70 ip = ss; /* { dg-error "" } */ 71 ip = sc; /* { dg-error "" } */ 72 ip = ui; /* { dg-error "" } */ 73 ip = ul; /* { dg-error "" } */ 74 ip = us; /* { dg-error "" } */ 75 ip = uc; /* { dg-error "" } */ 76 ep = i; /* { dg-error "" } */ 77 ep = l; /* { dg-error "" } */ 78 ep = s; /* { dg-error "" } */ 79 ep = c; /* { dg-error "" } */ 80 ep = si; /* { dg-error "" } */ 81 ep = sl; /* { dg-error "" } */ 82 ep = ss; /* { dg-error "" } */ 83 ep = sc; /* { dg-error "" } */ 84 ep = ui; /* { dg-error "" } */ 85 ep = ul; /* { dg-error "" } */ 86 ep = us; /* { dg-error "" } */ 87 ep = uc; /* { dg-error "" } */ 88 sp = i; /* { dg-error "" } */ 89 sp = l; /* { dg-error "" } */ 90 sp = s; /* { dg-error "" } */ 91 sp = c; /* { dg-error "" } */ 92 sp = si; /* { dg-error "" } */ 93 sp = sl; /* { dg-error "" } */ 94 sp = ss; /* { dg-error "" } */ 95 sp = sc; /* { dg-error "" } */ 96 sp = ui; /* { dg-error "" } */ 97 sp = ul; /* { dg-error "" } */ 98 sp = us; /* { dg-error "" } */ 99 sp = uc; /* { dg-error "" } */ 100 fp = i; /* { dg-error "" } */ 101 fp = l; /* { dg-error "" } */ 102 fp = s; /* { dg-error "" } */ 103 fp = c; /* { dg-error "" } */ 104 fp = si; /* { dg-error "" } */ 105 fp = sl; /* { dg-error "" } */ 106 fp = ss; /* { dg-error "" } */ 107 fp = sc; /* { dg-error "" } */ 108 fp = ui; /* { dg-error "" } */ 109 fp = ul; /* { dg-error "" } */ 110 fp = us; /* { dg-error "" } */ 111 fp = uc; /* { dg-error "" } */ 112} 113 114int main () { return 0; } 115