This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
builtin_apply et al
- From: Nathan Sidwell <nathan at codesourcery dot com>
- To: gcc at gcc dot gnu dot org
- Date: Fri, 16 Apr 2004 17:16:49 +0100
- Subject: builtin_apply et al
- Organization: Codesourcery LLC
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