[Gc] returning stack address without a warning

Eric Deplagne Eric.Deplagne at wanadoo.fr
Thu Oct 26 04:12:09 PDT 2006


On Thu, 26 Oct 2006 11:33:20 +0100, Andrew Haley wrote:
> Eric Deplagne writes:
>  > > My goal with -Wall and similar is to at least document any remaining
>  > > warnings in the source.  The collector inherently does a few things that
>  > > should generate warnings in "normal" code, e.g. it returns the address
>  > > of a local to get an upper bound on the stack pointer.  This also really
>  > > applies only to gc7.
>  > 
>  > If there's nothing clever I didn't notice on the way, using an helper
>  > function is enough to prevent the compiler from noticing what we're doing
>  > to that poor local variable...
> 
> No, that's a bad idea.  Later versions of the compiler may well see
> through this trick and you'll get the warning again.  It is better
> either to use a properly supported way to the the stack address or to
> live with the warning than to go through such contortions.
> 
> Andrew.

  Well... The first part of your "or" statement is obviouly false,
  there is no supported way to get the stack address...

  As for a compiler noticing this trick, it might happen, but I really
  doubt it, as long as the helper function doesn't get inlined...

  IMHO one more function away is not such a "contortion" that it's not worth it...
  And for the case a compiler was clever enough to still bark, I guess I would then
  cope with the warning, having done what is possible to avoid it...

-- 
  Eric Deplagne
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: Digital signature
Url : http://napali.hpl.hp.com/pipermail/gc/attachments/20061026/d3b59e77/attachment-0001.pgp


More information about the Gc mailing list