August 24, 2019 Crash with foreach handle Variadic Templates | ||||
|---|---|---|---|---|
| ||||
Hi:
I'm writing an OS kernel run in i386 mode.
where is crash when I implement a std.stdio.write like function and pass a long type argument. see code below:
void printlnA...)(A a)
{
foreach(v;a)
{
}
}
long xr=100;
println(xr); //crash
println(100); //ok
compile with ldc2 -betterC -m32
then run
qemu-system-i386 -kernel kernel -serial stdio -m 1024M
Is where has a bug in implementation.
| ||||
August 24, 2019 Re: Crash with foreach handle Variadic Templates | ||||
|---|---|---|---|---|
| ||||
Posted in reply to lili | On Saturday, 24 August 2019 at 01:25:46 UTC, lili wrote:
> Is where has a bug in implementation.
When running LDC with -vv, you'll see something like this in the very first line:
Targeting 'i686-pc-linux-gnu' (CPU 'pentium4' with features '')
We default to a Pentium 4 for 32-bit x86, and that leads to SSE instructions being used (movsd). Use -mcpu to select an older CPU, e.g., -mcpu=i386.
| |||
Copyright © 1999-2021 by the D Language Foundation
Permalink
Reply