diff options
author | Ben Cheng <bccheng@google.com> | 2014-03-25 22:37:19 -0700 |
---|---|---|
committer | Ben Cheng <bccheng@google.com> | 2014-03-25 22:37:19 -0700 |
commit | 1bc5aee63eb72b341f506ad058502cd0361f0d10 (patch) | |
tree | c607e8252f3405424ff15bc2d00aa38dadbb2518 /gcc-4.9/gcc/testsuite/g++.old-deja/g++.bugs/900210_01.C | |
parent | 283a0bf58fcf333c58a2a92c3ebbc41fb9eb1fdb (diff) | |
download | toolchain_gcc-1bc5aee63eb72b341f506ad058502cd0361f0d10.tar.gz toolchain_gcc-1bc5aee63eb72b341f506ad058502cd0361f0d10.tar.bz2 toolchain_gcc-1bc5aee63eb72b341f506ad058502cd0361f0d10.zip |
Initial checkin of GCC 4.9.0 from trunk (r208799).
Change-Id: I48a3c08bb98542aa215912a75f03c0890e497dba
Diffstat (limited to 'gcc-4.9/gcc/testsuite/g++.old-deja/g++.bugs/900210_01.C')
-rw-r--r-- | gcc-4.9/gcc/testsuite/g++.old-deja/g++.bugs/900210_01.C | 113 |
1 files changed, 113 insertions, 0 deletions
diff --git a/gcc-4.9/gcc/testsuite/g++.old-deja/g++.bugs/900210_01.C b/gcc-4.9/gcc/testsuite/g++.old-deja/g++.bugs/900210_01.C new file mode 100644 index 000000000..5bbac2cba --- /dev/null +++ b/gcc-4.9/gcc/testsuite/g++.old-deja/g++.bugs/900210_01.C @@ -0,0 +1,113 @@ +// { 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; } |