[Bug c++/95158] [10/11 Regression] Templates + Diamond Inheritance + Final = Pure Virtual Function Call

2020-06-02 Thread paolo.carlini at oracle dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95158

--- Comment #2 from Paolo Carlini  ---
That the issue goes away when templates are not involved seems an useful hint:
are we trying to optimize too early?

Sorry, for the time being I don't feel like assigning the bug to me, I'm in the
middle of too many other things...

[Bug c++/90320] [8/9/10 Regression] Explicit constructor called implicitly

2020-04-23 Thread paolo.carlini at oracle dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90320

--- Comment #5 from Paolo Carlini  ---
Thanks Marek.

[Bug c++/90448] [8/9/10 Regression] decltype-based lambda parameter pack is rejected

2020-04-22 Thread paolo.carlini at oracle dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90448

--- Comment #3 from Paolo Carlini  ---
This is already fixed in trunk: I'm adding the testcase and removingg the 10
Regression marker.

[Bug c++/94034] [10 Regression] Broken diagnostic: 'result_decl' not supported by dump_expr

2020-04-01 Thread paolo.carlini at oracle dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94034

Paolo Carlini  changed:

   What|Removed |Added

 Status|ASSIGNED|NEW
   Assignee|paolo.carlini at oracle dot com|unassigned at gcc dot 
gnu.org

--- Comment #4 from Paolo Carlini  ---
Not actively. I'm unassigning myself.

[Bug c++/88826] ICE (segfault) when compiling invalid C++ code with -std=c++2a

2020-04-01 Thread paolo.carlini at oracle dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88826

Paolo Carlini  changed:

   What|Removed |Added

  Known to work||9.1.0
 Resolution|--- |WORKSFORME
   Target Milestone|9.4 |9.0
 Status|ASSIGNED|RESOLVED

--- Comment #6 from Paolo Carlini  ---
Released 9.1.0 is not affected.

[Bug c++/94186] [10 Regression] compiler incorrectly accepts a requires clause with predicate of non-bool type

2020-03-17 Thread paolo.carlini at oracle dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94186

--- Comment #4 from Paolo Carlini  ---
To wit:

diff --git a/gcc/cp/constraint.cc b/gcc/cp/constraint.cc
index 697ed6726b8..59b43a31274 100644
--- a/gcc/cp/constraint.cc
+++ b/gcc/cp/constraint.cc
@@ -2543,8 +2543,7 @@ satisfy_atom (tree t, tree args, subst_info info)
 return cache.save (error_mark_node);
   if (!same_type_p (TREE_TYPE (result), boolean_type_node))
 {
-  if (info.noisy ())
-   error_at (loc, "constraint does not have type %");
+  error_at (loc, "constraint does not have type %");
   return cache.save (error_mark_node);
 }

passes testing. Since currently we don't have an accurate location for the
constraint we could also pretty print it with %qE (ie, what we did in 9).

[Bug c++/94186] [10 Regression] compiler incorrectly accepts a requires clause with predicate of non-bool type

2020-03-17 Thread paolo.carlini at oracle dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94186

Paolo Carlini  changed:

   What|Removed |Added

 CC||paolo.carlini at oracle dot com

--- Comment #3 from Paolo Carlini  ---
Isn't this fixable by simply tweaking satisfy_atom to unconditionally issue the
error?

[Bug c++/94034] [10 Regression] Broken diagnostic: 'result_decl' not supported by dump_expr

2020-03-05 Thread paolo.carlini at oracle dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94034

Paolo Carlini  changed:

   What|Removed |Added

 Status|NEW |ASSIGNED
   Assignee|unassigned at gcc dot gnu.org  |paolo.carlini at oracle 
dot com

--- Comment #2 from Paolo Carlini  ---
Mine.

[Bug c++/93314] [8/9/10 Regression] Invalid use of non-static data member causes ICE in gimplify_expr

2020-02-07 Thread paolo.carlini at oracle dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93314

--- Comment #4 from Paolo Carlini  ---
Related to c++/84939

[Bug c++/89404] [8/9 Regression] ICE in build_value_init_noctor, at cp/init.c:467

2020-02-07 Thread paolo.carlini at oracle dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89404

Paolo Carlini  changed:

   What|Removed |Added

Summary|[8/9/10 Regression] ICE in  |[8/9 Regression] ICE in
   |build_value_init_noctor, at |build_value_init_noctor, at
   |cp/init.c:467   |cp/init.c:467

--- Comment #4 from Paolo Carlini  ---
Already fixed in trunk.

[Bug c++/89913] [8/9 Regression] ICE with invalid using declaration

2020-02-05 Thread paolo.carlini at oracle dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89913

Paolo Carlini  changed:

   What|Removed |Added

 CC|paolo.carlini at oracle dot com|
Summary|[8/9/10 Regression] ICE |[8/9 Regression] ICE with
   |with invalid using  |invalid using declaration
   |declaration |

--- Comment #6 from Paolo Carlini  ---
Let's remove the regression marker for trunk.

[Bug c++/90338] [9/10 Regression] member function pointer non-type template parameter compile fail while matching

2020-01-30 Thread paolo.carlini at oracle dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90338

Paolo Carlini  changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Last reconfirmed||2020-01-30
 Ever confirmed|0   |1

--- Comment #2 from Paolo Carlini  ---
Note, this requires -std=c++2a to reproduce.

Current trunk is fine, I think I'll add the testcase and remove the 10
Regression marker.

[Bug c++/90915] [9/10 Regression] ICE in has_attribute, at c-family/c-attribs.c:4221

2020-01-28 Thread paolo.carlini at oracle dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90915

Paolo Carlini  changed:

   What|Removed |Added

 Status|NEW |ASSIGNED
   Assignee|unassigned at gcc dot gnu.org  |paolo.carlini at oracle 
