WLUR causing a loss in type precision? Yet another instance of the AUDGZ-problem!
Compiling the below program with sac2c -maxspec 0 -noinl
causes a compiler error:
use Array: {tof, toi, sel};
int main()
{
grid = {iv -> tof([0]) | iv < [1] };
return toi(grid[0, 0]);
}
The error:
Internal compiler error
Program reached impossible state at /home/username/sac2c/src/libsac2c/typecheck/elim_alpha_types.c:435 -- new element type `float[*]' of array `_wlur_25' does not match old type `float[+]' on the left hand side
Please file a bug at: https://gitlab.sac-home.org/sac-group/sac2c/-/issues
The error is not triggered when tof()
is removed or computed tof()
over the entire grid.
-maxspec 0 -noinl
might seem like an oddly specific combination, but it's very effective at compiling a project quickly at the cost of runtime performance, making it excellent for debugging purposes.
Output of sac2c -V
:
sac2c 1.3.3-MijasCosta-1040-g893498
build-type: DEBUG
built-by: "username" at 2023-01-25T15:48:20