You are not logged in.
Unfortunately, as of the transition to GCC 12 with the newest DevkitARM update, PocketNES will no longer compile. It hits an internal compiler error at the "C_entry" function.
Last edited by PrgmrAtHrt (2022-06-02 9:56:05 am)
Offline
Thanks, will check it out.
edit: If I comment out the two while loops, it builds without internal compiler errors.
//advance past first null
while (*s++ != 0);
//advance past second null
while (*s++ != 0);
Edit 2: A minimal program which triggers the internal error: (Build with -Os)
int main()
{
{
char *s=(char*)0x0203fc08;
//advance past first null
while (*s++ != 0);
//advance past second null
while (*s++ != 0);
}
return 0;
}
"We are merely sprites that dance at the beck and call of our button pressing overlord."
Offline
Thanks for the quick response and fix!
Offline
It's not really a fix, removing that code breaks pogoshell support. Declaring the variable "s" as volatile seems to be a temporary actual fix.
I've sent a small report of the issue to the devkitarm forum.
Also, look at the branch named "mapper_overlays_and_compy" on github rather than the main branch for now.
"We are merely sprites that dance at the beck and call of our button pressing overlord."
Offline
I was going to mention making the pointer volatile, but you beat me to it. At least there's a workaround for now.
Last edited by PrgmrAtHrt (2022-06-02 1:57:24 pm)
Offline