// { dg-do assemble } // g++ 1.36.1 bug 900210_01 // g++ allows pointer type values to be assigned to variables of integal // types. According to the C++ Reference Manual, this is illegal. // Cfront 2.0 passes this test. // keywords: pointer types, integral types, implicit type conversions 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 () { i = vp; /* { dg-error "" } */ i = cp; /* { dg-error "" } */ i = ip; /* { dg-error "" } */ i = ep; /* { dg-error "" } */ i = sp; /* { dg-error "" } */ i = fp; /* { dg-error "" } */ l = vp; /* { dg-error "" } */ l = cp; /* { dg-error "" } */ l = ip; /* { dg-error "" } */ l = ep; /* { dg-error "" } */ l = sp; /* { dg-error "" } */ l = fp; /* { dg-error "" } */ s = vp; /* { dg-error "" } */ s = cp; /* { dg-error "" } */ s = ip; /* { dg-error "" } */ s = ep; /* { dg-error "" } */ s = sp; /* { dg-error "" } */ s = fp; /* { dg-error "" } */ c = vp; /* { dg-error "" } */ c = cp; /* { dg-error "" } */ c = ip; /* { dg-error "" } */ c = ep; /* { dg-error "" } */ c = sp; /* { dg-error "" } */ c = fp; /* { dg-error "" } */ si = vp; /* { dg-error "" } */ si = cp; /* { dg-error "" } */ si = ip; /* { dg-error "" } */ si = ep; /* { dg-error "" } */ si = sp; /* { dg-error "" } */ si = fp; /* { dg-error "" } */ sl = vp; /* { dg-error "" } */ sl = cp; /* { dg-error "" } */ sl = ip; /* { dg-error "" } */ sl = ep; /* { dg-error "" } */ sl = sp; /* { dg-error "" } */ sl = fp; /* { dg-error "" } */ ss = vp; /* { dg-error "" } */ ss = cp; /* { dg-error "" } */ ss = ip; /* { dg-error "" } */ ss = ep; /* { dg-error "" } */ ss = sp; /* { dg-error "" } */ ss = fp; /* { dg-error "" } */ sc = vp; /* { dg-error "" } */ sc = cp; /* { dg-error "" } */ sc = ip; /* { dg-error "" } */ sc = ep; /* { dg-error "" } */ sc = sp; /* { dg-error "" } */ sc = fp; /* { dg-error "" } */ ui = vp; /* { dg-error "" } */ ui = cp; /* { dg-error "" } */ ui = ip; /* { dg-error "" } */ ui = ep; /* { dg-error "" } */ ui = sp; /* { dg-error "" } */ ui = fp; /* { dg-error "" } */ ul = vp; /* { dg-error "" } */ ul = cp; /* { dg-error "" } */ ul = ip; /* { dg-error "" } */ ul = ep; /* { dg-error "" } */ ul = sp; /* { dg-error "" } */ ul = fp; /* { dg-error "" } */ us = vp; /* { dg-error "" } */ us = cp; /* { dg-error "" } */ us = ip; /* { dg-error "" } */ us = ep; /* { dg-error "" } */ us = sp; /* { dg-error "" } */ us = fp; /* { dg-error "" } */ uc = vp; /* { dg-error "" } */ uc = cp; /* { dg-error "" } */ uc = ip; /* { dg-error "" } */ uc = ep; /* { dg-error "" } */ uc = sp; /* { dg-error "" } */ uc = fp; /* { dg-error "" } */ } int main () { return 0; }