develooper Front page | perl.perl5.porters | Postings from October 2011

Re: AIX and stdbool.h (was Re: Fw: Smoke [5.15.3] v5.15.3-43-g6692294FAIL(M) AIX 5.3.0.0/ML09 (PPC/1 cpu))

Thread Previous | Thread Next
From:
Rainer Tammer
Date:
October 20, 2011 01:21
Subject:
Re: AIX and stdbool.h (was Re: Fw: Smoke [5.15.3] v5.15.3-43-g6692294FAIL(M) AIX 5.3.0.0/ML09 (PPC/1 cpu))
Message ID:
4E9FD9FE.1010207@tammer.net
Hello,
here are the results for a build test with cc_r c99_r/c89_r.

compiler: cc_r V9 (09.00.0000.0017)
===================================
.. cut lines without warnings/errors ...

    `sh  cflags "optimize='-O'" perlmini.o`  -DPERL_IS_MINIPERL
-DPERL_EXTERNAL_GLOB perlmini.c
      CCCMD =  cc_r -q32 -DPERL_CORE -c -D_ALL_SOURCE -D_ANSI_C_SOURCE
-D_POSIX_SOURCE -qmaxmem=-1 -qnoansialias -DUSE_NATIVE_DLOPEN
-DNEED_PTHREAD_INIT -I/usr/local/include -q32 -D_LARGE_FILES -qlonglong 
-O 
... cut ...
    `sh  cflags "optimize='-O'" pp_sys.o`  pp_sys.c
      CCCMD =  cc_r -q32 -DPERL_CORE -c -D_ALL_SOURCE -D_ANSI_C_SOURCE
-D_POSIX_SOURCE -qmaxmem=-1 -qnoansialias -DUSE_NATIVE_DLOPEN
-DNEED_PTHREAD_INIT -I/usr/local/include -q32 -D_LARGE_FILES -qlonglong 
-O 
"pp_sys.c", line 3016.22: 1506-280 (W) Function argument assignment
between types "char*" and "const char*" is not allowed.
... cut ...
    LIBPATH=/daten/source/perl-current_32  ./miniperl -w -Ilib
-MExporter -e '<?>' || make minitest
    /usr/bin/ln -s perldelta.pod pod/perl5154delta.pod
    LIBPATH=/daten/source/perl-current_32  ./miniperl -Ilib autodoc.pl
no docs for ptr_table_clear
no docs for sv_compile_2op
    LIBPATH=/daten/source/perl-current_32  ./miniperl -Ilib -Idist/Cwd
-Idist/Cwd/lib -Idist/Carp/lib pod/perlmodlib.PL -q
    LIBPATH=/daten/source/perl-current_32  ./miniperl -Ilib make_patchnum.pl
Updating 'git_version.h' and 'lib/Config_git.pl'
    LIBPATH=/daten/source/perl-current_32  ./miniperl -Ilib configpm
Name "main::v" used only once: possible typo at configpm line 257.
Use of uninitialized value $o in string eq at configpm line 86, <DATA>
line 22.
Use of uninitialized value $v in sprintf at configpm line 257, <DATA>
line 22.
Use of uninitialized value $v in sprintf at configpm line 257, <DATA>
line 22.
Use of uninitialized value $o in string eq at configpm line 754.
Expected a Configure variable header or another paragraph of description
at configpm line 1010, <GLOS> chunk 1035.
Use of uninitialized value $mask in vec at lib/warnings.pm line 391.
Use of uninitialized value $mask in bitwise or (|) at lib/warnings.pm
line 397.
syntax error at lib/Config.pm line 61, near "or"
Compilation failed in require at configpm line 1136.
written lib/Config.pod
updated lib/Config.pm
updated lib/Config_heavy.pl
make: 1254-004 The error code from the last command is 255.


Stop.


compiler: cc_r V9 (09.00.0000.0017)
===================================
.. cut lines without warnings/errors ...

    `sh  cflags "optimize='-O'" perlmini.o`  -DPERL_IS_MINIPERL
-DPERL_EXTERNAL_GLOB perlmini.c
      CCCMD =  c99_r -q32 -DPERL_CORE -c -D_ALL_SOURCE -D_ANSI_C_SOURCE
-D_POSIX_SOURCE -qmaxmem=-1 -qnoansialias -DUSE_NATIVE_DLOPEN
-DNEED_PTHREAD_INIT -I/usr/local/include -q32 -D_LARGE_FILES -qlonglong 
-O 
1506-396 (W) Option -qlonglong is incompatible with option
-qlanglvl=stdc99 and is ignored.
"perl.h", line 3372.31: 1506-1108 (I) The use of keyword '__attribute__'
is non-portable.
"perl.h", line 3376.26: 1506-1108 (I) The use of keyword '__attribute__'
is non-portable.
"perlio.h", line 117.40: 1506-1108 (I) The use of keyword
'__attribute__' is non-portable.
... cut tens of thousands of lines for attribute__ ...

"perl.c", line 104.9: 1506-1421 (W) Implicit function declaration for
function "pthread_init".
    `sh  cflags "optimize='-O'" opmini.o`  -DPERL_IS_MINIPERL
-DPERL_EXTERNAL_GLOB opmini.c
      CCCMD =  c99_r -q32 -DPERL_CORE -c -D_ALL_SOURCE -D_ANSI_C_SOURCE
