Paul Brook wrote:
We already do that. It doesn't stop gcc putting the return in the middle
of the function.

Paul
void f1();
void f2();

void f(int *z, int x, int y)
{
    if (x) {
        *z = x;
        f1();
    } else {
        *z = y;
        f2();
    }
    asm volatile ("");
}

works, with gcc -O2 -fno-reorder-blocks. removing either the asm or the
-f flag doesn't.  No idea if it's consistent across architectures.

It doesn't work reliably though. We already do everything you mention above.

Okay.  Sorry for pestering :)

--
error compiling committee.c: too many arguments to function



_______________________________________________
Qemu-devel mailing list
Qemu-devel@nongnu.org
http://lists.nongnu.org/mailman/listinfo/qemu-devel

Reply via email to