[Bug c++/69315] [6 Regression] ICE in finish_function with constexpr and templates

2016-03-23 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69315

Jakub Jelinek  changed:

   What|Removed |Added

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

--- Comment #8 from Jakub Jelinek  ---
Fixed.

[Bug c++/69315] [6 Regression] ICE in finish_function with constexpr and templates

2016-03-23 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69315

--- Comment #7 from Jakub Jelinek  ---
Author: jakub
Date: Wed Mar 23 18:36:25 2016
New Revision: 234436

URL: https://gcc.gnu.org/viewcvs?rev=234436=gcc=rev
Log:
PR c++/69315
* cp-tree.h (defer_mark_used_calls, deferred_mark_used_calls): Remove.
* decl.c (defer_mark_used_calls, deferred_mark_used_calls): Remove.
(finish_function): Don't set or test them.
* decl2.c (mark_used): Don't handle defer_mark_used_calls.

* g++.dg/cpp0x/constexpr-69315.C: New test.
* g++.dg/cpp0x/variadic122.C: Change one dg-warning into dg-bogus.

Added:
trunk/gcc/testsuite/g++.dg/cpp0x/constexpr-69315.C
Modified:
trunk/gcc/cp/ChangeLog
trunk/gcc/cp/cp-tree.h
trunk/gcc/cp/decl.c
trunk/gcc/cp/decl2.c
trunk/gcc/testsuite/ChangeLog
trunk/gcc/testsuite/g++.dg/cpp0x/variadic122.C

[Bug c++/69315] [6 Regression] ICE in finish_function with constexpr and templates

2016-03-19 Thread mpolacek at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69315

--- Comment #6 from Marek Polacek  ---
Yes, but the patch hasn't been pinged since 24 Feb 2016:
.  Alex?

[Bug c++/69315] [6 Regression] ICE in finish_function with constexpr and templates

2016-03-09 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69315

Jakub Jelinek  changed:

   What|Removed |Added

 CC||jakub at gcc dot gnu.org,
   ||jason at gcc dot gnu.org

--- Comment #5 from Jakub Jelinek  ---
So, we have a tested patch waiting for review here, right?


[Bug c++/69315] [6 Regression] ICE in finish_function with constexpr and templates

2016-03-01 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69315

Richard Biener  changed:

   What|Removed |Added

   Priority|P3  |P1

[Bug c++/69315] [6 Regression] ICE in finish_function with constexpr and templates

2016-01-23 Thread gerrit.los at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69315

--- Comment #4 from Gert-jan Los  ---
The original problem is also resolved by the proposed patch.  Thanks.

[Bug c++/69315] [6 Regression] ICE in finish_function with constexpr and templates

2016-01-22 Thread aoliva at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69315

Alexandre Oliva  changed:

   What|Removed |Added

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

--- Comment #2 from Alexandre Oliva  ---
Looking into this...

[Bug c++/69315] [6 Regression] ICE in finish_function with constexpr and templates

2016-01-22 Thread aoliva at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69315

--- Comment #3 from Alexandre Oliva  ---
Created attachment 37436
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=37436=edit
Patch I'm testing to fix the bug

Delayed folding may have to instantiate and evaluate template constexpr
functions.  We don't want finish_function to be called recursively in general,
but for this specific case, that's not only acceptable, it's necessary, so deal
with it.

[Bug c++/69315] [6 Regression] ICE in finish_function with constexpr and templates

2016-01-21 Thread mpolacek at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69315

Marek Polacek  changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Last reconfirmed||2016-01-21
 CC||mpolacek at gcc dot gnu.org
   Target Milestone|--- |6.0
Summary|ICE in finish_function with |[6 Regression] ICE in
   |constexpr and templates |finish_function with
   ||constexpr and templates
 Ever confirmed|0   |1

--- Comment #1 from Marek Polacek  ---
Confirmed.

Started with r230365 - C++ delayed folding merge.