builtin_apply et al

Nathan Sidwell nathan@codesourcery.com
Fri Apr 16 17:23:00 GMT 2004


Hi,
I've fallen over a problem with builtin apply, namely it is thinking
the mode of the function return register is 'DImode', when it never is
in my case. Examining further I find that

1) apply_args_size says 'The values computed by this function never change'
yet uses cfun->decl in determining the size.

2) apply_result_size says 'I'm not sure this is right, but it works so far.'
That just fills me with confidence.

3) expand_builtin_apply appears to only consider structure returns as
candidates for a hidden parameter, and the code here does not appear
to mirror that in emit_call_1, which caters for other types being returned
that way too (and for a static pcc structure return too).

I can see that the builtin_apply *might* be useful somewhere, but is it
really being used beyond test cases?

Dare I suggest deprecating this 'feature'? (rather than fixing it)

nathan
-- 
Nathan Sidwell    ::   http://www.codesourcery.com   ::     CodeSourcery LLC
nathan@codesourcery.com    ::     http://www.planetfall.pwp.blueyonder.co.uk




More information about the Gcc mailing list