[Bug c++/84662] [6/7/8 Regression] internal compiler error: tree check: expected class 'type', have 'exceptional' (error_mark) in is_bitfield_expr_with_lowered_type, at cp/typeck.c:1944

2018-03-02 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=84662

--- Comment #5 from Jakub Jelinek  ---
Author: jakub
Date: Fri Mar  2 17:07:39 2018
New Revision: 258146

URL: https://gcc.gnu.org/viewcvs?rev=258146&root=gcc&view=rev
Log:
PR c++/84662
* pt.c (tsubst_copy_and_build) : Use
RETURN instead of return.
: Likewise.
: If op0 is error_mark_node, just return
it instead of wrapping it into CONVERT_EXPR.

* g++.dg/cpp1y/pr84662.C: New test.

Added:
trunk/gcc/testsuite/g++.dg/cpp1y/pr84662.C
Modified:
trunk/gcc/cp/ChangeLog
trunk/gcc/cp/pt.c
trunk/gcc/testsuite/ChangeLog

[Bug c++/84662] [6/7/8 Regression] internal compiler error: tree check: expected class 'type', have 'exceptional' (error_mark) in is_bitfield_expr_with_lowered_type, at cp/typeck.c:1944

2018-03-02 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=84662

Jakub Jelinek  changed:

   What|Removed |Added

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

--- Comment #4 from Jakub Jelinek  ---
Created attachment 43544
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=43544&action=edit
gcc8-pr84662.patch

Untested fix.

[Bug c++/84662] [6/7/8 Regression] internal compiler error: tree check: expected class 'type', have 'exceptional' (error_mark) in is_bitfield_expr_with_lowered_type, at cp/typeck.c:1944

2018-03-02 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=84662

Jakub Jelinek  changed:

   What|Removed |Added

   Priority|P3  |P2
 Status|UNCONFIRMED |NEW
   Last reconfirmed||2018-03-02
 CC||jakub at gcc dot gnu.org,
   ||jason at gcc dot gnu.org
   Target Milestone|--- |6.5
Summary|internal compiler error:|[6/7/8 Regression] internal
   |tree check: expected class  |compiler error: tree check:
   |'type', have 'exceptional'  |expected class 'type', have
   |(error_mark) in |'exceptional' (error_mark)
   |is_bitfield_expr_with_lower |in
   |ed_type, at |is_bitfield_expr_with_lower
   |cp/typeck.c:1944|ed_type, at
   ||cp/typeck.c:1944
 Ever confirmed|0   |1

--- Comment #3 from Jakub Jelinek  ---
(In reply to Marek Polacek from comment #1)
> Actually this one seems to be fixed.

I can still reproduce with latest trunk.