diff options
Diffstat (limited to 'gcc-4.8/gcc/testsuite/g++.old-deja/g++.bugs/900211_04.C')
-rw-r--r-- | gcc-4.8/gcc/testsuite/g++.old-deja/g++.bugs/900211_04.C | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/gcc-4.8/gcc/testsuite/g++.old-deja/g++.bugs/900211_04.C b/gcc-4.8/gcc/testsuite/g++.old-deja/g++.bugs/900211_04.C new file mode 100644 index 000000000..504360610 --- /dev/null +++ b/gcc-4.8/gcc/testsuite/g++.old-deja/g++.bugs/900211_04.C @@ -0,0 +1,28 @@ +// { dg-do assemble } +// g++ 1.36.1 bug 900211_04 + +// g++ fails to flag as errors attempts to compare pointer values against +// (nonzero) integer values; + +// Since implicit conversions of pointer to integers (or vise versa) are +// illegal, these comparisons are also illegal. + +// Cfront 2.0 passes this test. + +// keywords: comparison operators, pointer types, integral types + +int result; +int i; +char *p; + +void function () +{ + result = i == p; /* { dg-error "" } caught by g++ */ + result = i != p; /* { dg-error "" } caught by g++ */ + result = i > p; /* { dg-error "" } missed */ + result = i < p; /* { dg-error "" } missed */ + result = i >= p; /* { dg-error "" } missed */ + result = i <= p; /* { dg-error "" } missed */ +} + +int main () { return 0; } |