-D_POSIX_SOURCE -qmaxmem=-1 -qnoansialias -DUSE_NATIVE_DLOPEN
-DNEED_PTHREAD_INIT -I/usr/local/include -q32 -D_LARGE_FILES -qlonglong 
-O 
1506-396 (W) Option -qlonglong is incompatible with option
-qlanglvl=stdc99 and is ignored.
... cut lines with the -qlonglong is incompatible with option
-qlanglvl=stdc99 message ...

    `sh  cflags "optimize='-O'" pp_sys.o`  pp_sys.c
      CCCMD =  c99_r -q32 -DPERL_CORE -c -D_ALL_SOURCE -D_ANSI_C_SOURCE
-D_POSIX_SOURCE -qmaxmem=-1 -qnoansialias -DUSE_NATIVE_DLOPEN
-DNEED_PTHREAD_INIT -I/usr/local/include -q32 -D_LARGE_FILES -qlonglong 
-O 
1506-396 (W) Option -qlonglong is incompatible with option
-qlanglvl=stdc99 and is ignored.
"pp_sys.c", line 3016.22: 1506-280 (E) Function argument assignment
between types "char*" and "const char*" is not allowed.
... cut ...

    `sh  cflags "optimize='-O'" pp_sort.o`  pp_sort.c
      CCCMD =  c99_r -q32 -DPERL_CORE -c -D_ALL_SOURCE -D_ANSI_C_SOURCE
-D_POSIX_SOURCE -qmaxmem=-1 -qnoansialias -DUSE_NATIVE_DLOPEN
-DNEED_PTHREAD_INIT -I/usr/local/include -q32 -D_LARGE_FILES -qlonglong 
-O 
1506-396 (W) Option -qlonglong is incompatible with option
-qlanglvl=stdc99 and is ignored.
    c99_r -q32 -o miniperl -brtl -bdynamic -L/usr/local/lib -b32
-bmaxdata:0x80000000 perlmini.o opmini.o miniperlmain.o   gv.o toke.o
perly.o pad.o regcomp.o dump.o util.o mg.o reentr.o mro.o keywords.o
hv.o av.o run.o pp_hot.o sv.o pp.o scope.o pp_ctl.o pp_sys.o doop.o
doio.o regexec.o utf8.o taint.o deb.o universal.o globals.o perlio.o
perlapi.o numeric.o mathoms.o locale.o pp_pack.o pp_sort.o   -lbind
-lnsl -ldl -lld -lm -lcrypt -lpthreads -lc
    LIBPATH=/daten/source/perl-current_32  ./miniperl -w -Ilib
-MExporter -e '<?>' || make minitest
    /usr/bin/ln -s perldelta.pod pod/perl5154delta.pod
    LIBPATH=/daten/source/perl-current_32  ./miniperl -Ilib autodoc.pl
no docs for ptr_table_clear
no docs for sv_compile_2op
    LIBPATH=/daten/source/perl-current_32  ./miniperl -Ilib -Idist/Cwd
-Idist/Cwd/lib -Idist/Carp/lib pod/perlmodlib.PL -q
    LIBPATH=/daten/source/perl-current_32  ./miniperl -Ilib make_patchnum.pl
Updating 'git_version.h' and 'lib/Config_git.pl'
    LIBPATH=/daten/source/perl-current_32  ./miniperl -Ilib configpm
Name "main::v" used only once: possible typo at configpm line 257.
Use of uninitialized value $o in string eq at configpm line 86, <DATA>
line 22.
Use of uninitialized value $v in sprintf at configpm line 257, <DATA>
line 22.
Use of uninitialized value $v in sprintf at configpm line 257, <DATA>
line 22.
Use of uninitialized value $o in string eq at configpm line 754.
Expected a Configure variable header or another paragraph of description
at configpm line 1010, <GLOS> chunk 1035.
Use of uninitialized value $mask in vec at lib/warnings.pm line 391.
Use of uninitialized value $mask in bitwise or (|) at lib/warnings.pm
line 397.
syntax error at lib/Config.pm line 61, near "or"
Compilation failed in require at configpm line 1136.
written lib/Config.pod
updated lib/Config.pm
updated lib/Config_heavy.pl
make: 1254-004 The error code from the last command is 255.


Stop.


==> c89_r does show the same as c99_r.

I can see no warnings/errors regarding stdbool.h during the make run.


Bye
  Rainer


On 20.10.2011 08:43, Nicholas Clark wrote:
> On Thu, Oct 20, 2011 at 08:13:00AM +0200, Rainer Tammer wrote:
>> Hello,
>> should I provide a patch which disables stdbool.h on AIX or does someone
>> have a hunch why this fails?
> This strikes me as a bodge. I can see that it's useful short term if there's
> no other way to fix it, but I'd hate for us to brush it under the carpet.
>
> There has to be a *real* reason why it breaks. Some AIX compilers are very
> exacting on the C standard, and have revealed past portability bugs in our
> C code, hence I'm wondering if this is a similar red flag.
>
> Are there any changes in the compiler warnings with/without stdbool.h?
> In particular, warnings about redefined macros?
>
> Does sizeof(bool) differ with/without it?
>
> Does perl build on AIX with the C++ compiler?
>
> Until next week I have little time to deal with anything. [I'm currently
> in Frankfurt]
>
>> I have checked the basic functionality of stdbool.h on AIX but I did not
>> find a problem, very strange.
>> The new AIX versions are usually compatible with the standards.
>
>> On 14.10.2011 17:46, Rainer Tammer wrote:
>>> Hello,
>>> is the new "bool thing" only in blead or are there any plans to pick
>>> this for older releases?
> No, it won't be picked. Policy is only "serious bug fixes" and this is not.
>
> Nicholas Clark
>
>


Thread Previous | Thread Next


nntp.perl.org: Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at ask@perl.org | Group listing | About