This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

builtin_apply et al


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



Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]