Ticket #589 (Open)Fri Mar 24 16:24:37 UTC 2023
Fatal internal error in cc 5.91 when inlining a function with 64-bit parameters
Reported by: | Cameron Cawley (3514) | Severity: | Normal |
Part: | RISC OS: C/C++ toolchain | Release: | |
Milestone: | Status | Open |
Details by Cameron Cawley (3514):
CC -c -depend !Depend -IC: -throwback -arch 8.1-a.32 -o @.o.Test @.c.Test
Norcroft RISC OS Arm C vsn 5.91 [23 Feb 2023]
“c.Test”, line 29: Fatal internal error: negative stack offset
Internal inconsistency: either resource shortage or compiler fault. If you
cannot alter your program to avoid this failure, please contact your supplier
Changelog:
Modified by Cameron Cawley (3514) Fri, March 24 2023 - 16:25:06 GMT
- Attachment added: Test
Modified by Cameron Cawley (3514) Fri, March 24 2023 - 16:25:58 GMT
- Summary changed from Fatal internal error in cc 5.91 when using CRC32CW instruction with 64-bit function parameters to Fatal internal error in cc 5.91 when using the CRC32CW instruction with 64-bit function parameters
Modified by Sprow (202) Sat, March 25 2023 - 13:01:43 GMT
- Summary changed from Fatal internal error in cc 5.91 when using the CRC32CW instruction with 64-bit function parameters to Fatal internal error in cc 5.91 when inlining a function with 64-bit parameters
- Attachment added: smallertest.c
I wondered if it really was something special about CRC32CW, so tried changing that for MUL, but got the same fatal error.
Then I wondered if the inline assembler was important at all, so deleted that, but got the same fatal error.
Attached is a smaller test case only in C. If you remove the inline qualifier it compiles OK, so failure to inline seems to be the real issue at hand.