// { dg-do assemble } // { dg-options "" } // g++ 1.36.1 bug 900210_02 // g++ allows integral type values to be assigned to variables of pointer // types. According to the C++ Reference Manual, this is illegal. // Cfront 2.0 passes this test. // keywords: integral types, pointer types, implicit type conversions // Special Options: -ansi -pedantic-errors int i; long l; short s; char c; float f; double d; long double ld; enum E {enum_value_0} e; signed int si; signed long sl; signed short ss; signed char sc; unsigned int ui; unsigned long ul; unsigned short us; unsigned char uc; void* vp; char* cp; int* ip; enum E2 {enum_value_1} * ep; struct S { int member; } * sp; void (*fp) (void); void global_function () { vp = i; /* { dg-error "" } */ vp = l; /* { dg-error "" } */ vp = s; /* { dg-error "" } */ vp = c; /* { dg-error "" } */ vp = si; /* { dg-error "" } */ vp = sl; /* { dg-error "" } */ vp = ss; /* { dg-error "" } */ vp = sc; /* { dg-error "" } */ vp = ui; /* { dg-error "" } */ vp = ul; /* { dg-error "" } */ vp = us; /* { dg-error "" } */ vp = uc; /* { dg-error "" } */ cp = i; /* { dg-error "" } */ cp = l; /* { dg-error "" } */ cp = s; /* { dg-error "" } */ cp = c; /* { dg-error "" } */ cp = si; /* { dg-error "" } */ cp = sl; /* { dg-error "" } */ cp = ss; /* { dg-error "" } */ cp = sc; /* { dg-error "" } */ cp = ui; /* { dg-error "" } */ cp = ul; /* { dg-error "" } */ cp = us; /* { dg-error "" } */ cp = uc; /* { dg-error "" } */ ip = i; /* { dg-error "" } */ ip = l; /* { dg-error "" } */ ip = s; /* { dg-error "" } */ ip = c; /* { dg-error "" } */ ip = si; /* { dg-error "" } */ ip = sl; /* { dg-error "" } */ ip = ss; /* { dg-error "" } */ ip = sc; /* { dg-error "" } */ ip = ui; /* { dg-error "" } */ ip = ul; /* { dg-error "" } */ ip = us; /* { dg-error "" } */ ip = uc; /* { dg-error "" } */ ep = i; /* { dg-error "" } */ ep = l; /* { dg-error "" } */ ep = s; /* { dg-error "" } */ ep = c; /* { dg-error "" } */ ep = si; /* { dg-error "" } */ ep = sl; /* { dg-error "" } */ ep = ss; /* { dg-error "" } */ ep = sc; /* { dg-error "" } */ ep = ui; /* { dg-error "" } */ ep = ul; /* { dg-error "" } */ ep = us; /* { dg-error "" } */ ep = uc; /* { dg-error "" } */ sp = i; /* { dg-error "" } */ sp = l; /* { dg-error "" } */ sp = s; /* { dg-error "" } */ sp = c; /* { dg-error "" } */ sp = si; /* { dg-error "" } */ sp = sl; /* { dg-error "" } */ sp = ss; /* { dg-error "" } */ sp = sc; /* { dg-error "" } */ sp = ui; /* { dg-error "" } */ sp = ul; /* { dg-error "" } */ sp = us; /* { dg-error "" } */ sp = uc; /* { dg-error "" } */ fp = i; /* { dg-error "" } */ fp = l; /* { dg-error "" } */ fp = s; /* { dg-error "" } */ fp = c; /* { dg-error "" } */ fp = si; /* { dg-error "" } */ fp = sl; /* { dg-error "" } */ fp = ss; /* { dg-error "" } */ fp = sc; /* { dg-error "" } */ fp = ui; /* { dg-error "" } */ fp = ul; /* { dg-error "" } */ fp = us; /* { dg-error "" } */ fp = uc; /* { dg-error "" } */ } int main () { return 0; }