dot com

--- Comment #3 from Paolo Carlini  ---
Mine.

[Bug c++/67491] [meta-bug] concepts issues

2020-01-23 Thread paolo.carlini at oracle dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67491
Bug 67491 depends on bug 92804, which changed state.

Bug 92804 Summary: [10 Regression] ICE trying to use concept as a 
nested-name-specifier
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=92804

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution|--- |FIXED

[Bug c++/92804] [10 Regression] ICE trying to use concept as a nested-name-specifier

2020-01-23 Thread paolo.carlini at oracle dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=92804

Paolo Carlini  changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution|--- |FIXED

--- Comment #5 from Paolo Carlini  ---
Fixed.

[Bug c++/92804] [10 Regression] ICE trying to use concept as a nested-name-specifier

2020-01-22 Thread paolo.carlini at oracle dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=92804

Paolo Carlini  changed:

   What|Removed |Added

 Status|NEW |ASSIGNED
   Assignee|unassigned at gcc dot gnu.org  |paolo.carlini at oracle 
dot com

--- Comment #3 from Paolo Carlini  ---
Seems doable.

[Bug c++/92593] [10 Regression] ICE with CTAD using undeclared constraint

2020-01-21 Thread paolo.carlini at oracle dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=92593

--- Comment #4 from Paolo Carlini  ---
Another testcase:

template
struct ref_view
{
  ref_view(T) { };
};

ref_view r{1};

[Bug c++/92536] [10 Regression] ICE when trying to using deduction guide following unknown type error

2020-01-20 Thread paolo.carlini at oracle dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=92536

Paolo Carlini  changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution|--- |FIXED

--- Comment #4 from Paolo Carlini  ---
Done.

[Bug c++/92536] [10 Regression] ICE when trying to using deduction guide following unknown type error

2020-01-18 Thread paolo.carlini at oracle dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=92536

Paolo Carlini  changed:

   What|Removed |Added

 CC||paolo.carlini at oracle dot com

--- Comment #2 from Paolo Carlini  ---
Seems already fixed.

[Bug c++/92542] [10 Regression] ICE with class template argument deduction following typo

2020-01-17 Thread paolo.carlini at oracle dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=92542

Paolo Carlini  changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 CC|paolo.carlini at oracle dot com|
 Resolution|--- |FIXED

--- Comment #5 from Paolo Carlini  ---
Thanks Jon.

[Bug c++/92542] [10 Regression] ICE with class template argument deduction following typo

2020-01-17 Thread paolo.carlini at oracle dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=92542

Paolo Carlini  changed:

   What|Removed |Added

 CC||paolo.carlini at oracle dot com

--- Comment #1 from Paolo Carlini  ---
Seems already fixed. If so I will add the testcases and resolve the bug.

[Bug c++/92804] [10 Regression] ICE trying to use concept as a nested-name-specifier

2020-01-17 Thread paolo.carlini at oracle dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=92804

Paolo Carlini  changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Last reconfirmed||2020-01-17
 Ever confirmed|0   |1

--- Comment #2 from Paolo Carlini  ---
Confirmed.

[Bug c++/91073] [9 Regression] if constexpr no longer works directly with Concepts

2020-01-15 Thread paolo.carlini at oracle dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91073

Paolo Carlini  changed:

   What|Removed |Added

 Status|NEW |ASSIGNED
 CC|paolo at gcc dot gnu.org   |
   Assignee|unassigned at gcc dot gnu.org  |paolo.carlini at oracle 
dot com
Summary|[9/10 Regression] if|[9 Regression] if constexpr
   |constexpr no longer works   |no longer works directly
   |directly with Concepts  |with Concepts

--- Comment #12 from Paolo Carlini  ---
Fixed in trunk for now.

[Bug c++/91073] [9/10 Regression] if constexpr no longer works directly with Concepts

2020-01-14 Thread paolo.carlini at oracle dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91073

