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