diff options
Diffstat (limited to 'gcc-4.8/gcc/testsuite/g++.old-deja/g++.bugs/900210_02.C')
-rw-r--r-- | gcc-4.8/gcc/testsuite/g++.old-deja/g++.bugs/900210_02.C | 114 |
1 files changed, 114 insertions, 0 deletions
diff --git a/gcc-4.8/gcc/testsuite/g++.old-deja/g++.bugs/900210_02.C b/gcc-4.8/gcc/testsuite/g++.old-deja/g++.bugs/900210_02.C new file mode 100644 index 000000000..b2d38cdbe --- /dev/null +++ b/gcc-4.8/gcc/testsuite/g++.old-deja/g++.bugs/900210_02.C @@ -0,0 +1,114 @@ +// { 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; } |