[Bug c++/86182] [8/9 Regression] gcc crashes when compiling the code

2018-06-21 Thread jason at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=86182

Jason Merrill  changed:

   What|Removed |Added

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

--- Comment #5 from Jason Merrill  ---
Fixed for 8.2.

[Bug c++/86182] [8/9 Regression] gcc crashes when compiling the code

2018-06-21 Thread jason at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=86182

--- Comment #4 from Jason Merrill  ---
Author: jason
Date: Thu Jun 21 18:19:23 2018
New Revision: 261858

URL: https://gcc.gnu.org/viewcvs?rev=261858&root=gcc&view=rev
Log:
PR c++/86182 - fix wrong PR tag in earlier commit

Modified:
trunk/gcc/cp/ChangeLog
trunk/gcc/testsuite/g++.dg/template/anonunion3.C

[Bug c++/86182] [8/9 Regression] gcc crashes when compiling the code

2018-06-21 Thread jason at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=86182

--- Comment #3 from Jason Merrill  ---
Author: jason
Date: Thu Jun 21 14:23:19 2018
New Revision: 261850

URL: https://gcc.gnu.org/viewcvs?rev=261850&root=gcc&view=rev
Log:
PR c++/86182 - ICE with anonymous union passed to template.

* pt.c (tsubst_expr) [DECL_EXPR]: Handle an anonymous union type
used to declare a named variable.

Added:
branches/gcc-8-branch/gcc/testsuite/g++.dg/template/anonunion3.C
Modified:
branches/gcc-8-branch/gcc/cp/ChangeLog
branches/gcc-8-branch/gcc/cp/pt.c

[Bug c++/86182] [8/9 Regression] gcc crashes when compiling the code

2018-06-18 Thread jason at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=86182

Jason Merrill  changed:

   What|Removed |Added

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

[Bug c++/86182] [8/9 Regression] gcc crashes when compiling the code

2018-06-18 Thread redi at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=86182

Jonathan Wakely  changed:

   What|Removed |Added

   Keywords|accepts-invalid,|ice-on-valid-code,
   |ice-on-invalid-code |rejects-valid
 CC||jason at gcc dot gnu.org

--- Comment #2 from Jonathan Wakely  ---
I think the code is valid, so we regressed from rejects-valid to
ice-on-valid-code at r253600

Various small C++ fixes.

* typeck.c (condition_conversion): Assert
!processing_template_decl.
* semantics.c (finish_omp_clauses): Don't
fold_build_cleanup_point_expr if processing_template_decl.
(outer_var_p): A temporary can't be from an outer scope.
* pt.c (type_dependent_expression_p): Fix dependency checking of
functions without DECL_TEMPLATE_INFO.
(instantiate_decl): Use lss_copy.
* constexpr.c (is_valid_constexpr_fn): Fix lambdas before C++17.

[Bug c++/86182] [8/9 Regression] gcc crashes when compiling the code

2018-06-18 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=86182

Richard Biener  changed:

   What|Removed |Added

   Priority|P3  |P2
 Status|UNCONFIRMED |NEW
  Known to work||7.3.1
Version|unknown |8.1.1
   Keywords||accepts-invalid,
   ||ice-on-invalid-code
   Last reconfirmed||2018-06-18
 Ever confirmed|0   |1
Summary|gcc crashes when compiling  |[8/9 Regression] gcc
   |the code|crashes when compiling the
   ||code
   Target Milestone|--- |8.2

--- Comment #1 from Richard Biener  ---
Confirmed.  GCC 7 rejects it:

> g++-7 t.C -S
t.C: In instantiation of ‘const char* f(T*) [with T = main()::]’:
t.C:11:32:   required from here
t.C:5:4: error: use of local variable with automatic storage from containing
function
  u.x = "hello world";
  ~~^
t.C:4:4: note: ‘main():: ’ declared here
  T u(*t);
^
t.C:6:19: error: use of local variable with automatic storage from containing
function
  printf("%s\n", u.x);
 ~~^
t.C:4:4: note: ‘main():: ’ declared here
  T u(*t);
^