develooper Front page | perl.perl5.porters | Postings from June 2012

[perl #113782] [PATCH variants] pp_sassign: explain the mix of left<=>right in the optree

Thread Previous | Thread Next
From:
rurban @ cpanel . net
Date:
June 21, 2012 15:55
Subject:
[perl #113782] [PATCH variants] pp_sassign: explain the mix of left<=>right in the optree
Message ID:
rt-3.6.HEAD-5009-1340319323-713.113782-75-0@perl.org
# New Ticket Created by  rurban@cpanel.net 
# Please include the string:  [perl #113782]
# in the subject line of all future correspondence about this issue. 
# <URL: https://rt.perl.org:443/rt3/Ticket/Display.html?id=113782 >



This is a bug report for perl from rurban@cpanel.net,
generated with the help of perlbug 1.39 running under perl 5.17.0.


-----------------------------------------------------------------
I will attach two variants of patches to fix the pp_sassign 
left<=>right mixup problem.

1. Explain in the ASSIGNOP and in pp_sassign that the two arguments
   for sassign are backwards, right means left hand side in the source,
   left means right hand side.

2. (Preferred variant) Fix left and right in pp_sassign to make it readable.
    lhs and rhs reflect now the parsed source not the position on the optree
    stack. This matches aassign and the terminology in the parser.

-----------------------------------------------------------------
---
Flags:
    category=core
    severity=medium
---
Site configuration information for perl 5.17.0:

Configured by rurban at Tue Jun  5 09:17:02 CDT 2012.

Summary of my perl5 (revision 5 version 17 subversion 0) configuration:
  Derived from: fe1ff7d7852127a1276506936e124433997252b5
  Platform:
    osname=linux, osvers=3.2.0-2-amd64, archname=x86_64-linux-thread-multi-debug-asan@fe1ff7d
    uname='linux reini 3.2.0-2-amd64 #1 smp mon may 21 17:45:41 utc 2012 x86_64 gnulinux '
    config_args='-de -Dusedevel -Dinstallman1dir=none -Dinstallman3dir=none -Dinstallsiteman1dir=none -Dinstallsiteman3dir=none -DEBUGGING -Doptimize=-g3 -Duseithreads -D'cc=/home/rurban/Software/llvm-svn157810/build/Release+Asserts/bin/clang' -A'ccflags=-faddress-sanitizer' -Aldflags=-faddress-sanitizer -Alddlflags='-shared\ -faddress-sanitizer' -Duseshrplib -Dcf_email='rurban@cpanel.net' -Dperladmin='rurban@cpanel.net' -Duseshrplib'
    hint=recommended, useposix=true, d_sigaction=define
    useithreads=define, usemultiplicity=define
    useperlio=define, d_sfio=undef, uselargefiles=define, usesocks=undef
    use64bitint=define, use64bitall=define, uselongdouble=undef
    usemymalloc=n, bincompat5005=undef
  Compiler:
    cc='/home/rurban/Software/llvm-svn157810/build/Release+Asserts/bin/clang', ccflags ='-Wno-unused-value -D_REENTRANT -D_GNU_SOURCE -faddress-sanitizer -DDEBUGGING -fno-strict-aliasing -pipe -fstack-protector -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64',
    optimize='-ggdb',
    cppflags='-D_REENTRANT -D_GNU_SOURCE -faddress-sanitizer -DDEBUGGING -fno-strict-aliasing -pipe -fstack-protector -I/usr/local/include'
    ccversion='', gccversion='4.2.1 Compatible Clang 3.2 (trunk)', gccosandvers=''
    intsize=4, longsize=8, ptrsize=8, doublesize=8, byteorder=12345678
    d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=16
    ivtype='long', ivsize=8, nvtype='double', nvsize=8, Off_t='off_t', lseeksize=8
    alignbytes=8, prototype=define
  Linker and Libraries:
    ld='/home/rurban/Software/llvm-svn157810/build/Release+Asserts/bin/clang', ldflags ='-ggdb -faddress-sanitizer -fstack-protector -L/usr/local/lib'
    libpth=/usr/local/lib /lib/x86_64-linux-gnu /lib/../lib /usr/lib/x86_64-linux-gnu /usr/lib/../lib /lib /usr/lib
    libs=-lnsl -lgdbm -ldb -ldl -lm -lcrypt -lutil -lpthread -lc -lgdbm_compat
    perllibs=-lnsl -ldl -lm -lcrypt -lutil -lpthread -lc
    libc=, so=so, useshrplib=true, libperl=libperl.so
    gnulibc_version='2.13'
  Dynamic Linking:
    dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef, ccdlflags='-Wl,-E -Wl,-rpath,/usr/local/lib/perl5/5.17.0/x86_64-linux-thread-multi-debug-asan@fe1ff7d/CORE'
    cccdlflags='-fPIC', lddlflags='-shared -ggdb -faddress-sanitizer -L/usr/local/lib -fstack-protector'

Locally applied patches:
    [cpan #72700] List::Util heap-overflow

---
@INC for perl 5.17.0:
    /usr/local/lib/perl5/site_perl/5.17.0/x86_64-linux-thread-multi-debug-asan@fe1ff7d
    /usr/local/lib/perl5/site_perl/5.17.0
    /usr/local/lib/perl5/5.17.0/x86_64-linux-thread-multi-debug-asan@fe1ff7d
    /usr/local/lib/perl5/5.17.0
    /usr/local/lib/perl5/site_perl
    .

---
Environment for perl 5.17.0:
    HOME=/home/rurban
    LANG=en_US.UTF-8
    LANGUAGE (unset)
    LD_LIBRARY_PATH (unset)
    LOGDIR (unset)
    PATH=/home/rurban/bin:/usr/local/bin:/usr/bin:/bin:/usr/games
    PERL_BADLANG (unset)
    SHELL=/bin/bash


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