Hi
here is the 3 attempts I've just did:
root@aix71tst ==> cc -qlanglvl=extc89 -qlanglvl=extc99 -g -c /tmp/foo.c
"/tmp/foo.c", line 4966.16: 1506-045 (S) Undeclared identifier
SYSINT_BUFSIZE.
"/tmp/foo.c", line 4966.15: 1506-1324 (S) Array size must have integer
type.
"/tmp/foo.c", line 4967.16: 1506-045 (S) Undeclared identifier
SYSINT_BUFSIZE.
"/tmp/foo.c", line 4967.15: 1506-1324 (S) Array size must have integer
type.
"/tmp/foo.c", line 5058.17: 1506-045 (S) Undeclared identifier
SYSINT_BUFSIZE.
"/tmp/foo.c", line 5058.16: 1506-1324 (S) Array size must have integer
type.
root@aix71tst ==> cc -qlanglvl=extc89 -g -c /tmp/foo.c
"/tmp/foo.c", line 2663.1: 1506-485 (S) Parameter declaration list is
incompatible with declarator for inline.
"/tmp/foo.c", line 2665.1: 1506-276 (S) Syntax error: possible missing
'{'?
"/tmp/foo.c", line 2668.69: 1506-045 (S) Undeclared identifier s.
"/tmp/foo.c", line 2668.75: 1506-045 (S) Undeclared identifier n.
"/tmp/foo.c", line 2672.1: 1506-485 (S) Parameter declaration list is
incompatible with declarator for inline.
"/tmp/foo.c", line 2674.1: 1506-276 (S) Syntax error: possible missing
'{'?
"/tmp/foo.c", line 2677.69: 1506-045 (S) Undeclared identifier s.
"/tmp/foo.c", line 2677.75: 1506-045 (S) Undeclared identifier n.
"/tmp/foo.c", line 2679.20: 1506-045 (S) Undeclared identifier p.
"/tmp/foo.c", line 2683.1: 1506-277 (S) Syntax error: possible missing ';'
or ','?
"/tmp/foo.c", line 2681.1: 1506-485 (S) Parameter declaration list is
incompatible with declarator for inline.
"/tmp/foo.c", line 2688.13: 1506-045 (S) Undeclared identifier n.
"/tmp/foo.c", line 2692.32: 1506-045 (S) Undeclared identifier s.
"/tmp/foo.c", line 2696.3: 1506-046 (S) Syntax error.
root@aix71tst ==> cc -qlanglvl=extc99 -g -c /tmp/foo.c
"/tmp/foo.c", line 4966.16: 1506-045 (S) Undeclared identifier
SYSINT_BUFSIZE.
"/tmp/foo.c", line 4966.15: 1506-1324 (S) Array size must have integer
type.
"/tmp/foo.c", line 4967.16: 1506-045 (S) Undeclared identifier
SYSINT_BUFSIZE.
"/tmp/foo.c", line 4967.15: 1506-1324 (S) Array size must have integer
type.
"/tmp/foo.c", line 5058.17: 1506-045 (S) Undeclared identifier
SYSINT_BUFSIZE.
"/tmp/foo.c", line 5058.16: 1506-1324 (S) Array size must have integer
type.
If it's a compiler issue, I can open a ticket to IBM XL C/C++ but I would
need to understand why it should works (other than "it works with gcc"),
what would be the normal behavior and why this should be considered a
compiler issue.
Best regards,
Yannick Bergeron
Advisory IT Specialist
From: Paul Eggert <[email protected]>
To: Yannick Y Bergeron/Bromont/IBM@IBMCA,
Cc: [email protected]
Date: 12/24/2013 06:40 PM
Subject: Re: [Bug-tar] tar 1.27.1 compile error on AIX 7.1 TL2 SP3
and AIX 6.1 TL8 SP3 with IBM XL C/C++
Yannick Y Bergeron wrote:
> cc returns
> xlc seem to returns an output more similar to make
> there are several other "compiler" binaries that comes with IBM XL C/C++
> but none of them seems to give a better result (xlc_r, c99, etc.)
Try using the same compiler and options that 'make' did. Judging from
http://lists.gnu.org/archive/html/bug-tar/2013-12/msg00027.html
that would be:
cc -qlanglvl=extc89 -qlanglvl=extc99 -g -c foo.c
There is a minor issue here:
'configure' should not be using both -qlanglvl=extc89
and -qlanglvl=extc99, though I don't think the combination
is harmful and I don't think it's causing your problem.
But you might try removing the -qlanglvl=extc89.