]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
re PR c++/52432 ([C++11] -fdump-tree-gimple causes ICE: Error reporting routines...
authorPaolo Carlini <paolo.carlini@oracle.com>
Thu, 20 Sep 2012 14:05:19 +0000 (14:05 +0000)
committerPaolo Carlini <paolo@gcc.gnu.org>
Thu, 20 Sep 2012 14:05:19 +0000 (14:05 +0000)
/cp
2012-09-20  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/52432
* pt.c (tsubst_copy_and_build): If tf_error is not set in the complain
argument don't call unqualified_name_lookup_error.

/testsuite
2012-09-20  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/52432
* g++.dg/cpp0x/decltype32.C: Tweak.

From-SVN: r191564

gcc/cp/ChangeLog
gcc/cp/pt.c
gcc/testsuite/ChangeLog
gcc/testsuite/g++.dg/cpp0x/decltype32.C

index 0427a1975038851e196bc96e5bf17d0378e4182a..0a5292f2729f22ad20068f2871d8b0ccadb6c9a4 100644 (file)
@@ -1,3 +1,9 @@
+2012-09-20  Paolo Carlini  <paolo.carlini@oracle.com>
+
+       PR c++/52432
+       * pt.c (tsubst_copy_and_build): If tf_error is not set in the complain
+       argument don't call unqualified_name_lookup_error.
+
 2012-09-19  Marc Glisse  <marc.glisse@inria.fr>
 
        PR c++/54581
index 16952bffa0c7b5a695d9fd05f798bae1a1465786..d00470eec1831dd3b6207bee25b28fa91ff52e4b 100644 (file)
@@ -13771,7 +13771,8 @@ tsubst_copy_and_build (tree t,
              }
            if (TREE_CODE (function) == IDENTIFIER_NODE)
              {
-               unqualified_name_lookup_error (function);
+               if (complain & tf_error)
+                 unqualified_name_lookup_error (function);
                release_tree_vector (call_args);
                RETURN (error_mark_node);
              }
index 8283c8eccbe370da39c918fd32e43ba856b10ee5..e419eb121ac4dc004c4d1c4bb158afa81156938a 100644 (file)
@@ -1,3 +1,8 @@
+2012-09-20  Paolo Carlini  <paolo.carlini@oracle.com>
+
+       PR c++/52432
+       * g++.dg/cpp0x/decltype32.C: Tweak.
+
 2012-09-20  Marc Glisse  <marc.glisse@inria.fr>
 
        * gcc.dg/tree-ssa/forwprop-19.c: Check in forwprop1.
index 6cb637bb2ddd3f7500348a94738b12440f703992..ac1f5d14b9c935de50670ef8c23c814bc6d7ae64 100644 (file)
@@ -3,10 +3,10 @@
 
 template <typename T>
 auto make_array(const T& il) ->
-decltype(make_array(il))       // { dg-error "not declared" }
+decltype(make_array(il))    // { dg-error "not declared|no matching|exceeds" }
 { }
 
 int main()
 {
-  int z = make_array(1);       // { dg-error "no match" }
+  int z = make_array(1);    // { dg-error "no matching" }
 }