]> TLD Linux GIT Repositories - packages/gcc.git/blobdiff - pr88419-revert.patch
- merged 9.2.0 from PLD
[packages/gcc.git] / pr88419-revert.patch
diff --git a/pr88419-revert.patch b/pr88419-revert.patch
deleted file mode 100644 (file)
index a8a0600..0000000
+++ /dev/null
@@ -1,47 +0,0 @@
-# DP: Revert the fix for PC c++/88419, causing PR c++/89906.
-
-2019-03-08  Jason Merrill  <jason@redhat.com>
-
-       PR c++/88419 - C++17 ICE with class template arg deduction.
-       * pt.c (make_template_placeholder): Set TYPE_CANONICAL after
-       CLASS_PLACEHOLDER_TEMPLATE.
-
---- a/gcc/cp/pt.c
-+++ b/gcc/cp/pt.c
-@@ -26002,10 +26002,8 @@
- tree
- make_template_placeholder (tree tmpl)
- {
--  tree t = make_auto_1 (DECL_NAME (tmpl), false);
-+  tree t = make_auto_1 (DECL_NAME (tmpl), true);
-   CLASS_PLACEHOLDER_TEMPLATE (t) = tmpl;
--  /* Our canonical type depends on the placeholder.  */
--  TYPE_CANONICAL (t) = canonical_type_parameter (t);
-   return t;
- }
---- a/gcc/testsuite/g++.dg/cpp1z/class-deduction62.C
-+++ b/gcc/testsuite/g++.dg/cpp1z/class-deduction62.C
-@@ -1,22 +0,0 @@
--// PR c++/88419
--// { dg-do compile { target c++17 } }
--
--template<class> struct ref_view {
--  template<class T> ref_view(T&&);
--};
--
--template<class R> ref_view(R&) -> ref_view<R>;
--
--struct ref_fn {
--  template<class R> auto operator()(R r) const
--    noexcept(noexcept(ref_view{r}));
--};
--
--template<class R> struct indirect_view {
--  indirect_view(R);
--};
--
--struct indirect_fn {
--  template<class R> auto operator()(R r) const
--    noexcept(noexcept(indirect_view{r}));
--};