diff options
author | paolo <paolo@138bc75d-0d04-0410-961f-82ee72b054a4> | 2011-10-25 13:48:10 +0000 |
---|---|---|
committer | paolo <paolo@138bc75d-0d04-0410-961f-82ee72b054a4> | 2011-10-25 13:48:10 +0000 |
commit | 6deac0c22c6b398bb1ef11378055fab03f98c555 (patch) | |
tree | 2959658d0e342d3e47df32f4bf5915d78a8cd004 /gcc/testsuite | |
parent | 9643b6170250a3befc52da0e93f0a18d54f40fde (diff) | |
download | gcc-6deac0c22c6b398bb1ef11378055fab03f98c555.tar.gz |
/cp
2011-10-25 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/50858
* typeck.c (composite_pointer_type_r): Check return value of
composite_pointer_type_r for error_mark_node.
/testsuite
2011-10-25 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/50858
* g++.dg/overload/operator5.C: New.
/cp
2011-10-25 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/50861
* pt.c (tsubst_copy_and_build): Check return value of
tsubst_copy_and_build for error_mark_node.
/testsuite
2011-10-25 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/50861
* g++.dg/template/crash108.C: New.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180430 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/testsuite')
-rw-r--r-- | gcc/testsuite/ChangeLog | 10 | ||||
-rw-r--r-- | gcc/testsuite/g++.dg/overload/operator5.C | 16 | ||||
-rw-r--r-- | gcc/testsuite/g++.dg/template/crash108.C | 5 |
3 files changed, 31 insertions, 0 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 7cf4d3f1aae..40e1de1b672 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,13 @@ +2011-10-25 Paolo Carlini <paolo.carlini@oracle.com> + + PR c++/50858 + * g++.dg/overload/operator5.C: New. + +2011-10-25 Paolo Carlini <paolo.carlini@oracle.com> + + PR c++/50861 + * g++.dg/template/crash108.C: New. + 2011-10-25 Jakub Jelinek <jakub@redhat.com> PR tree-optimization/50596 diff --git a/gcc/testsuite/g++.dg/overload/operator5.C b/gcc/testsuite/g++.dg/overload/operator5.C new file mode 100644 index 00000000000..574defb891b --- /dev/null +++ b/gcc/testsuite/g++.dg/overload/operator5.C @@ -0,0 +1,16 @@ +// PR c++/50858 + +class String { + typedef struct ImplicitConversionFromWTFStringToBoolDisallowedA* + (String::*UnspecifiedBoolTypeA); + typedef struct ImplicitConversionFromWTFStringToBoolDisallowedB* + (String::*UnspecifiedBoolTypeB); + operator UnspecifiedBoolTypeA() const; + operator UnspecifiedBoolTypeB() const; +}; +inline bool equalIgnoringCase(const String& a, const String& b) { } +inline bool equalPossiblyIgnoringCase(const String& a, + const String& b, + bool ignoreCase) { + return ignoreCase ? equalIgnoringCase(a, b) : (a == b); } // { dg-error "ambiguous" } +// { dg-message "note" { target *-*-* } 15 } diff --git a/gcc/testsuite/g++.dg/template/crash108.C b/gcc/testsuite/g++.dg/template/crash108.C new file mode 100644 index 00000000000..0b25fde6e38 --- /dev/null +++ b/gcc/testsuite/g++.dg/template/crash108.C @@ -0,0 +1,5 @@ +// PR c++/50861 + +template<class T> struct A {A(int b=k(0));}; // { dg-error "arguments" } +void f(int k){A<int> a;} // // { dg-error "parameter|declared" } +// { dg-message "note" { target *-*-* } 3 } |