This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: GCC 4.3.0 Status Report (2007-09-04)
- From: Kai Tietz <Kai dot Tietz at onevision dot com>
- To: Mark Mitchell <mark at codesourcery dot com>
- Cc: GCC <gcc at gcc dot gnu dot org>, Jan Hubicka <hubicka at ucw dot cz>, Jan Hubicka <jh at suse dot cz>
- Date: Mon, 17 Sep 2007 08:56:11 +0200
- Subject: Re: GCC 4.3.0 Status Report (2007-09-04)
Mark,
> Kai Tietz wrote:
>
> >> Kai, why is your change making OUTGOING_REG_PARM_STACK_SPACE accept a
> >> FUNCTION_DECL, rather than a FUNCTION_TYPE? I'd think that all
> >> calling-convention predicates ought to be looking at the type to
support
> >> calling through function pointers?
> >
> > This macro is used also in builtin's and libcalls subject where the
> > FUNC_DECL is a null reference. Also in most places the FUNC_DECL is
> > allready present. To avoid duplicate code to check and get the
FUNC_TYPE
> > by FUNC_DECL, I choose to pass the function declaration.
>
> I'm sorry -- that doesn't really answer the question I was trying to
> ask. To be clear, if we're calling through a function pointer, we still
> need to be able to do the right thing, and in that case we don't have a
> FUNCTION_DECL. So, I don't understand how you can have a macro to
> control the calling convention that accepts a FUNCTION_DECL; I would
> think it would have to accept a FUNCTION_TYPE.
Sorry, I think I missed your question. To make the macro
OUTGOING_REG_PARM_STACK_SPACE accepting a FUNCTION_DECL, there is no
special reason for it. I deceided this to make it accepting a
FUNCTION_DECL to avoid the fndecl to fntype conversion in middle-backend.
In some cases there is no fntype nor a valid fndecl and (a NULL value),
but there is the FUNCTION_DECL type allready present, therefore I choose
the FUNCTION_DECL type instead of the FUNCTION_TYPE. I think, I used it to
be according to the REG_PARM_STACK_SPACE macro. If this is a serious
problem, of course I can move this to a FUNCTION_TYPE. Are there some
special needs to have here FUNCTION_TYPE ?
Cheers,
i.A. Kai Tietz
| (\_/) This is Bunny. Copy and paste Bunny
| (='.'=) into your signature to help him gain
| (")_(") world domination.
------------------------------------------------------------------------------------------
OneVision Software Entwicklungs GmbH & Co. KG
Dr.-Leo-Ritter-StraÃe 9 - 93049 Regensburg
Tel: +49.(0)941.78004.0 - Fax: +49.(0)941.78004.489 - www.OneVision.com
Commerzbank Regensburg - BLZ 750 400 62 - Konto 6011050
Handelsregister: HRA 6744, Amtsgericht Regensburg
KomplementÃrin: OneVision Software Entwicklungs Verwaltungs GmbH
Dr.-Leo-Ritter-StraÃe 9 â 93049 Regensburg
Handelsregister: HRB 8932, Amtsgericht Regensburg - GeschÃftsfÃhrer:
Ulrike DÃhler, Manuela Kluger