unofficial mirror of bug-guile@gnu.org 
 help / color / mirror / Atom feed
* Compiling 1.7.0 with gcc-3.3
@ 2003-05-19 10:09 Mikael Djurfeldt
  2003-05-19 14:26 ` Rob Browning
  2003-05-19 16:20 ` Bruce Korb
  0 siblings, 2 replies; 6+ messages in thread
From: Mikael Djurfeldt @ 2003-05-19 10:09 UTC (permalink / raw)
  Cc: djurfeldt

I've tried to compile CVS HEAD (1.7.0) with gcc-3.3.

Of course, I'd like this to work with the default
--enable-error-on-warning.  However, there are two problematic
instances.  One is the use of SCM_STACKITEM.  For example:

eval.c:1965:
  if (scm_stack_checking_enabled_p
      && SCM_STACK_OVERFLOW_P ((SCM_STACKITEM *) &proc))

The cast into (SCM_STACKITEM *) causes a warning that the pointer can
cause errors due to aliasing optimizations if it is dereferenced
(which it isn't, BTW).  -fstrict-aliasing is turned on by -O2 in
gcc-3.3.

This could be "solved" by adding -Wno-strict-aliasing to the
compilation options, but that might remove better motivated warnings.

Another problem seems more difficult:

gcc -DHAVE_CONFIG_H -I. -I../../../guile-core-new/libguile -I.. -I.. -I../../../guile-core-new -I../../../guile-core-new/libguile-ltdl -g -O2 -Werror -Wall -Wmissing-prototypes -Wno-strict-aliasing -MT numbers.lo -MD -MP -MF .deps/numbers.Tpo -c ../../../guile-core-new/libguile/numbers.c  -fPIC -DPIC -o .libs/numbers.lo
In file included from ../../../guile-core-new/libguile/numbers.c:4084:
../../../guile-core-new/libguile/num2integral.i.c: In function `scm_num2long_long':
../../../guile-core-new/libguile/num2integral.i.c:65: warning: comparison is always false due to limited range of data type
In file included from ../../../guile-core-new/libguile/numbers.c:4092:
../../../guile-core-new/libguile/num2integral.i.c: In function `scm_num2ulong_long':
../../../guile-core-new/libguile/num2integral.i.c:65: warning: comparison is always false due to limited range of data type

I think this is a stupid warning message.  In any case, you'd want to
be able to shut it off.  I can't find any way to do that.  Maybe we
should talk to the gcc people about this?

I've tried to enclose the code causing the warning with a surrounding
conditional which tests the sizes of the data types, but the compiler
outputs the above warning even though the code isn't going to be
compiled.

I think it's important to resolve this in some way.  If we can't, I'm
going to suggest that we shut off error-on-warning as a default, which
would be sad.  But Guile should compile "out-of-the-box".

Mikael


_______________________________________________
Guile-devel mailing list
Guile-devel@gnu.org
http://mail.gnu.org/mailman/listinfo/guile-devel


^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2003-05-22 10:26 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2003-05-19 10:09 Compiling 1.7.0 with gcc-3.3 Mikael Djurfeldt
2003-05-19 14:26 ` Rob Browning
2003-05-19 17:05   ` Bruce Korb
2003-05-22 10:26   ` Mikael Djurfeldt
2003-05-19 16:20 ` Bruce Korb
2003-05-22  9:37   ` Mikael Djurfeldt

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).