diff options
Diffstat (limited to 'gcc/testsuite/g++.old-deja/g++.bugs/900211_04.C')
-rw-r--r-- | gcc/testsuite/g++.old-deja/g++.bugs/900211_04.C | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/gcc/testsuite/g++.old-deja/g++.bugs/900211_04.C b/gcc/testsuite/g++.old-deja/g++.bugs/900211_04.C new file mode 100644 index 00000000000..81bea9ef7f1 --- /dev/null +++ b/gcc/testsuite/g++.old-deja/g++.bugs/900211_04.C @@ -0,0 +1,27 @@ +// g++ 1.36.1 bug 900211_04 + +// g++ fails to flag as errors attempts to compare pointer values against +// (non-zero) 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; /* ERROR - caught by g++ */ + result = i != p; /* ERROR - caught by g++ */ + result = i > p; /* ERROR - missed */ + result = i < p; /* ERROR - missed */ + result = i >= p; /* ERROR - missed */ + result = i <= p; /* ERROR - missed */ +} + +int main () { return 0; } |