>>>> "OG" == Olivier Galibert
<galibert(a)pobox.com> writes:
OG> 64 bits (irrelevant), union type (irrelevant either)
OG> cc -c -64 -g -Demacs -I. -DHAVE_CONFIG_H -I/usr/local/include -xansi
/users/model/galibert/org/xemacs/xemacs-20/src/extents.c
OG> "/users/model/galibert/org/xemacs/xemacs-20/src/extents.c", line 4435:
warning(1110):
OG> statement is unreachable
OG> RETURN_NOT_REACHED(0)
OG> ^
Please add a patch to this fragment in lisp.h:
#ifdef __SUNPRO_C
#define RETURN__ if (1) return
#define RETURN_NOT_REACHED(value)
#else
#define RETURN__ return
#define RETURN_NOT_REACHED(value) return value;
#endif
There may not be a successful way to suppress these with your compiler, however.
OG> "/users/model/galibert/org/xemacs/xemacs-20/src/extents.c", line 4987:
warning(1185):
OG> enumerated type mixed with another type
OG> return glyph_layout_to_symbol (extent_begin_glyph_layout (e));
OG> ^
I'll make these warnings go away for compilers that don't support enum
bit fields. Nevertheless, add your favourite compiler to this
fragment in config.h.in:
#ifdef __GNUC__
#define enum_field(enumeration_type) enum enumeration_type
#else
#define enum_field(enumeration_type) unsigned int
#endif
(but make sure you don't get warnings in your compiler's pedantic mode)
The next C standard will not have support for enums as bitfields, but
they are listed as `common extensions'. We will, however, be able to
have `bool' bitfields. I may end up bool-izing the XEmacs sources someday.
Martin