Pelles C forum

C language => Beginner questions => Topic started by: Jokaste on May 24, 2019, 01:07:16 PM

Title: Bug : fatal error: Internal error: unroll_liveout().
Post by: Jokaste on May 24, 2019, 01:07:16 PM

Quote
fatal error: Internal error: unroll_liveout().

If someone is interested.
I have many others. 8)
Title: Re: Bug : fatal error: Internal error: unroll_liveout().
Post by: carlr on April 18, 2020, 01:40:10 AM
New to C so bear with me. I had that problem too.

Narrowed it down to the way I was cleaning an array.

I had:

Code: [Select]
for (j = 1; j < 6; j++)
{
for (k = 1; k < 16; k++)
{
array[j][k] = 0;
}
}

It was solved by doing the counts backwards. As mentioned I'm new to C and self taught so I'm not sure why this is the case. It could be the way I start my arrays at 1 or that my PC is little endian.
Title: Re: Bug : fatal error: Internal error: unroll_liveout().
Post by: frankie on April 18, 2020, 04:11:12 PM
Hello welcome on board.
Don't worry to ask.
The error you get is an internal compiler error. Let's wait for Pelle to analyze it.
Normally is due to an anomalous condition while optimizing code. As a workaround for now try to recompile without optimization, or readjusting the code.
Then some considerations:
 -1 C arrays always starts from 0th element. If your intention was to act something like the BASIC option base it doesn't work in C.
 -2 All PC X86 architectures are little-endian, and in any case doesn't influence the compilation.
 -3 Keep care of code indentation to make it more readable.