* Jakub Jelinek:

> Not all targets support GNU style function versioning where one can have
> multiple symbol versions for the same symbol name, and I wanted to
> avoid GOMP_task2, GOMP_task3 etc.

Why?  If it is about aesthetics, wouldn't compliance with language
standards and ABI requirements be more important?

> In retrospect, it would have been probably better to make the function
> void (*fn) (void *), /* ... */, unsigned flags, ...)
> but it is too late to change that now.

Right, on some targets, the caller would have to allocate a parameter
save area, resulting in stack corruption if it is missing.

> On the other side, I really don't see a reason why gcc would try to spill
> something that has never been changed.

If the argument slot is dead, GCC might reuse it for something else (if
the ABI says that the callee owns those slots).

Thanks,
Florian
-- 
Red Hat GmbH, https://de.redhat.com/ , Registered seat: Grasbrunn,
Commercial register: Amtsgericht Muenchen, HRB 153243,
Managing Directors: Charles Cachera, Brian Klemm, Laurie Krebs, Michael O'Neill

Reply via email to