diff options
author | Jan Hubicka <jh@suse.cz> | 2009-04-16 13:14:02 +0000 |
---|---|---|
committer | Jan Hubicka <jh@suse.cz> | 2009-04-16 13:14:02 +0000 |
commit | ccf3ede44a78ad464a3789f1ee3f5334a8d65aa0 (patch) | |
tree | fbe4680089027ac037fe71672be0b4699d9e2fef /gcc/testsuite | |
parent | b5b7d3dee60cfa073187ae6b0b0d17bf3a0333af (diff) |
Merge from mainline.
git-svn-id: https://gcc.gnu.org/svn/gcc/branches/pretty-ipa@146188 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/testsuite')
-rw-r--r-- | gcc/testsuite/ChangeLog | 14 | ||||
-rw-r--r-- | gcc/testsuite/g++.dg/torture/pr39764.C | 14 | ||||
-rw-r--r-- | gcc/testsuite/g++.dg/warn/Wunused-13.C | 7 | ||||
-rw-r--r-- | gcc/testsuite/gcc.dg/Wenum-compare-1.c | 33 |
4 files changed, 68 insertions, 0 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index a6e9bf7329e..00964103e75 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,17 @@ +2009-04-15 Le-Chun Wu <lcwu@google.com> + + PR c++/39551 + * g++.dg/warn/Wunused-13.C: New testcase. + +2009-04-15 Ian Lance Taylor <iant@google.com> + + * gcc.dg/Wenum-compare-1.c: New testcase. + +2009-04-15 Richard Guenther <rguenther@suse.de> + + PR tree-optimization/39764 + * g++.dg/torture/pr39764.C: New testcase. + 2009-04-15 Nathan Sidwell <nathan@codesourcery.com> * g++.dg/ext/altivec-17.C: New. diff --git a/gcc/testsuite/g++.dg/torture/pr39764.C b/gcc/testsuite/g++.dg/torture/pr39764.C new file mode 100644 index 00000000000..a8901331352 --- /dev/null +++ b/gcc/testsuite/g++.dg/torture/pr39764.C @@ -0,0 +1,14 @@ +/* { dg-do compile } */ + +class A; +class B { }; +extern const double NaN; +B foo(A* exec, double d); +inline B baz(A* a) { + return foo(a, NaN); +} +B bar(A* a) { + return baz(a); +} +extern const double NaN = (__builtin_nanf("")); + diff --git a/gcc/testsuite/g++.dg/warn/Wunused-13.C b/gcc/testsuite/g++.dg/warn/Wunused-13.C new file mode 100644 index 00000000000..d0eae113e9e --- /dev/null +++ b/gcc/testsuite/g++.dg/warn/Wunused-13.C @@ -0,0 +1,7 @@ +// Test whether -Wunused handles effectless indirect_ref operation ('*'). +// { dg-do compile } +// { dg-options "-Wunused" } + +void Foo(int* x) { + *x++; // { dg-warning "value computed is not used" } +} diff --git a/gcc/testsuite/gcc.dg/Wenum-compare-1.c b/gcc/testsuite/gcc.dg/Wenum-compare-1.c new file mode 100644 index 00000000000..dd321e0f643 --- /dev/null +++ b/gcc/testsuite/gcc.dg/Wenum-compare-1.c @@ -0,0 +1,33 @@ +/* { dg-do compile } */ +/* { dg-options "-Wenum-compare" } */ +enum E1 { A, B, C }; +enum E2 { D, E, F }; +extern void f2 (); +void +f1 () +{ + int a = A; + int d = D; + enum E1 e1 = A; + enum E2 e2 = D; + if (A > D) /* { dg-warning "comparison between .enum E1. and .enum E2." } */ + f2 (); + if (e1 > e2) /* { dg-warning "comparison between .enum E1. and .enum E2." } */ + f2 (); + if (e1 > e2 + 1) + f2 (); + if (A > 0) + f2 (); + if (e1 > 0) + f2 (); + if (A + D > 0) + f2 (); + if (e1 > 0) + f2 (); + if (A + D > 0) + f2 (); + if ((int) A > D) + f2 (); + if ((int) e1 > e2) + f2 (); +} |