[Bug c++/42038] New: ICE: tree check: expected class 'type', have 'exceptional' (error_mark) in useless_type_conversion_p

View: New views
9 Messages — Rating Filter:   Alert me  

[Bug c++/42038] New: ICE: tree check: expected class 'type', have 'exceptional' (error_mark) in useless_type_conversion_p

by Bugzilla from gcc-bugzilla@gcc.gnu.org :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

`g++ bug.cc' causes this error:

bug.cc: In function 'void f()':
bug.cc:5:20: error: '__cxa_begin_catch' cannot be used as a function
bug.cc:5:20: internal compiler error: tree check: expected class 'type', have
'exceptional' (error_mark) in useless_type_conversion_p, at tree-ssa.c:1221


--
           Summary: ICE: tree check: expected class 'type', have
                    'exceptional' (error_mark) in useless_type_conversion_p
           Product: gcc
           Version: 4.5.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c++
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: d dot g dot gorbachev at gmail dot com
 GCC build triplet: i686-pc-linux-gnu
  GCC host triplet: i686-pc-linux-gnu
GCC target triplet: i686-pc-linux-gnu


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42038


[Bug c++/42038] ICE: tree check: expected class 'type', have 'exceptional' (error_mark) in useless_type_conversion_p

by Bugzilla from gcc-bugzilla@gcc.gnu.org :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message



------- Comment #1 from paolo dot carlini at oracle dot com  2009-11-14 00:15 -------
And bug.cc is...


--

paolo dot carlini at oracle dot com changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |WAITING


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42038


[Bug c++/42038] ICE: tree check: expected class 'type', have 'exceptional' (error_mark) in useless_type_conversion_p

by Bugzilla from gcc-bugzilla@gcc.gnu.org :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message



------- Comment #2 from d dot g dot gorbachev at gmail dot com  2009-11-14 01:31 -------
Created an attachment (id=19015)
 --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=19015&action=view)
The bug.cc file

Sorry, forgot it. :)


--


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42038


[Bug c++/42038] ICE: tree check: expected class 'type', have 'exceptional' (error_mark) in useless_type_conversion_p

by Bugzilla from gcc-bugzilla@gcc.gnu.org :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message



------- Comment #3 from paolo dot carlini at oracle dot com  2009-11-14 01:58 -------
Funny, and I agree the compiler should behave more gracefully, but this code is
invalid per 17.4.3.1.2: names containing a double underscore are reserved.


--

paolo dot carlini at oracle dot com changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|WAITING                     |NEW
     Ever Confirmed|0                           |1
           Keywords|                            |ice-on-invalid-code
   Last reconfirmed|0000-00-00 00:00:00         |2009-11-14 01:58:47
               date|                            |


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42038


[Bug c++/42038] ICE: tree check: expected class 'type', have 'exceptional' (error_mark) in useless_type_conversion_p

by Bugzilla from gcc-bugzilla@gcc.gnu.org :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message



--

paolo dot carlini at oracle dot com changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
         AssignedTo|unassigned at gcc dot gnu   |paolo dot carlini at oracle
                   |dot org                     |dot com
             Status|NEW                         |ASSIGNED


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42038


[Bug c++/42038] ICE: tree check: expected class 'type', have 'exceptional' (error_mark) in useless_type_conversion_p

by Bugzilla from gcc-bugzilla@gcc.gnu.org :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message



------- Comment #4 from paolo dot carlini at oracle dot com  2009-11-23 23:18 -------
Jason, as far as I know, we never compiled this, the ICE is new. If we only
want to avoid the ICE, I'm attaching a patchlet to except.c which works fine,
otherwise, please let me know...


--

paolo dot carlini at oracle dot com changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |jason at gcc dot gnu dot org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42038


[Bug c++/42038] ICE: tree check: expected class 'type', have 'exceptional' (error_mark) in useless_type_conversion_p

by Bugzilla from gcc-bugzilla@gcc.gnu.org :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message



------- Comment #5 from paolo dot carlini at oracle dot com  2009-11-23 23:19 -------
Created an attachment (id=19105)
 --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=19105&action=view)
Draft patch


--


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42038


[Bug c++/42038] [4.3/4.4/4.5 Regression] ICE: tree check: expected class 'type', have 'exceptional' (error_mark) in useless_type_conversion_p

by Bugzilla from gcc-bugzilla@gcc.gnu.org :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message



------- Comment #6 from reichelt at gcc dot gnu dot org  2009-11-29 15:56 -------
The ICE happens since GCC 4.2.0.


--

reichelt at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |reichelt at gcc dot gnu dot
                   |                            |org
           Keywords|                            |error-recovery, monitored
            Summary|ICE: tree check: expected   |[4.3/4.4/4.5 Regression]
                   |class 'type', have          |ICE: tree check: expected
                   |'exceptional' (error_mark)  |class 'type', have
                   |in useless_type_conversion_p|'exceptional' (error_mark)
                   |                            |in useless_type_conversion_p
   Target Milestone|---                         |4.3.5


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42038


[Bug c++/42038] [4.3/4.4/4.5 Regression] ICE: tree check: expected class 'type', have 'exceptional' (error_mark) in useless_type_conversion_p

by Bugzilla from gcc-bugzilla@gcc.gnu.org :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message



--

rguenth at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Priority|P3                          |P5


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42038