Summary: | sys-devel/gcc: ICE when compiling games-emulation/dolphin | ||
---|---|---|---|
Product: | Gentoo Linux | Reporter: | John Helmert III <ajak> |
Component: | Current packages | Assignee: | Gentoo Toolchain Maintainers <toolchain> |
Status: | RESOLVED FIXED | ||
Severity: | normal | CC: | games, mgorny |
Priority: | Normal | ||
Version: | unspecified | ||
Hardware: | All | ||
OS: | Linux | ||
URL: | https://gcc.gnu.org/bugzilla/show_bug.cgi?id=104583 | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- | |
Attachments: | Dynamics.cpp.ii |
Description
John Helmert III
2022-05-21 00:03:30 UTC
My bet is on https://gcc.gnu.org/PR104583 (In reply to Sergei Trofimovich from comment #1) > My bet is on https://gcc.gnu.org/PR104583 Thanks! I can confirm the patch there seems to fix the issue, it simply errors out as expected: $ g++ Dynamics.cpp.ii Dynamics.cpp.ii:1:11: error: ‘_Nm’ has not been declared 1 | template <_Nm> struct array; | ^~~ Dynamics.cpp.ii:3:9: error: expected ‘;’ at end of member declaration 3 | TVec3() array<> data | ^ | ; Dynamics.cpp.ii:3:17: error: wrong number of template arguments (0, should be 1) 3 | TVec3() array<> data | ^ Dynamics.cpp.ii:1:23: note: provided for ‘template<<typeprefixerror><anonymous> > struct array’ 1 | template <_Nm> struct array; | ^~~~~ Dynamics.cpp.ii:3:19: error: expected ‘;’ at end of member declaration 3 | TVec3() array<> data | ^~~~ | ; Dynamics.cpp.ii:4:2: error: expected ‘;’ after struct definition 4 | } using Vec3 = TVec3; | ^ | ; Dynamics.cpp.ii:6:26: error: expected ‘;’ at end of member declaration 6 | Vec3 angular_velocity {} | ^ | ; Dynamics.cpp.ii:5:1: error: new types may not be defined in a return type 5 | struct RotationalState { | ^~~~~~ Dynamics.cpp.ii:5:1: note: (perhaps a semicolon is missing after the definition of ‘RotationalState’) Dynamics.cpp.ii: In function ‘RotationalState EmulatePoint()’: Dynamics.cpp.ii:9:13: error: expected ‘;’ at end of input 9 | state = {} | ^ | ; Dynamics.cpp.ii:9:13: error: expected ‘}’ at end of input Dynamics.cpp.ii:7:18: note: to match this ‘{’ 7 | } EmulatePoint() { | ^ Dynamics.cpp.ii:9:13: warning: no return statement in function returning non-void [-Wreturn-type] 9 | state = {} | ^ Somewhat strangely (to me), with the patch Dolphin builds successfully and doesn't hit the above errors, despite ICEing on code that was reduced to code that produces the above errors. Fixed in 12/13. |