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