guile-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Compiling 1.7.0 with gcc-3.3


From: Bruce Korb
Subject: Re: Compiling 1.7.0 with gcc-3.3
Date: Mon, 19 May 2003 10:05:41 -0700

Rob Browning wrote:

> > eval.c:1965:
> >   if (scm_stack_checking_enabled_p
> >       && SCM_STACK_OVERFLOW_P ((SCM_STACKITEM *) &proc))
> 
> Right I posted this to guile-devel a week or so ago.  Someone posted a
> (void *) coercion fix, but I haven't had a chance to look in to it.
> 
> > This could be "solved" by adding -Wno-strict-aliasing to the
> > compilation options, but that might remove better motivated warnings.
> 
> I'd be happier with -fno-strict-aliasing, but I don't really want that
> either.  I'd rather see if we can alter the code to avoid the warning.

The (void*) coercion explicitly tells the compiler that the memory
named ``proc'' can be referenced in aliasing-unfriendly ways.
The other mechanism is to make ``proc'' be a union of whatever it
currently is with SCM_STACKITEM, so that other references become:

   proc.normal

and this reference becomes (without a cast):

  &proc.stackitem

In this context, ``(uintptr_t)&proc'' seems more appropriate and
less hassle, but it's your call.




reply via email to

[Prev in Thread] Current Thread [Next in Thread]