--- Comment #10 from Paolo Carlini  ---
I have been making progress on this (I'm in contact with Jason about that) but
unfortunately the issue requires additional analysis for the simple reason that
if I remove/amend my r260482 changes then in C++17 mode the testcases are
accepted again, but in C++2a they are rejected anyway with a different error:
"expected ‘auto’ or ‘decltype(auto)’ after ‘HasInit’" for
the first testcase, for example. Likewise for the second testcase.

[Bug c++/91073] [9/10 Regression] if constexpr no longer works directly with Concepts

2019-11-19 Thread paolo.carlini at oracle dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91073

--- Comment #5 from Paolo Carlini  ---
You are right.

[Bug c++/85535] bogus code in decl2.c:decl_needed_p

2019-10-04 Thread paolo.carlini at oracle dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85535

--- Comment #13 from Paolo Carlini  ---
Any news about this?

[Bug c++/85137] [concepts] ICE with undeclared concept

2019-07-27 Thread paolo.carlini at oracle dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85137

Paolo Carlini  changed:

   What|Removed |Added

 Status|ASSIGNED|NEW
   Assignee|paolo.carlini at oracle dot com|unassigned at gcc dot 
gnu.org

[Bug preprocessor/48839] #error should terminate compilation - similar to missing #include

2019-07-21 Thread paolo.carlini at oracle dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=48839

--- Comment #10 from Paolo Carlini  ---
Hi Eric

(In reply to Eric Gallager from comment #9)
> (In reply to Paolo Carlini from comment #8)
> > Hi. As you can see, the patch itself seems simple, but a while ago I noticed
> > that quite a few testcases would need adjusting and that made me a little
> > nervous. In particular those testcases (both C and C++) which are doing more
> > than one check and would have to be split, because the compilation ends
> > after the first #error. 
> 
> Which testcases are these?

Eric, It’s been a while, and I’m in the middle of a few other things, but you
can apply the patchlet (I’m pretty sure that it still applies as-is or with
minor variants) and see yourself! By the way, if you feel like immediately
pursuing the thing yourself, thus patch + testsuite tweaks + sending the whole
package to the mailing list for comments, by all means reassign the bug to
yourself and go ahead!

[Bug c++/91073] [9/10 Regression] if constexpr no longer works directly with Concepts

2019-07-08 Thread paolo.carlini at oracle dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91073

--- Comment #2 from Paolo Carlini  ---
In principle the issue is rather simple. The
cp_parser_maybe_commit_to_declaration at the beginning of cp_parser_condition
since r260482 thinks erroneously that the just parsed HasInit must be a declaration. In practice, I'm still not sure which is the best
way to solve this... well, I'm not even sure we are supposed to actively work
now on relatively minor concept-related issues.

[Bug c++/66999] Missing comma in lambda capture causes internal compiler error

2019-07-08 Thread paolo.carlini at oracle dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66999

Paolo Carlini  changed:

   What|Removed |Added

 CC||paolo.carlini at oracle dot com

--- Comment #6 from Paolo Carlini  ---
Unfortunately we still issue two errors for the original testcase.

[Bug c++/65143] [C++11] missing devirtualization for virtual base in "final" classes

2019-07-08 Thread paolo.carlini at oracle dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65143

Paolo Carlini  changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution|--- |FIXED
   Target Milestone|--- |10.0

--- Comment #11 from Paolo Carlini  ---
Should be completely fixed.

[Bug c++/67184] Missed optimization with C++11 final specifier

2019-07-05 Thread paolo.carlini at oracle dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67184

Paolo Carlini  changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution|--- |FIXED

--- Comment #18 from Paolo Carlini  ---
Finally should be completely fixed without regressions.

[Bug c++/65143] [C++11] missing devirtualization for virtual base in "final" classes

2019-06-26 Thread paolo.carlini at oracle dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65143

--- Comment #9 from Paolo Carlini  ---
Jason's r272656 fixes the testcases here too. Again, I suspect that
corresponding testcases involving user-defined operators are not fixed. If
nobody beats me to it I will add fixed testcases and add an example of the
latter.

[Bug c++/90995] [8/9/10 Regression] ICE in grokdeclarator, at cp/decl.c:12024

2019-06-26 Thread paolo.carlini at oracle dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90995

--- Comment #4 from Paolo Carlini  ---
To wit:

bool f ()
{ enum : int a; }

we don't ICE on it but we accept it, we should reject it.

[Bug c++/90995] [8/9/10 Regression] ICE in grokdeclarator, at cp/decl.c:12024

2019-06-26 Thread paolo.carlini at oracle dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90995

--- Comment #3 from Paolo Carlini  ---
By the way, in general terms, I'm not sure I agree that a snippet which was
accepts-invalid before a given date and ice-on-invalid-code after qualifies as
a proper regression. You see, even the Bugzilla fields don't make much sense:
7.4.0 isn't known to work!

[Bug c++/90995] [8/9/10 Regression] ICE in grokdeclarator, at cp/decl.c:12024

2019-06-26 Thread paolo.carlini at oracle dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90995

Paolo Carlini  changed:

   What|Removed |Added

   Keywords||ice-on-invalid-code

--- Comment #2 from Paolo Carlini  ---
As far as I can see, before r256821, say in gcc-7, we simply accepted the
snippet, thus it was an accepts-invalid, and that's why it regressed, we
completely miss an appropriate diagnostic and the gcc_assert (seen_error ())
triggers.

[Bug c++/67184] Missed optimization with C++11 final specifier

2019-06-25 Thread paolo.carlini at oracle dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67184

--- Comment #15 from Paolo Carlini  ---
With Jason's r272656 remains to be handled what I had as other/final4.C.
final.3.C and final5.C are fine, I'm probably going to add those two to the
testsuite.

[Bug c++/67184] Missed optimization with C++11 final specifier

2019-06-23 Thread paolo.carlini at oracle dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67184

Paolo Carlini  changed:

   What|Removed |Added

 Status|REOPENED|ASSIGNED
   Assignee|unassigned at gcc dot gnu.org  |paolo.carlini at oracle 
dot com

--- Comment #14 from Paolo Carlini  ---
Let's look a bit more into this (with Jason' help)

[Bug c++/67184] Missed optimization with C++11 final specifier

2019-06-21 Thread paolo.carlini at oracle dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67184

Paolo Carlini  changed:

   What|Removed |Added

 Status|RESOLVED|REOPENED
 Resolution|FIXED   |---
   Assignee|paolo.carlini at oracle dot com|unassigned at gcc dot 
gnu.org

--- Comment #13 from Paolo Carlini  ---
Unfortunately I have to re-open this: the fix, as-is, caused c++/90909.

[Bug c++/90909] [10 Regression] call devirtualized to pure virtual

2019-06-21 Thread paolo.carlini at oracle dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90909

Paolo Carlini  changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution|--- |FIXED
   Assignee|paolo.carlini at oracle dot com|unassigned at gcc dot 
gnu.org

--- Comment #6 from Paolo Carlini  ---
Fixed by reverting completely (for the time being) the offending change.

[Bug c++/90909] [10 Regression] call devirtualized to pure virtual

2019-06-19 Thread paolo.carlini at oracle dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90909

Paolo Carlini  changed:

   What|Removed |Added

 Status|NEW |ASSIGNED
 CC|paolo.carlini at oracle dot com|
   Assignee|unassigned at gcc dot gnu.org  |paolo.carlini at oracle 
dot com

--- Comment #3 from Paolo Carlini  ---
Mine.

[Bug c++/90909] [10 Regression] call devirtualized to pure virtual

2019-06-18 Thread paolo.carlini at oracle dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90909

--- Comment #2 from Paolo Carlini  ---
I think the below tweak of r271490 should be fine, it considers the bases only
when the fn isn't pure virtual:

Index: call.c
===
--- call.c  (revision 272410)
+++ call.c  (working copy)
@@ -8244,7 +8244,9 @@ build_over_call (struct z_candidate *cand, int fla
   /* See if the function member or the whole class type is declared
 final and the call can be devirtualized.  */
   if (DECL_FINAL_P (fn)
- || CLASSTYPE_FINAL (TREE_TYPE (argtype)))
+ || CLASSTYPE_FINAL (TYPE_METHOD_BASETYPE (TREE_TYPE (fn)))
+ || (CLASSTYPE_FINAL (TREE_TYPE (argtype))
+ && !DECL_PURE_VIRTUAL_P (fn)))
flags |= LOOKUP_NONVIRTUAL;

   /* [class.mfct.nonstatic]: If a nonstatic member function of a class

[Bug target/90871] [10 regression] g++.dg/ext/altivec-15.C fails after r272236

2019-06-13 Thread paolo.carlini at oracle dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90871

Paolo Carlini  changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution|--- |FIXED
   Target Milestone|--- |10.0

--- Comment #2 from Paolo Carlini  ---
Should be fixed.

[Bug target/90871] [10 regression] g++.dg/ext/altivec-15.C fails after r272236

2019-06-13 Thread paolo.carlini at oracle dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90871

Paolo Carlini  changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Last reconfirmed||2019-06-13
  Component|other   |target
 Ever confirmed|0   |1

[Bug c++/54080] [C++11] g++ crashes when compiling the following file

2019-06-08 Thread paolo.carlini at oracle dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=54080

--- Comment #6 from Paolo Carlini  ---
I should spend again some time on this. I must say, my old idea still makes
sense to me, at some point I will probably refresh it, rebase the patch and
send it again to the mailing list: I don't think the active C++ front-end
maintainers ever commented.

[Bug c++/89875] [7/8/9 Regression] invalid typeof reference to a member of an incomplete struct accepted at function scope

2019-05-29 Thread paolo.carlini at oracle dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89875

Paolo Carlini  changed:

   What|Removed |Added

Summary|[7/8/9/10 Regression]   |[7/8/9 Regression] invalid
   |invalid typeof reference to |typeof reference to a
   |a member of an incomplete   |member of an incomplete
   |struct accepted at function |struct accepted at function
   |scope   |scope

--- Comment #5 from Paolo Carlini  ---
Fixed in trunk so far.

[Bug c++/67184] Missed optimization with C++11 final specifier

2019-05-21 Thread paolo.carlini at oracle dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67184

Paolo Carlini  changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution|--- |FIXED
   Target Milestone|--- |10.0

--- Comment #10 from Paolo Carlini  ---
Fixed.

[Bug c++/67184] Missed optimization with C++11 final specifier

2019-05-16 Thread paolo.carlini at oracle dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67184

Paolo Carlini  changed:

   What|Removed |Added

 Status|NEW |ASSIGNED
   Assignee|unassigned at gcc dot gnu.org  |paolo.carlini at oracle 
dot com

--- Comment #7 from Paolo Carlini  ---
Seems doable.

[Bug preprocessor/90382] [10 Regression] ICE in linemap_macro_map_loc_to_exp_point, at libcpp/line-map.c:1061

2019-05-13 Thread paolo.carlini at oracle dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90382

--- Comment #7 from Paolo Carlini  ---
Beautiful, thanks Martin.

[Bug c++/89875] [7/8/9/10 Regression] invalid typeof reference to a member of an incomplete struct accepted at function scope

2019-05-09 Thread paolo.carlini at oracle dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89875

Paolo Carlini  changed:

   What|Removed |Added

 Status|NEW |ASSIGNED
 CC|paolo at gcc dot gnu.org   |
   Assignee|unassigned at gcc dot gnu.org  |paolo.carlini at oracle 
dot com

--- Comment #3 from Paolo Carlini  ---
I think we want something along the lines (only lightly tested so far, but
appears to work as expected):

Index: parser.c
===
--- parser.c(revision 271035)
+++ parser.c(working copy)
@@ -28998,7 +28998,11 @@ cp_parser_sizeof_operand (cp_parser* parser, enum
   /* If the type-id production did not work out, then we must be
  looking at the unary-expression production.  */
   if (!expr)
-expr = cp_parser_unary_expression (parser);
+{
+  cp_parser_commit_to_tentative_parse (parser);
+  
+  expr = cp_parser_unary_expression (parser);
+}

   /* Go back to evaluating expressions.  */
   --cp_unevaluated_operand;

[Bug c++/89875] [7/8/9/10 Regression] invalid typeof reference to a member of an incomplete struct accepted at function scope

2019-05-09 Thread paolo.carlini at oracle dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89875

--- Comment #2 from Paolo Carlini  ---
If we compare the testcase to a modified version using __decltype, for the
latter by the time we reach the place in cp_parser_init_declarator which I
changed in r213952 we have already issued an "expected primary-expression
before" error. I think that is the way to go.

[Bug preprocessor/90382] [10 Regression] ICE in linemap_macro_map_loc_to_exp_point, at libcpp/line-map.c:1061

2019-05-09 Thread paolo.carlini at oracle dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90382

Paolo Carlini  changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution|--- |FIXED

--- Comment #4 from Paolo Carlini  ---
Done. Somebody should however look into linemap_location_before_p & co a bit
more, because frankly my patchlet should not have caused a problem, likely it
just uncovered a latent issue of some sort: it simply uses min_location, which,
in turn, only calls linemap_location_before_p when both the passed locations
are != UNKNOWN_LOCATION, thus safe AFAICS.

[Bug preprocessor/90382] [10 Regression] ICE in linemap_macro_map_loc_to_exp_point, at libcpp/line-map.c:1061

2019-05-09 Thread paolo.carlini at oracle dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90382

--- Comment #2 from Paolo Carlini  ---
Oh my, let's immediately remove that little tweak, I have no idea how it could
have caused a regression but isn't worth the trouble. Maybe another time...

[Bug c++/90173] [9 Regression] ICE: Segmentation fault (in strip_declarator_types)

2019-05-06 Thread paolo.carlini at oracle dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90173

Paolo Carlini  changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution|--- |FIXED
   Assignee|paolo.carlini at oracle dot com|unassigned at gcc dot 
gnu.org

--- Comment #8 from Paolo Carlini  ---
Fixed for 9.2.0 too.

[Bug c++/90173] [9 Regression] ICE: Segmentation fault (in strip_declarator_types)

2019-04-26 Thread paolo.carlini at oracle dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90173

Paolo Carlini  changed:

   What|Removed |Added

Summary|[9/10 Regression] ICE:  |[9 Regression] ICE:
   |Segmentation fault (in  |Segmentation fault (in
   |strip_declarator_types) |strip_declarator_types)

--- Comment #4 from Paolo Carlini  ---
Fixed in trunk so far.

[Bug c++/90173] [9 Regression] ICE: Segmentation fault (in strip_declarator_types)

2019-04-23 Thread paolo.carlini at oracle dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90173

Paolo Carlini  changed:

   What|Removed |Added

 Status|NEW |ASSIGNED
 CC|paolo.carlini at oracle dot com|
   Assignee|unassigned at gcc dot gnu.org  |paolo.carlini at oracle 
dot com
   Target Milestone|--- |9.0

--- Comment #2 from Paolo Carlini  ---
Mine.

[Bug c++/90173] [9 Regression] ICE: Segmentation fault (in strip_declarator_types)

2019-04-22 Thread paolo.carlini at oracle dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90173

Paolo Carlini  changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Last reconfirmed||2019-04-22
 CC||paolo.carlini at oracle dot com
 Ever confirmed|0   |1

--- Comment #1 from Paolo Carlini  ---
I believe we can cut it short and simply do (passes testing):

Index: decl.c
===
--- decl.c  (revision 270483)
+++ decl.c  (working copy)
@@ -10973,6 +10973,7 @@ grokdeclarator (const cp_declarator *declarator,
   error_at (typespec_loc, "template placeholder type %qT must be followed
"
"by a simple declarator-id", type);
   inform (DECL_SOURCE_LOCATION (tmpl), "%qD declared here", tmpl);
+  return error_mark_node;
 }

   staticp = 0;

[Bug c++/90178] [9 Regression] Missed optimization: duplicated terminal basic block with -mavx

2019-04-21 Thread paolo.carlini at oracle dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90178

--- Comment #7 from Paolo Carlini  ---
The Component field is wrong, right?

[Bug c++/90172] [9 Regression] ICE: Segmentation fault (in contains_struct_check)

2019-04-21 Thread paolo.carlini at oracle dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90172

Paolo Carlini  changed:

   What|Removed |Added

   Keywords||rejects-valid
 Status|UNCONFIRMED |NEW
   Last reconfirmed||2019-04-21
 CC||paolo.carlini at oracle dot com
 Ever confirmed|0   |1

--- Comment #1 from Paolo Carlini  ---
I think this is also a rejects-valid.

[Bug c++/89900] [9 Regression] ICE: Segmentation fault (in check_instantiated_arg)

2019-04-21 Thread paolo.carlini at oracle dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89900

Paolo Carlini  changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution|--- |FIXED

--- Comment #9 from Paolo Carlini  ---
Fixed.

[Bug c++/89900] [9 Regression] ICE: Segmentation fault (in check_instantiated_arg)

2019-04-11 Thread paolo.carlini at oracle dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89900

Paolo Carlini  changed:

   What|Removed |Added

 Status|NEW |ASSIGNED
 CC|paolo.carlini at oracle dot com|
   Assignee|unassigned at gcc dot gnu.org  |paolo.carlini at oracle 
dot com

--- Comment #7 from Paolo Carlini  ---
Mine.

[Bug c++/89900] [9 Regression] ICE: Segmentation fault (in check_instantiated_arg)

2019-04-11 Thread paolo.carlini at oracle dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89900

Paolo Carlini  changed:

   What|Removed |Added

   Priority|P4  |P1

--- Comment #6 from Paolo Carlini  ---
It's ICE on valid too, unfortunately.

[Bug c++/89900] [9 Regression] ICE: Segmentation fault (in check_instantiated_arg)

2019-04-10 Thread paolo.carlini at oracle dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89900

Paolo Carlini  changed:

   What|Removed |Added

 CC||paolo.carlini at oracle dot com

--- Comment #4 from Paolo Carlini  ---
Clearly, an important difference between sfinae65.C (the test added in r269965
for c++/86932) and the new testcase is that here we have a type parameter pack,
which, as such, cannot  refer to another parameter. Thus I'm wondering if
restricting the fix for c++/86932 like:

Index: pt.c
===
--- pt.c(revision 270223)
+++ pt.c(working copy)
@@ -8475,7 +8475,8 @@ coerce_template_parms (tree parms,
arg = NULL_TREE;

   if (template_parameter_pack_p (TREE_VALUE (parm))
- && (arg || !(complain & tf_partial))
+ && (arg || !(complain & tf_partial)
+ || TREE_CODE (TREE_VALUE (parm)) == TYPE_DECL)
  && !(arg && ARGUMENT_PACK_P (arg)))
 {
  /* Some arguments will be placed in the

would not go a long way toward resolving the problem. Passes testing, seems a
safe change to me.

[Bug c++/89900] [9 Regression] ICE: Segmentation fault (in check_instantiated_arg)

2019-04-09 Thread paolo.carlini at oracle dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89900

Paolo Carlini  changed:

   What|Removed |Added

   Keywords||ice-on-valid-code
   Priority|P4  |P1

--- Comment #3 from Paolo Carlini  ---
Uhm, unfortunately a tiny modification of the original testcase uncovers an ICE
on valid:

template void
fk (XE..., int/*SW*/);

void
w9 (void)
{
  fk (0);
}

[Bug c++/89914] [9 Regression] ICE in nothrow_spec_p, at cp/except.c:1238

2019-04-08 Thread paolo.carlini at oracle dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89914

Paolo Carlini  changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution|--- |FIXED

--- Comment #6 from Paolo Carlini  ---
Fixed.

[Bug c++/89914] [9 Regression] ICE in nothrow_spec_p, at cp/except.c:1238

2019-04-04 Thread paolo.carlini at oracle dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89914

Paolo Carlini  changed:

   What|Removed |Added

 Status|NEW |ASSIGNED
 CC|paolo.carlini at oracle dot com|
   Assignee|unassigned at gcc dot gnu.org  |paolo.carlini at oracle 
dot com

--- Comment #4 from Paolo Carlini  ---
Mine.

[Bug c++/65608] [meta-bug] friend issues

2019-04-04 Thread paolo.carlini at oracle dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65608
Bug 65608 depends on bug 65619, which changed state.

Bug 65619 Summary: friend declaration with template template parameter not 
recognized
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65619

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution|--- |FIXED

[Bug c++/65619] friend declaration with template template parameter not recognized

2019-04-04 Thread paolo.carlini at oracle dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65619

Paolo Carlini  changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 CC||paolo.carlini at oracle dot com
 Resolution|--- |FIXED

--- Comment #3 from Paolo Carlini  ---
Done.

[Bug c++/65608] [meta-bug] friend issues

2019-04-04 Thread paolo.carlini at oracle dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65608
Bug 65608 depends on bug 61327, which changed state.

Bug 61327 Summary: Problem with friend template object
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61327

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution|--- |FIXED

[Bug c++/61327] Problem with friend template object

2019-04-04 Thread paolo.carlini at oracle dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61327

Paolo Carlini  changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution|--- |FIXED

--- Comment #5 from Paolo Carlini  ---
Done.

[Bug c++/56643] Failure to match noexcept specifier of friend template function in template class

2019-04-04 Thread paolo.carlini at oracle dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=56643

Paolo Carlini  changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution|--- |FIXED
   Target Milestone|--- |9.0

--- Comment #6 from Paolo Carlini  ---
Done.

[Bug c++/65608] [meta-bug] friend issues

2019-04-04 Thread paolo.carlini at oracle dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65608
Bug 65608 depends on bug 56643, which changed state.

Bug 56643 Summary: Failure to match noexcept specifier of friend template 
function in template class
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=56643

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution|--- |FIXED

[Bug c++/56643] Failure to match noexcept specifier of friend template function in template class

2019-04-04 Thread paolo.carlini at oracle dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=56643

--- Comment #4 from Paolo Carlini  ---
This is fixed in trunk, I'm adding the testcase and closing the bug.

[Bug c++/89900] [9 Regression] ICE: Segmentation fault (in check_instantiated_arg)

2019-04-03 Thread paolo.carlini at oracle dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89900

--- Comment #2 from Paolo Carlini  ---
I think that ultimately this boils down to this code in grokdeclarator:

  if (type_was_error_mark_node && template_parm_flag)
/* FIXME we should be able to propagate the error_mark_node as is
   for other contexts too.  */
type = error_mark_node;
  else
type = integer_type_node;

where we use integer_type_node as a catch-all type in case of error. Certainly
using error_mark_node avoids this ICE, and many other I suppose, but we are not
ready yet to resolve the FIXME (what about GCC-10?!?). We may want to fix this
specific ICE in a different way, for the time being.

[Bug c++/89914] [9 Regression] ICE in nothrow_spec_p, at cp/except.c:1238

2019-04-02 Thread paolo.carlini at oracle dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89914

--- Comment #3 from Paolo Carlini  ---
This is what I meant in code. Passes testing.

Index: semantics.c
===
--- semantics.c (revision 270062)
+++ semantics.c (working copy)
@@ -9548,8 +9548,8 @@ classtype_has_nothrow_assign_or_copy_p (tree type,
   if (copy_fn_p (fn) > 0)
{
  saw_copy = true;
- maybe_instantiate_noexcept (fn);
- if (!TYPE_NOTHROW_P (TREE_TYPE (fn)))
+ if (maybe_instantiate_noexcept (fn)
+ && !TYPE_NOTHROW_P (TREE_TYPE (fn)))
return false;
}
 }
@@ -9591,8 +9591,8 @@ trait_expr_value (cp_trait_kind kind, tree type1,
   return (trait_expr_value (CPTK_HAS_TRIVIAL_CONSTRUCTOR, type1, type2) 
  || (CLASS_TYPE_P (type1)
  && (t = locate_ctor (type1))
- && (maybe_instantiate_noexcept (t),
- TYPE_NOTHROW_P (TREE_TYPE (t);
+ && maybe_instantiate_noexcept (t)
+ && TYPE_NOTHROW_P (TREE_TYPE (t;

 case CPTK_HAS_TRIVIAL_CONSTRUCTOR:
   type1 = strip_array_types (type1);

[Bug c++/89914] [9 Regression] ICE in nothrow_spec_p, at cp/except.c:1238

2019-04-02 Thread paolo.carlini at oracle dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89914

--- Comment #2 from Paolo Carlini  ---
There are a couple of places in semantics.c where we call
maybe_instantiate_noexcept and then, without checking that it returns true, we
proceed to use TYPE_NOTHROW_P, which expands to nothrow_spec_p. I think we need
a fall-back, probably false, consistently with r269746. Doing that certainly
avoids this kind of ICE.

[Bug c++/62207] [7/8 Regression] ICE: tree check: expected tree that contains 'decl minimal' structure, have 'overload' in tsubst_copy, at cp/pt.c

2019-04-01 Thread paolo.carlini at oracle dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=62207

Paolo Carlini  changed:

   What|Removed |Added

Summary|[7/8/9 Regression] ICE: |[7/8 Regression] ICE: tree
   |tree check: expected tree   |check: expected tree that
   |that contains 'decl |contains 'decl minimal'
   |minimal' structure, have|structure, have 'overload'
   |'overload' in tsubst_copy,  |in tsubst_copy, at cp/pt.c
   |at cp/pt.c  |

--- Comment #9 from Paolo Carlini  ---
Fixed in trunk so far.

[Bug c++/62207] [7/8/9 Regression] ICE: tree check: expected tree that contains 'decl minimal' structure, have 'overload' in tsubst_copy, at cp/pt.c

2019-03-28 Thread paolo.carlini at oracle dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=62207

Paolo Carlini  changed:

   What|Removed |Added

 Status|NEW |ASSIGNED
   Assignee|unassigned at gcc dot gnu.org  |paolo.carlini at oracle 
dot com

--- Comment #7 from Paolo Carlini  ---
Looking into it.

[Bug c++/81506] Invalid declaration with decltype accepted

2019-03-28 Thread paolo.carlini at oracle dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81506

--- Comment #4 from Paolo Carlini  ---
Thanks Martin. This reminds me that we should tell David that in some cases the
"waves" following the caret don't go on far enough. Or maybe he already knows
or maybe we should do that instead ;)

[Bug c++/84598] [8 Regression] internal compiler error: Segmentation fault (cp_default_conversion())

2019-03-26 Thread paolo.carlini at oracle dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=84598

Paolo Carlini  changed:

   What|Removed |Added

 CC|vegard.nossum at gmail dot com |
Summary|[8/9 Regression] internal   |[8 Regression] internal
   |compiler error: |compiler error:
   |Segmentation fault  |Segmentation fault
   |(cp_default_conversion())   |(cp_default_conversion())

--- Comment #6 from Paolo Carlini  ---
This is fixed in trunk. I added the testcase and removing the regression
marker. Note: there are duplicate diagnostics issues, but are well known.

[Bug c++/85013] [7/8 Regression] :1:41: internal compiler error: in wide_int_to_tree_1, at tree.c:1567 0x4097e2b wide_int_to_tree_1

2019-03-25 Thread paolo.carlini at oracle dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85013

Paolo Carlini  changed:

   What|Removed |Added

Summary|[7/8/9 Regression]  |[7/8 Regression]
   |:1:41: internal  |:1:41: internal
   |compiler error: in  |compiler error: in
   |wide_int_to_tree_1, at  |wide_int_to_tree_1, at
   |tree.c:1567 0x4097e2b   |tree.c:1567 0x4097e2b
   |wide_int_to_tree_1  |wide_int_to_tree_1

--- Comment #4 from Paolo Carlini  ---
Fixed in trunk so far.

[Bug c++/84661] [7/8 Regression] internal compiler error: Segmentation fault (strip_array_types())

2019-03-25 Thread paolo.carlini at oracle dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=84661

Paolo Carlini  changed:

   What|Removed |Added

Summary|[7/8/9 Regression] internal |[7/8 Regression] internal
   |compiler error: |compiler error:
   |Segmentation fault  |Segmentation fault
   |(strip_array_types())   |(strip_array_types())

--- Comment #7 from Paolo Carlini  ---
Fixed in trunk so far.

[Bug c++/84661] [7/8/9 Regression] internal compiler error: Segmentation fault (strip_array_types())

2019-03-22 Thread paolo.carlini at oracle dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=84661

Paolo Carlini  changed:

   What|Removed |Added

 Status|NEW |ASSIGNED
   Assignee|unassigned at gcc dot gnu.org  |paolo.carlini at oracle 
dot com

--- Comment #5 from Paolo Carlini  ---
Mine.

[Bug c++/85013] [7/8/9 Regression] :1:41: internal compiler error: in wide_int_to_tree_1, at tree.c:1567 0x4097e2b wide_int_to_tree_1

2019-03-22 Thread paolo.carlini at oracle dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85013

Paolo Carlini  changed:

   What|Removed |Added

 Status|NEW |ASSIGNED
   Assignee|unassigned at gcc dot gnu.org  |paolo.carlini at oracle 
dot com

--- Comment #2 from Paolo Carlini  ---
Mine.

[Bug c++/89512] [7/8/9 Regression] ICE in get_expr_operands, at tree-ssa-operands.c:882

2019-03-22 Thread paolo.carlini at oracle dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89512

Paolo Carlini  changed:

   What|Removed |Added

 Status|NEW |ASSIGNED
 CC|jakub at gcc dot gnu.org   |
   Assignee|unassigned at gcc dot gnu.org  |jakub at gcc dot gnu.org

[Bug c++/80559] Duplicate "template argument x is invalid" diagnostics

2019-03-22 Thread paolo.carlini at oracle dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80559

Paolo Carlini  changed:

   What|Removed |Added

   Keywords|error-recovery, |diagnostic
   |ice-on-invalid-code |
   Target Milestone|7.5 |---
Summary|[7/8/9 Regression]  |Duplicate "template
   |Segmentation fault on   |argument x is invalid"
   |invalid initializer list|diagnostics
   |template arguments  |

[Bug c++/80559] [7/8/9 Regression] Segmentation fault on invalid initializer list template arguments

2019-03-21 Thread paolo.carlini at oracle dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80559

Paolo Carlini  changed:

   What|Removed |Added

 CC||paolo.carlini at oracle dot com

--- Comment #6 from Paolo Carlini  ---
The ICE cannot be reproduced in trunk. Apparently it got fixed for 8.1.0 and
the fix backported to 7.2.0 too. Thus I think we can close this completely or
maybe remove the regression markers and change it to a pure diagnostic
enhancement issue, because certainly the series of four identical error
messages about template argument 2 doesn't make any sense. Barring different
opinions I'm going to do the latter in a day or so.

[Bug c++/78645] [7/8/9 Regression] ICE on invalid code (Segmentation fault, cxx_eval_call_expression)

2019-03-21 Thread paolo.carlini at oracle dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78645

--- Comment #6 from Paolo Carlini  ---
This is fixed in trunk. I'm adding a testcase and removing the regression
marker.

[Bug c++/89571] [9 Regression] ICE in nothrow_spec_p, at cp/except.c:1238

2019-03-20 Thread paolo.carlini at oracle dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89571

Paolo Carlini  changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution|--- |FIXED

--- Comment #12 from Paolo Carlini  ---
Fixed.

[Bug c++/89571] [9 Regression] ICE in nothrow_spec_p, at cp/except.c:1238

2019-03-19 Thread paolo.carlini at oracle dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89571

Paolo Carlini  changed:

   What|Removed |Added

 CC||paolo.carlini at oracle dot com

--- Comment #10 from Paolo Carlini  ---
For error-recovery sake, I think that we can just skip the functions with
eh_spec == error_mark_node and continue the loop:

Index: method.c
===
--- method.c(revision 269783)
+++ method.c(working copy)
@@ -2274,6 +2274,9 @@ after_nsdmi_defaulted_late_checks (tree t)
  continue;

tree eh_spec = get_defaulted_eh_spec (fn);
+   if (eh_spec == error_mark_node)
+ continue;
+
if (!comp_except_specs (TYPE_RAISES_EXCEPTIONS (TREE_TYPE (fn)),
eh_spec, ce_normal))
  DECL_DELETED_FN (fn) = true;

What do you think, Jason?

[Bug c++/89571] [9 Regression] ICE in nothrow_spec_p, at cp/except.c:1238

2019-03-18 Thread paolo.carlini at oracle dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89571

--- Comment #9 from Paolo Carlini  ---
The new ICE in Comment #6 is not fixed by Jason's patch, thus we can't close
this one, unless we file a separate bug for that.

[Bug c++/85014] [7/8 Regression] internal compiler error: in lookup_base, at cp/search.c:185

2019-03-18 Thread paolo.carlini at oracle dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85014

Paolo Carlini  changed:

   What|Removed |Added

Summary|[7/8/9 Regression] internal |[7/8 Regression] internal
   |compiler error: in  |compiler error: in
   |lookup_base, at |lookup_base, at
   |cp/search.c:185 |cp/search.c:185

--- Comment #7 from Paolo Carlini  ---
Fixed in trunk so far.

[Bug c++/85014] [7/8/9 Regression] internal compiler error: in lookup_base, at cp/search.c:185

2019-03-14 Thread paolo.carlini at oracle dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85014

Paolo Carlini  changed:

   What|Removed |Added

 Status|NEW |ASSIGNED

--- Comment #4 from Paolo Carlini  ---
Looking into it.

[Bug c++/85014] [7/8/9 Regression] internal compiler error: in lookup_base, at cp/search.c:185

2019-03-14 Thread paolo.carlini at oracle dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85014

--- Comment #5 from Paolo Carlini  ---
Looking into it.

[Bug c++/67164] ICE: tree check: expected class ‘expression’, have ‘exceptional’ (argument_pack_select) in tree_operand_check, at tree.h:3356

2019-03-14 Thread paolo.carlini at oracle dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67164

Paolo Carlini  changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution|--- |FIXED

--- Comment #15 from Paolo Carlini  ---
Let's close it, then.

[Bug c++/80604] internal compiler error: Internal compiler error in tsubst_decl, at cp/pt.c:11749

2019-03-13 Thread paolo.carlini at oracle dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80604

Paolo Carlini  changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution|--- |FIXED
   Target Milestone|--- |7.4

--- Comment #1 from Paolo Carlini  ---
Fixed in 7.4.0.

[Bug c++/79651] ICE on invalid c++ code in lambda_expr_this_capture in lambda.c:718

2019-03-13 Thread paolo.carlini at oracle dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79651

Paolo Carlini  changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution|--- |FIXED

--- Comment #2 from Paolo Carlini  ---
AFAICS this got fixed for the released 7.1.0 and the fix even backported to
6.4.0.  Please double check and, in case, reopen.

[Bug c++/67398] Segfault when template static references another template

2019-03-13 Thread paolo.carlini at oracle dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67398

Paolo Carlini  changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution|--- |FIXED
   Target Milestone|--- |6.0

--- Comment #7 from Paolo Carlini  ---
All fixed long time ago, in 6.1.0.

[Bug c++/63508] ICE when using bracketed initializer on pointer to member function of a templated class

2019-03-13 Thread paolo.carlini at oracle dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63508

Paolo Carlini  changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution|--- |FIXED
   Target Milestone|--- |8.0

--- Comment #5 from Paolo Carlini  ---
Fixed in 8.1.0.

[Bug c++/85558] ICE in make_rtl_for_nonlocal_decl when using static member of template class

2019-03-13 Thread paolo.carlini at oracle dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85558

Paolo Carlini  changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution|--- |FIXED
   Target Milestone|--- |9.0

--- Comment #5 from Paolo Carlini  ---
Fixed in trunk.

  1   2   3   4   5   6   7   8   9   10   >