OSDN Git Service

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