develooper Front page | perl.perl5.porters | Postings from May 2017

Re: C++ / G++

Thread Previous | Thread Next
From:
H.Merijn Brand
Date:
May 16, 2017 16:59
Subject:
Re: C++ / G++
Message ID:
20170516185913.5705870f@pc09.procura.nl
On Tue, 16 May 2017 15:48:31 +0200, Sawyer X <xsawyerx@gmail.com> wrote:

> Tux and Jim, could you please verify this patch?

The patch looks healthy. Builds fine and passes all tests with gcc.

In meta it will touch 4 files:
 U/perl/infnan.U
 U/perl/perlxv.U
 U/perl/usekernprocpathname.U
 U/perl/usensgetexecutablepath.U

It will *not* cause a huge re-order, so it can be cleanly applied. Or
notify me to apply it and I'll commit to meta and blead. If wanted, the
latter in a branch.

Two builds, two different results. The difference being longdoubles

1: #####################################################################
   Without longdoubles

Test Summary Report
-------------------
op/sprintf2.t                                                    (Wstat: 0 Tests: 1555 Failed: 6)
  Failed tests:  1492-1497
Files=2559, Tests=1242484, 344 wallclock secs (130.99 usr 10.19 sys + 755.34 cusr 32.28 csys = 928.80 CPU)
Result: FAIL

2: #####################################################################
   With longdoubles

All tests successful.
Files=2559, Tests=1242508, 425 wallclock secs (162.53 usr 11.41 sys + 984.97 cusr 37.51 csys = 1196.42 CPU)
Result: PASS

1: #####################################################################

Summary of my perl5 (revision 5 version 26 subversion 0) configuration:
  Snapshot of: 9e716730a7a2ac25b33046db09cf147435f58b9f
  Platform:
    osname=linux
    osvers=4.10.13-1-default
    archname=x86_64-linux-thread-multi
    uname='linux lx09 4.10.13-1-default #1 smp preempt thu apr 27 12:23:31 utc 2017 (e5d11ce) x86_64 x86_64 x86_64 gnulinux '
    config_args='-Duse64bitall -Dusethreads -Dcc=g++ -des'
    hint=recommended
    useposix=true
    d_sigaction=define
    useithreads=define
    usemultiplicity=define
    use64bitint=define
    use64bitall=define
    uselongdouble=undef
    usemymalloc=n
    default_inc_excludes_dot=define
    bincompat5005=undef
  Compiler:
    cc='g++'
    ccflags ='-D_REENTRANT -D_GNU_SOURCE -fwrapv -fno-strict-aliasing -pipe -fstack-protector-strong -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64'
    optimize='-O2'
    cppflags='-D_REENTRANT -D_GNU_SOURCE -fwrapv -fno-strict-aliasing -pipe -fstack-protector-strong -I/usr/local/include'
    ccversion=''
    gccversion='6.3.1 20170202 [gcc-6-branch revision 245119]'
    gccosandvers=''
    intsize=4
    longsize=8
    ptrsize=8
    doublesize=8
    byteorder=12345678
    doublekind=3
    d_longlong=define
    longlongsize=8
    d_longdbl=define
    longdblsize=16
    longdblkind=3
    ivtype='long'
    ivsize=8
    nvtype='double'
    nvsize=8
    Off_t='off_t'
    lseeksize=8
    alignbytes=8
    prototype=define
  Linker and Libraries:
    ld='g++'
    ldflags =' -fstack-protector-strong -L/usr/local/lib'
    libpth=/usr/include/c++/6 /usr/include/c++/6/x86_64-suse-linux /usr/include/c++/6/backward /usr/local/lib /usr/lib64/gcc/x86_64-suse-linux/6/include-fixed /usr/lib64/gcc/x86_64-suse-linux/6/../../../../x86_64-suse-linux/lib /usr/lib /lib/../lib64 /usr/lib/../lib64 /lib /lib64 /usr/lib64 /usr/local/lib64
    libs=-lpthread -lnsl -lgdbm -ldb -ldl -lm -lcrypt -lutil -lc -lgdbm_compat
    perllibs=-lpthread -lnsl -ldl -lm -lcrypt -lutil -lc
    libc=libc-2.25.so
    so=so
    useshrplib=false
    libperl=libperl.a
    gnulibc_version='2.25'
  Dynamic Linking:
    dlsrc=dl_dlopen.xs
    dlext=so
    d_dlsymun=undef
    ccdlflags='-Wl,-E'
    cccdlflags='-fPIC'
    lddlflags='-shared -O2 -L/usr/local/lib -fstack-protector-strong'


Characteristics of this binary (from libperl):
  Compile-time options:
    HAS_TIMES
    MULTIPLICITY
    PERLIO_LAYERS
    PERL_COPY_ON_WRITE
    PERL_DONT_CREATE_GVSV
    PERL_IMPLICIT_CONTEXT
    PERL_MALLOC_WRAP
    PERL_OP_PARENT
    PERL_PRESERVE_IVUV
    USE_64_BIT_ALL
    USE_64_BIT_INT
    USE_ITHREADS
    USE_LARGE_FILES
    USE_LOCALE
    USE_LOCALE_COLLATE
    USE_LOCALE_CTYPE
    USE_LOCALE_NUMERIC
    USE_LOCALE_TIME
    USE_PERLIO
    USE_PERL_ATOF
    USE_REENTRANT_API
  Built under linux
  Compiled at May 16 2017 18:40:27
  @INC:
    lib
    /usr/local/lib/perl5/site_perl/5.26.0/x86_64-linux-thread-multi
    /usr/local/lib/perl5/site_perl/5.26.0
    /usr/local/lib/perl5/5.26.0/x86_64-linux-thread-multi
    /usr/local/lib/perl5/5.26.0

