public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug c++/64080] New: [5.0 regression][C++14]ICE in cxx_eval_store_expression
@ 2014-11-26  7:33 lucdanton at free dot fr
  2014-11-26  8:02 ` [Bug c++/64080] " mpolacek at gcc dot gnu.org
                   ` (6 more replies)
  0 siblings, 7 replies; 8+ messages in thread
From: lucdanton at free dot fr @ 2014-11-26  7:33 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64080

            Bug ID: 64080
           Summary: [5.0 regression][C++14]ICE in
                    cxx_eval_store_expression
           Product: gcc
           Version: 5.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c++
          Assignee: unassigned at gcc dot gnu.org
          Reporter: lucdanton at free dot fr

Created attachment 34122
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=34122&action=edit
Program exhibiting ICE

GCC version output:
g++-trunk (GCC) 5.0.0 20141126 (experimental)

The attached testcase is mechanically derived from a program
that used to compile. Compilation command together with output:
$ g++-trunk -std=c++14 ice.cpp 
ice.cpp: In instantiation of 'int invoke(Functor, Args&& ...) [with Functor =
plus_assign; Args = {int, int}]':
ice.cpp:18:37:   required by substitution of 'template<class Functor, class
Tuple, int ...Indices, class> typename result<typename tuple_element<Indices,
Tuple>::type ...>::type uncurry(Functor, Tuple, integer_sequence<int, Indices
...>) [with Functor = plus_assign; Tuple = tuple<int>; int ...Indices = {0, 0};
<template-parameter-1-4> = <missing>]'
ice.cpp:27:41:   required by substitution of 'template<int ...ElementIndices,
class Functor, class ... Tuples, class> void zip_with(Functor, Tuples ...)
[with int ...ElementIndices = 0; Functor = plus_assign; Tuples = {tuple<int>};
<template-parameter-1-4> = <missing>]'
ice.cpp:38:47:   required from here
ice.cpp:15:54:   in constexpr expansion of
'functor.plus_assign::operator()<int&, int&>((* & args#0), (* & args#1))'
ice.cpp:14:5: internal compiler error: in cxx_eval_store_expression, at
cp/constexpr.c:2492
 int invoke(Functor functor,
     ^
0x6d9fdd cxx_eval_store_expression
    ../../gcc/gcc/cp/constexpr.c:2492
0x6d7916 cxx_eval_constant_expression
    ../../gcc/gcc/cp/constexpr.c:2961
0x6d7653 cxx_eval_constant_expression
    ../../gcc/gcc/cp/constexpr.c:3192
0x6d795c cxx_eval_constant_expression
    ../../gcc/gcc/cp/constexpr.c:3066
0x6d795c cxx_eval_constant_expression
    ../../gcc/gcc/cp/constexpr.c:3066
0x6d7173 cxx_eval_call_expression
    ../../gcc/gcc/cp/constexpr.c:1335
0x6d8018 cxx_eval_constant_expression
    ../../gcc/gcc/cp/constexpr.c:2877
0x6d9857 is_sub_constant_expr(tree_node*)
    ../../gcc/gcc/cp/constexpr.c:3436
0x67e92d check_noexcept_r
    ../../gcc/gcc/cp/except.c:1168
0xc5b6e4 walk_tree_1(tree_node**, tree_node* (*)(tree_node**, int*, void*),
void*, hash_set<tree_node*, default_hashset_traits>*, tree_node*
(*)(tree_node**, int*, tree_node* (*)(tree_node**, int*, void*), void*,
hash_set<tree_node*, default_hashset_traits>*))
    ../../gcc/gcc/tree.c:11022
0xc5ce08 walk_tree_without_duplicates_1(tree_node**, tree_node*
(*)(tree_node**, int*, void*), void*, tree_node* (*)(tree_node**, int*,
tree_node* (*)(tree_node**, int*, void*), void*, hash_set<tree_node*,
default_hashset_traits>*))
    ../../gcc/gcc/tree.c:11335
0x67e64f expr_noexcept_p(tree_node*, int)
    ../../gcc/gcc/cp/except.c:1245
0x67e7b2 finish_noexcept_expr(tree_node*, int)
    ../../gcc/gcc/cp/except.c:1230
0x5f7f48 tsubst_copy_and_build(tree_node*, tree_node*, int, tree_node*, bool,
bool)
    ../../gcc/gcc/cp/pt.c:14832
0x61154d maybe_instantiate_noexcept(tree_node*)
    ../../gcc/gcc/cp/pt.c:19899
0x62c01f mark_used(tree_node*, int)
    ../../gcc/gcc/cp/decl2.c:4879
0x5c6079 build_over_call
    ../../gcc/gcc/cp/call.c:7434
0x5cee51 build_new_function_call(tree_node*, vec<tree_node*, va_gc,
vl_embed>**, bool, int)
    ../../gcc/gcc/cp/call.c:4081
0x693cf9 finish_call_expr(tree_node*, vec<tree_node*, va_gc, vl_embed>**, bool,
bool, int)
    ../../gcc/gcc/cp/semantics.c:2392
0x5f9595 tsubst_copy_and_build(tree_node*, tree_node*, int, tree_node*, bool,
bool)
    ../../gcc/gcc/cp/pt.c:15148
Please submit a full bug report,
with preprocessed source if appropriate.
Please include the complete backtrace with any bug report.
See <http://gcc.gnu.org/bugs.html> for instructions.


^ permalink raw reply	[flat|nested] 8+ messages in thread

* [Bug c++/64080] [5.0 regression][C++14]ICE in cxx_eval_store_expression
  2014-11-26  7:33 [Bug c++/64080] New: [5.0 regression][C++14]ICE in cxx_eval_store_expression lucdanton at free dot fr
@ 2014-11-26  8:02 ` mpolacek at gcc dot gnu.org
  2014-11-26  9:13 ` mpolacek at gcc dot gnu.org
                   ` (5 subsequent siblings)
  6 siblings, 0 replies; 8+ messages in thread
From: mpolacek at gcc dot gnu.org @ 2014-11-26  8:02 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64080

Marek Polacek <mpolacek at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |NEW
   Last reconfirmed|                            |2014-11-26
                 CC|                            |mpolacek at gcc dot gnu.org
   Target Milestone|---                         |5.0
     Ever confirmed|0                           |1

--- Comment #1 from Marek Polacek <mpolacek at gcc dot gnu.org> ---
Confirmed.


^ permalink raw reply	[flat|nested] 8+ messages in thread

* [Bug c++/64080] [5.0 regression][C++14]ICE in cxx_eval_store_expression
  2014-11-26  7:33 [Bug c++/64080] New: [5.0 regression][C++14]ICE in cxx_eval_store_expression lucdanton at free dot fr
  2014-11-26  8:02 ` [Bug c++/64080] " mpolacek at gcc dot gnu.org
@ 2014-11-26  9:13 ` mpolacek at gcc dot gnu.org
  2014-11-26 10:09 ` rguenth at gcc dot gnu.org
                   ` (4 subsequent siblings)
  6 siblings, 0 replies; 8+ messages in thread
From: mpolacek at gcc dot gnu.org @ 2014-11-26  9:13 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64080

--- Comment #2 from Marek Polacek <mpolacek at gcc dot gnu.org> ---
4.9 rejects this.  This is ice-on-invalid, right?


^ permalink raw reply	[flat|nested] 8+ messages in thread

* [Bug c++/64080] [5.0 regression][C++14]ICE in cxx_eval_store_expression
  2014-11-26  7:33 [Bug c++/64080] New: [5.0 regression][C++14]ICE in cxx_eval_store_expression lucdanton at free dot fr
  2014-11-26  8:02 ` [Bug c++/64080] " mpolacek at gcc dot gnu.org
  2014-11-26  9:13 ` mpolacek at gcc dot gnu.org
@ 2014-11-26 10:09 ` rguenth at gcc dot gnu.org
  2014-12-03 22:15 ` jason at gcc dot gnu.org
                   ` (3 subsequent siblings)
  6 siblings, 0 replies; 8+ messages in thread
From: rguenth at gcc dot gnu.org @ 2014-11-26 10:09 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64080

Richard Biener <rguenth at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Keywords|                            |ice-on-invalid-code
           Priority|P3                          |P1


^ permalink raw reply	[flat|nested] 8+ messages in thread

* [Bug c++/64080] [5.0 regression][C++14]ICE in cxx_eval_store_expression
  2014-11-26  7:33 [Bug c++/64080] New: [5.0 regression][C++14]ICE in cxx_eval_store_expression lucdanton at free dot fr
                   ` (2 preceding siblings ...)
  2014-11-26 10:09 ` rguenth at gcc dot gnu.org
@ 2014-12-03 22:15 ` jason at gcc dot gnu.org
  2014-12-04 19:37 ` jason at gcc dot gnu.org
                   ` (2 subsequent siblings)
  6 siblings, 0 replies; 8+ messages in thread
From: jason at gcc dot gnu.org @ 2014-12-03 22:15 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64080

Jason Merrill <jason at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |ASSIGNED
                 CC|                            |jason at gcc dot gnu.org
           Assignee|unassigned at gcc dot gnu.org      |jason at gcc dot gnu.org


^ permalink raw reply	[flat|nested] 8+ messages in thread

* [Bug c++/64080] [5.0 regression][C++14]ICE in cxx_eval_store_expression
  2014-11-26  7:33 [Bug c++/64080] New: [5.0 regression][C++14]ICE in cxx_eval_store_expression lucdanton at free dot fr
                   ` (3 preceding siblings ...)
  2014-12-03 22:15 ` jason at gcc dot gnu.org
@ 2014-12-04 19:37 ` jason at gcc dot gnu.org
  2014-12-04 20:38 ` jason at gcc dot gnu.org
  2014-12-04 20:48 ` jason at gcc dot gnu.org
  6 siblings, 0 replies; 8+ messages in thread
From: jason at gcc dot gnu.org @ 2014-12-04 19:37 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64080

Jason Merrill <jason at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |ai.azuma at gmail dot com

--- Comment #3 from Jason Merrill <jason at gcc dot gnu.org> ---
*** Bug 64106 has been marked as a duplicate of this bug. ***


^ permalink raw reply	[flat|nested] 8+ messages in thread

* [Bug c++/64080] [5.0 regression][C++14]ICE in cxx_eval_store_expression
  2014-11-26  7:33 [Bug c++/64080] New: [5.0 regression][C++14]ICE in cxx_eval_store_expression lucdanton at free dot fr
                   ` (4 preceding siblings ...)
  2014-12-04 19:37 ` jason at gcc dot gnu.org
@ 2014-12-04 20:38 ` jason at gcc dot gnu.org
  2014-12-04 20:48 ` jason at gcc dot gnu.org
  6 siblings, 0 replies; 8+ messages in thread
From: jason at gcc dot gnu.org @ 2014-12-04 20:38 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64080

--- Comment #4 from Jason Merrill <jason at gcc dot gnu.org> ---
Author: jason
Date: Thu Dec  4 20:37:24 2014
New Revision: 218401

URL: https://gcc.gnu.org/viewcvs?rev=218401&root=gcc&view=rev
Log:
    PR c++/64080
    * constexpr.c (cxx_eval_store_expression): Handle non-decl store
    targets.

Added:
    trunk/gcc/testsuite/g++.dg/cpp1y/constexpr-ref1.C
Modified:
    trunk/gcc/cp/ChangeLog
    trunk/gcc/cp/constexpr.c


^ permalink raw reply	[flat|nested] 8+ messages in thread

* [Bug c++/64080] [5.0 regression][C++14]ICE in cxx_eval_store_expression
  2014-11-26  7:33 [Bug c++/64080] New: [5.0 regression][C++14]ICE in cxx_eval_store_expression lucdanton at free dot fr
                   ` (5 preceding siblings ...)
  2014-12-04 20:38 ` jason at gcc dot gnu.org
@ 2014-12-04 20:48 ` jason at gcc dot gnu.org
  6 siblings, 0 replies; 8+ messages in thread
From: jason at gcc dot gnu.org @ 2014-12-04 20:48 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64080

Jason Merrill <jason at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|ASSIGNED                    |RESOLVED
         Resolution|---                         |FIXED

--- Comment #5 from Jason Merrill <jason at gcc dot gnu.org> ---
Fixed.


^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2014-12-04 20:48 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-11-26  7:33 [Bug c++/64080] New: [5.0 regression][C++14]ICE in cxx_eval_store_expression lucdanton at free dot fr
2014-11-26  8:02 ` [Bug c++/64080] " mpolacek at gcc dot gnu.org
2014-11-26  9:13 ` mpolacek at gcc dot gnu.org
2014-11-26 10:09 ` rguenth at gcc dot gnu.org
2014-12-03 22:15 ` jason at gcc dot gnu.org
2014-12-04 19:37 ` jason at gcc dot gnu.org
2014-12-04 20:38 ` jason at gcc dot gnu.org
2014-12-04 20:48 ` jason at gcc dot gnu.org

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).