[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: GNU poke 2.90.0 on Solaris 11.3
From: |
Bruno Haible |
Subject: |
Re: GNU poke 2.90.0 on Solaris 11.3 |
Date: |
Mon, 23 Jan 2023 22:35:39 +0100 |
On a Solaris 11.3 machine (gcc211.fsffrance.org):
* With gcc, the compilation succeeds.
* With cc, (cc: Sun C 5.11 SunOS_sparc Patch 145354-06 2013/04/30),
i.e. CC="cc -m64 -O", there is a compilation error:
source='jitterc/jitterc-generate.c'
object='jitterc/bin_jitter-jitterc-generate.o' libtool=no \
DEPDIR=.deps depmode=none /bin/sh ../../jitter/build-aux/depcomp \
cc -m64 -O -DHAVE_CONFIG_H -I. -I../../jitter -I./config-private -I./jitter
-I./gnulib-local -I../../jitter/gnulib-local
-DJITTER_FLAGDIR=\"/export/home/haible/poke-2.90.0/build-sparc-64-cc/jitter/flags\"
-DJITTER_TEMPLATEDIR=\"/export/home/haible/poke-2.90.0/build-sparc-64-cc/jitter/../../jitter/templates\"
-DJITTER_INTERNAL=1 -I/export/home/haible/prefix-sparc64/include -g -c -o
jitterc/bin_jitter-jitterc-generate.o `test -f 'jitterc/jitterc-generate.c' ||
echo '../../jitter/'`jitterc/jitterc-generate.c
"../../jitter/jitter/jitter-missing.h", line 52: warning: macro redefined:
alignas
"../../jitter/jitter/jitter-missing.h", line 53: warning: macro redefined:
alignof
"../../jitter/jitter/jitter-missing.h", line 131: warning: attribute "nonnull"
is unknown, ignored
"../../jitter/jitter/jitter-missing.h", line 136: warning: attribute "nonnull"
is unknown, ignored
"../../jitter/jitter/jitter-hash.h", line 125: warning: attribute "nonnull" is
unknown, ignored
"../../jitter/jitter/jitter-hash.h", line 134: warning: attribute "nonnull" is
unknown, ignored
"../../jitter/jitter/jitter-hash.h", line 153: warning: attribute "nonnull" is
unknown, ignored
"../../jitter/jitter/jitter-hash.h", line 163: warning: attribute "nonnull" is
unknown, ignored
"../../jitter/jitter/jitter-hash.h", line 173: warning: attribute "nonnull" is
unknown, ignored
"../../jitter/jitter/jitter-hash.h", line 187: warning: attribute "nonnull" is
unknown, ignored
"../../jitter/jitter/jitter-hash.h", line 223: warning: attribute "cold" is
unknown, ignored
"../../jitter/jitter/jitter-hash.h", line 223: warning: attribute "nonnull" is
unknown, ignored
"../../jitter/jitter/jitter-hash.h", line 237: warning: attribute "nonnull" is
unknown, ignored
"../../jitter/jitter/jitter-hash.h", line 241: warning: attribute "nonnull" is
unknown, ignored
"../../jitter/jitter/jitter-hash.h", line 246: warning: attribute "nonnull" is
unknown, ignored
"../../jitter/jitter/jitter-hash.h", line 251: warning: attribute "nonnull" is
unknown, ignored
"../../jitter/jitter/jitter-hash.h", line 255: warning: attribute "nonnull" is
unknown, ignored
"../../jitter/jitter/jitter-hash.h", line 270: warning: attribute "nonnull" is
unknown, ignored
"../../jitter/jitter/jitter-hash.h", line 274: warning: attribute "nonnull" is
unknown, ignored
"../../jitter/jitter/jitter-hash.h", line 279: warning: attribute "nonnull" is
unknown, ignored
"../../jitter/jitter/jitter-hash.h", line 284: warning: attribute "nonnull" is
unknown, ignored
"../../jitter/jitter/jitter-hash.h", line 288: warning: attribute "nonnull" is
unknown, ignored
"../../jitter/jitterc/jitterc-vm.h", line 143: warning: attribute "nonnull" is
unknown, ignored
"../../jitter/jitterc/jitterc-vm.h", line 149: warning: attribute "nonnull" is
unknown, ignored
"../../jitter/jitterc/jitterc-vm.h", line 488: warning: anonymous union
declaration
"../../jitter/jitterc/jitterc-vm.h", line 511: warning: attribute "nonnull" is
unknown, ignored
"../../jitter/jitterc/jitterc-vm.h", line 515: warning: attribute "nonnull" is
unknown, ignored
"../../jitter/jitterc/jitterc-vm.h", line 519: warning: attribute "nonnull" is
unknown, ignored
"../../jitter/jitterc/jitterc-vm.h", line 535: warning: attribute "nonnull" is
unknown, ignored
"../../jitter/jitterc/jitterc-vm.h", line 543: warning: attribute "nonnull" is
unknown, ignored
"../../jitter/jitterc/jitterc-vm.h", line 612: warning: attribute "nonnull" is
unknown, ignored
"../../jitter/jitterc/jitterc-vm.h", line 623: warning: attribute "nonnull" is
unknown, ignored
"../../jitter/jitterc/jitterc-vm.h", line 632: warning: attribute "nonnull" is
unknown, ignored
"../../jitter/jitterc/jitterc-vm.h", line 638: warning: attribute "nonnull" is
unknown, ignored
"../../jitter/jitterc/jitterc-vm.h", line 698: warning: attribute "nonnull" is
unknown, ignored
"../../jitter/jitterc/jitterc-vm.h", line 714: warning: attribute "nonnull" is
unknown, ignored
"../../jitter/jitterc/jitterc-vm.h", line 884: warning: attribute "nonnull" is
unknown, ignored
"../../jitter/jitterc/jitterc-vm.h", line 930: warning: attribute "nonnull" is
unknown, ignored
"../../jitter/jitterc/jitterc-vm.h", line 935: warning: attribute "nonnull" is
unknown, ignored
"../../jitter/jitterc/jitterc-vm.h", line 941: warning: attribute "nonnull" is
unknown, ignored
"../../jitter/jitterc/jitterc-vm.h", line 941: warning: attribute "nonnull" is
unknown, ignored
"../../jitter/jitterc/jitterc-vm.h", line 948: warning: attribute "nonnull" is
unknown, ignored
"../../jitter/jitterc/jitterc-vm.h", line 948: warning: attribute "nonnull" is
unknown, ignored
"../../jitter/jitterc/jitterc-vm.h", line 954: warning: attribute "nonnull" is
unknown, ignored
"../../jitter/jitterc/jitterc-vm.h", line 969: warning: attribute "nonnull" is
unknown, ignored
"../../jitter/jitterc/jitterc-generate.h", line 45: warning: attribute
"nonnull" is unknown, ignored
"../../jitter/jitterc/jitterc-utility.h", line 44: warning: attribute
"nonnull" is unknown, ignored
"../../jitter/jitterc/jitterc-utility.h", line 51: warning: attribute
"nonnull" is unknown, ignored
"../../jitter/jitterc/jitterc-utility.h", line 57: warning: attribute
"nonnull" is unknown, ignored
"../../jitter/jitterc/jitterc-utility.h", line 69: warning: attribute
"nonnull" is unknown, ignored
"../../jitter/jitterc/jitterc-utility.h", line 76: warning: attribute
"nonnull" is unknown, ignored
"../../jitter/jitterc/jitterc-rewrite.h", line 206: warning: anonymous struct
declaration
"../../jitter/jitterc/jitterc-rewrite.h", line 197: warning: anonymous union
declaration
"../../jitter/jitterc/jitterc-rewrite.h", line 250: warning: attribute
"nonnull" is unknown, ignored
"../../jitter/jitterc/jitterc-rewrite.h", line 258: warning: attribute
"nonnull" is unknown, ignored
"../../jitter/jitterc/jitterc-rewrite.h", line 268: warning: attribute
"nonnull" is unknown, ignored
"../../jitter/jitterc/jitterc-rewrite.h", line 274: warning: attribute
"nonnull" is unknown, ignored
"../../jitter/jitterc/jitterc-rewrite.h", line 298: warning: attribute
"nonnull" is unknown, ignored
"../../jitter/jitterc/jitterc-rewrite.h", line 308: warning: attribute
"nonnull" is unknown, ignored
"../../jitter/jitterc/jitterc-rewrite.h", line 394: warning: attribute
"nonnull" is unknown, ignored
"../../jitter/jitterc/jitterc-rewrite.h", line 407: warning: attribute
"nonnull" is unknown, ignored
"../../jitter/jitterc/jitterc-rewrite.h", line 422: warning: attribute
"nonnull" is unknown, ignored
"../../jitter/jitterc/jitterc-mangle.h", line 34: warning: attribute "nonnull"
is unknown, ignored
"../../jitter/jitter/jitter-string.h", line 29: warning: attribute "nonnull"
is unknown, ignored
"../../jitter/jitter/jitter-string.h", line 35: warning: attribute "nonnull"
is unknown, ignored
"../../jitter/jitter/jitter-dynamic-buffer.h", line 80: warning: attribute
"nonnull" is unknown, ignored
"../../jitter/jitter/jitter-dynamic-buffer.h", line 86: warning: attribute
"nonnull" is unknown, ignored
"../../jitter/jitter/jitter-dynamic-buffer.h", line 92: warning: attribute
"nonnull" is unknown, ignored
"../../jitter/jitter/jitter-dynamic-buffer.h", line 111: warning: attribute
"nonnull" is unknown, ignored
"../../jitter/jitter/jitter-dynamic-buffer.h", line 122: warning: attribute
"nonnull" is unknown, ignored
"../../jitter/jitter/jitter-dynamic-buffer.h", line 129: warning: attribute
"nonnull" is unknown, ignored
"../../jitter/jitter/jitter-dynamic-buffer.h", line 137: warning: attribute
"nonnull" is unknown, ignored
"../../jitter/jitter/jitter-dynamic-buffer.h", line 143: warning: attribute
"nonnull" is unknown, ignored
"../../jitter/jitter/jitter-dynamic-buffer.h", line 149: warning: attribute
"nonnull" is unknown, ignored
"../../jitter/jitter/jitter-dynamic-buffer.h", line 157: warning: attribute
"nonnull" is unknown, ignored
"../../jitter/jitter/jitter-dynamic-buffer.h", line 163: warning: attribute
"nonnull" is unknown, ignored
"../../jitter/jitter/jitter-dynamic-buffer.h", line 178: warning: attribute
"nonnull" is unknown, ignored
"../../jitter/jitter/jitter-dynamic-buffer.h", line 191: warning: attribute
"nonnull" is unknown, ignored
"../../jitter/jitter/jitter-dynamic-buffer.h", line 197: warning: attribute
"nonnull" is unknown, ignored
"../../jitter/jitter/jitter-dynamic-buffer.h", line 218: warning: attribute
"nonnull" is unknown, ignored
"../../jitter/jitter/jitter-dynamic-buffer.h", line 218: syntax error before or
at: )
"../../jitter/jitter/jitter-dynamic-buffer.h", line 218: warning: syntax error:
empty declaration
"../../jitter/jitter/jitter-dynamic-buffer.h", line 222: cannot recover from
previous errors
cc: acomp failed for ../../jitter/jitterc/jitterc-generate.c
gmake[3]: *** [Makefile:10499: jitterc/bin_jitter-jitterc-generate.o] Error 2
gmake[3]: Leaving directory
'/export/home/haible/poke-2.90.0/build-sparc-64-cc/jitter'
The error is in jitter/jitter/jitter-dynamic-buffer.h line 218.
The cause is that the token 'returns_nonnull' expands to empty during the
preprocessing phase. And while the compiler groks
const void*
jitter_dynamic_buffer_to_const_pointer (const struct jitter_dynamic_buffer *db)
__attribute__ ((, nonnull (1), pure));
without complaining, for
void *
jitter_dynamic_buffer_extract (struct jitter_dynamic_buffer *db)
__attribute__ ((nonnull (1), ));
it does complain: "syntax error before or at: )".
The fix is to move all 'returns_nonnull' away from the end of the attribute
list.
There is also a syntax error here: "syntax error before or at: ,"
jitter_print_context
jitter_print_context_make_file_star (FILE *f)
__attribute__ ((warn_unused_result, returns_nonnull,
nonnull (1)));
Once this is fixed, I get these errors:
"../../jitter/jitterc/jitterc-generate.c", line 953: improper member use:
operator
"../../jitter/jitterc/jitterc-generate.c", line 958: improper member use:
operator
"../../jitter/jitterc/jitterc-generate.c", line 959: improper member use:
operator
"../../jitter/jitterc/jitterc-generate.c", line 963: improper member use:
operand_expressions
"../../jitter/jitterc/jitterc-generate.c", line 963: improper member use:
operand_expressions
"../../jitter/jitterc/jitterc-generate.c", line 963: improper member use:
operand_expressions
"../../jitter/jitterc/jitterc-generate.c", line 966: improper member use:
operand_expressions
Here the problem is that 'struct jitterc_template_expression' contains
an anonymous union that contains an anonymous struct, and older compilers
want these to be named and accessed through expressions such as
te->u.s.operand_expressions
rather than
te->operand_expressions
According to https://stackoverflow.com/questions/8932707/ anonymous
structs and unions are a C11 feature. And this compiler does not
support C11, as logged during the configure stage:
checking for cc -m64 -O option to enable C11 features... unsupported
checking for cc -m64 -O option to enable C99 features... none needed
C11 being more than 11 years old, my vote is to do nothing and just
ignore this old compiler.
Bruno
- Re: GNU poke 2.90.0 on Solaris 11.3,
Bruno Haible <=