[Bug c++/84125] [8 Regression] ICE in generic lambda when static_assert argument is implicitly converted to bool

2018-02-01 Thread mpolacek at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=84125

Marek Polacek  changed:

   What|Removed |Added

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

--- Comment #6 from Marek Polacek  ---
Fixed.

[Bug c++/84125] [8 Regression] ICE in generic lambda when static_assert argument is implicitly converted to bool

2018-02-01 Thread mpolacek at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=84125

--- Comment #5 from Marek Polacek  ---
Author: mpolacek
Date: Thu Feb  1 20:32:33 2018
New Revision: 257311

URL: https://gcc.gnu.org/viewcvs?rev=257311&root=gcc&view=rev
Log:
PR c++/84125
* typeck.c (build_address): Relax the assert when
processing_template_decl.

* g++.dg/cpp1y/lambda-generic-84125.C:New test.

Added:
trunk/gcc/testsuite/g++.dg/cpp1y/lambda-generic-84125.C
Modified:
trunk/gcc/cp/ChangeLog
trunk/gcc/cp/typeck.c
trunk/gcc/testsuite/ChangeLog

[Bug c++/84125] [8 Regression] ICE in generic lambda when static_assert argument is implicitly converted to bool

2018-01-30 Thread mpolacek at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=84125

--- Comment #4 from Marek Polacek  ---
Patch posted but I'm not sure about it:
https://gcc.gnu.org/ml/gcc-patches/2018-01/msg02377.html

[Bug c++/84125] [8 Regression] ICE in generic lambda when static_assert argument is implicitly converted to bool

2018-01-30 Thread mpolacek at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=84125

--- Comment #3 from Marek Polacek  ---
finish_static_assert is called with condition = {}.  Before r256550
instantiate_non_dependent_expr would turn this into TARGET_EXPR ,
but now we just pass {} down to perform_implicit_conversion_flags and that
later tried to build_address on {}, but it has this assert:

gcc_checking_assert (TREE_CODE (t) != CONSTRUCTOR);

[Bug c++/84125] [8 Regression] ICE in generic lambda when static_assert argument is implicitly converted to bool

2018-01-30 Thread mpolacek at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=84125

--- Comment #2 from Marek Polacek  ---
commit e00197cb8789a850b76bfc2bed83d1c510aa65bb
Author: jason 
Date:   Thu Jan 11 19:08:41 2018 +

PR c++/82728 - wrong -Wunused-but-set-variable

PR c++/82799
PR c++/83690
* call.c (perform_implicit_conversion_flags): Call mark_rvalue_use.
* decl.c (case_conversion): Likewise.
* semantics.c (finish_static_assert): Call
perform_implicit_conversion_flags.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@256550
138bc75d-0d04-0410-961f-82ee72b054a4

[Bug c++/84125] [8 Regression] ICE in generic lambda when static_assert argument is implicitly converted to bool

2018-01-30 Thread mpolacek at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=84125

Marek Polacek  changed:

   What|Removed |Added

   Keywords||ice-on-valid-code
 Status|UNCONFIRMED |NEW
   Last reconfirmed||2018-01-30
 CC||mpolacek at gcc dot gnu.org
   Target Milestone|--- |8.0
 Ever confirmed|0   |1

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