2: #####################################################################

Summary of my perl5 (revision 5 version 26 subversion 0) configuration:
  Snapshot of: 9e716730a7a2ac25b33046db09cf147435f58b9f
  Platform:
    osname=linux
    osvers=4.10.13-1-default
    archname=x86_64-linux-thread-multi-ld
    uname='linux lx09 4.10.13-1-default #1 smp preempt thu apr 27 12:23:31 utc 2017 (e5d11ce) x86_64 x86_64 x86_64 gnulinux '
    config_args='-Dusedevel -Duse64bitall -Dusethreads -Duseithreads -Duselongdouble -Dcc=g++ -des'
    hint=recommended
    useposix=true
    d_sigaction=define
    useithreads=define
    usemultiplicity=define
    use64bitint=define
    use64bitall=define
    uselongdouble=define
    usemymalloc=n
    default_inc_excludes_dot=define
    bincompat5005=undef
  Compiler:
    cc='g++'
    ccflags ='-D_REENTRANT -D_GNU_SOURCE -fPIC -DDEBUGGING -fwrapv -fno-strict-aliasing -pipe -fstack-protector-strong -I/pro/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64'
    optimize='-O2'
    cppflags='-D_REENTRANT -D_GNU_SOURCE -fPIC -DDEBUGGING -fwrapv -fno-strict-aliasing -pipe -fstack-protector-strong -I/pro/local/include'
    ccversion=''
    gccversion='6.3.1 20170202 [gcc-6-branch revision 245119]'
    gccosandvers=''
    intsize=4
    longsize=8
    ptrsize=8
    doublesize=8
    byteorder=12345678
    doublekind=3
    d_longlong=define
    longlongsize=8
    d_longdbl=define
    longdblsize=16
    longdblkind=3
    ivtype='long'
    ivsize=8
    nvtype='long double'
    nvsize=16
    Off_t='off_t'
    lseeksize=8
    alignbytes=16
    prototype=define
  Linker and Libraries:
    ld='g++'
    ldflags ='-L/pro/local/lib -fstack-protector-strong'
    libpth=/usr/include/c++/6 /usr/include/c++/6/x86_64-suse-linux /usr/include/c++/6/backward /usr/local/lib /usr/lib64/gcc/x86_64-suse-linux/6/include-fixed /usr/lib64/gcc/x86_64-suse-linux/6/../../../../x86_64-suse-linux/lib /usr/lib /pro/local/lib /lib/../lib64 /usr/lib/../lib64 /lib /lib64 /usr/lib64 /usr/local/lib64
    libs=-lpthread -lnsl -lgdbm -ldb -ldl -lm -lcrypt -lutil -lc -lgdbm_compat
    perllibs=-lpthread -lnsl -ldl -lm -lcrypt -lutil -lc
    libc=libc-2.25.so
    so=so
    useshrplib=false
    libperl=libperl.a
    gnulibc_version='2.25'
  Dynamic Linking:
    dlsrc=dl_dlopen.xs
    dlext=so
    d_dlsymun=undef
    ccdlflags='-Wl,-E'
    cccdlflags='-fPIC'
    lddlflags='-shared -O2 -L/pro/local/lib -fstack-protector-strong'


Characteristics of this binary (from libperl):
  Compile-time options:
    DEBUGGING
    HAS_TIMES
    MULTIPLICITY
    PERLIO_LAYERS
    PERL_COPY_ON_WRITE
    PERL_DONT_CREATE_GVSV
    PERL_IMPLICIT_CONTEXT
    PERL_MALLOC_WRAP
    PERL_OP_PARENT
    PERL_PRESERVE_IVUV
    PERL_TRACK_MEMPOOL
    PERL_USE_DEVEL
    USE_64_BIT_ALL
    USE_64_BIT_INT
    USE_ITHREADS
    USE_LARGE_FILES
    USE_LOCALE
    USE_LOCALE_COLLATE
    USE_LOCALE_CTYPE
    USE_LOCALE_NUMERIC
    USE_LOCALE_TIME
    USE_LONG_DOUBLE
    USE_PERLIO
    USE_PERL_ATOF
    USE_REENTRANT_API
  Built under linux
  Compiled at May 16 2017 18:21:23
  @INC:
    lib
    /opt/perl/lib/site_perl/5.26.0/x86_64-linux-thread-multi-ld
    /opt/perl/lib/site_perl/5.26.0
    /opt/perl/lib/5.26.0/x86_64-linux-thread-multi-ld
    /opt/perl/lib/5.26.0


> On Tue, May 16, 2017 at 6:31 AM, Jarkko Hietaniemi <jhi@iki.fi> wrote:
> 
> > On 5/15/17 10:04 PM, Jarkko Hietaniemi wrote:
> >  
> >> https://perl5.git.perl.org/perl.git/blob/HEAD:/Configure#l20698  
>  [...]  
>  [...]  
>  [...]  
> >>
> >> I think I found it.  Not a regression in g++, but instead getting
> >> stricter.  The bad news: some tweaks necessary in Configure.
> >>  
> >
> > Strange news: so I fixed couple of compilation failures with g++
> > in Configure so that the results don't have broken differences
> > between g++ 6 and gcc 6.  (There are some diffs, but not unexpected
> > between C++ and C.)  The strange part: this didn't fix the sprintf2.t
> > failures.  So I need to dig some more.
> >
> > FWIW the Configure fixes are attached.  


-- 
H.Merijn Brand  http://tux.nl   Perl Monger  http://amsterdam.pm.org/
using perl5.00307 .. 5.25   porting perl5 on HP-UX, AIX, and openSUSE
http://mirrors.develooper.com/hpux/        http://www.test-smoke.org/
http://qa.perl.org   http://www.goldmark.org/jeff/stupid-disclaimers/

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