Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

use strict "vars" causes B::Deparse to fully qualify sub references #14579

Open
p5pRT opened this issue Mar 12, 2015 · 3 comments
Open

use strict "vars" causes B::Deparse to fully qualify sub references #14579

p5pRT opened this issue Mar 12, 2015 · 3 comments

Comments

@p5pRT
Copy link

p5pRT commented Mar 12, 2015

Migrated from rt.perl.org#124052 (status was 'open')

Searchable as RT124052$

@p5pRT
Copy link
Author

p5pRT commented Mar 12, 2015

From perl@profvince.com

Created by vpit@cpan.org

Compare :

$ perl5.21.7-thr -MO=Deparse -e'my $ref = \&foo'
my $ref = \&foo;
-e syntax OK

with :

$ perl5.21.7-thr -MO=Deparse -e'use strict "vars"; my $ref = \&foo'
use strict 'vars';
my $ref = \&main​::foo;
-e syntax OK

This is a regression from 5.20, as :

$ perl5.20.2 -MO=Deparse -e'use strict "vars"; my $ref = \&foo'
use strict 'vars';
my $ref = \&foo;
-e syntax OK

Perl Info

Flags:
     category=library
     severity=low
     module=B::Deparse

Site configuration information for perl 5.21.7:

Configured by vincent at Tue Mar 10 16:36:41 BRT 2015.

Summary of my perl5 (revision 5 version 21 subversion 7) configuration:

   Platform:
     osname=darwin, osvers=13.4.0, archname=darwin-thread-multi-2level
     uname='darwin dhcp-147-65-168-187.impa.br 13.4.0 darwin kernel 
version 13.4.0: wed dec 17 19:05:52 pst 2014; 
root:xnu-2422.115.10~1release_x86_64 x86_64 '
     config_args='-Doptimize=-march=native -O3 -fomit-frame-pointer 
-ftree-vectorize -pipe -DNDEBUG -des -Dman1dir=none -Dman3dir=none 
-Dcf_email=vpit@cpan.org -Dmydomain=dhcp-147-65-168-187.impa.br 
-Dusedevel -DEBUGGING=none -Dusethreads 
-Dprefix=/Users/vincent/perl/builds/thr/5.21.7'
     hint=recommended, useposix=true, d_sigaction=define
     useithreads=define, usemultiplicity=define
     use64bitint=define, use64bitall=define, uselongdouble=undef
     usemymalloc=n, bincompat5005=undef
   Compiler:
     cc='cc', ccflags ='-fno-common -DPERL_DARWIN -fno-strict-aliasing 
-pipe -fstack-protector -I/usr/local/include',
     optimize='-march=native -O3 -fomit-frame-pointer -ftree-vectorize 
-pipe -DNDEBUG',
     cppflags='-fno-common -DPERL_DARWIN -fno-strict-aliasing -pipe 
-fstack-protector -I/usr/local/include'
     ccversion='', gccversion='4.2.1 Compatible Apple LLVM 6.0 
(clang-600.0.57)', 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='env MACOSX_DEPLOYMENT_TARGET=10.3 cc', ldflags =' 
-fstack-protector -L/usr/local/lib'
     libpth=/usr/local/lib 
/Library/Developer/CommandLineTools/usr/bin/../lib/clang/6.0/lib 
/Library/Developer/CommandLineTools/usr/lib /usr/lib
     libs=-lgdbm -ldbm -ldl -lm -lutil -lc -lpthread
     perllibs=-ldl -lm -lutil -lc -lpthread
     libc=, so=dylib, useshrplib=false, libperl=libperl.a
     gnulibc_version=''
   Dynamic Linking:
     dlsrc=dl_dlopen.xs, dlext=bundle, d_dlsymun=undef, ccdlflags=' '
     cccdlflags=' ', lddlflags=' -bundle -undefined dynamic_lookup 
-L/usr/local/lib -fstack-protector'



@INC for perl 5.21.7:
 
/Users/vincent/perl/builds/thr/5.21.7/lib/site_perl/5.21.7/darwin-thread-multi-2level
     /Users/vincent/perl/builds/thr/5.21.7/lib/site_perl/5.21.7
 
/Users/vincent/perl/builds/thr/5.21.7/lib/5.21.7/darwin-thread-multi-2level
     /Users/vincent/perl/builds/thr/5.21.7/lib/5.21.7
     .


Environment for perl 5.21.7:
     DYLD_LIBRARY_PATH (unset)
     HOME=/Users/vincent
     LANG=C
     LANGUAGE (unset)
     LC_ALL=C
     LD_LIBRARY_PATH=/usr/local/lib:/usr/lib
     LOGDIR (unset)
 
PATH=/Users/vincent/bin:/Users/vincent/perl/builds/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/opt/X11/bin:/usr/texbin
     PERLDOC_PAGER=less -R
     PERL_BADLANG (unset)
     SHELL=/bin/bash

@p5pRT
Copy link
Author

p5pRT commented Mar 13, 2015

From @iabyn

On Thu, Mar 12, 2015 at 07​:41​:35AM -0700, perl@​profvince.com wrote​:

$ perl5.21.7-thr -MO=Deparse -e'use strict "vars"; my $ref = \&foo'
use strict 'vars';
my $ref = \&main​::foo;
-e syntax OK

This is a regression from 5.20, as :

$ perl5.20.2 -MO=Deparse -e'use strict "vars"; my $ref = \&foo'
use strict 'vars';
my $ref = \&foo;
-e syntax OK

Bisects to​:

commit d49c356
Author​: Father Chrysostomos <sprout@​cpan.org>
AuthorDate​: Sat Nov 29 17​:18​:52 2014 -0800
Commit​: Father Chrysostomos <sprout@​cpan.org>
CommitDate​: Sat Nov 29 18​:19​:43 2014 -0800

  Deparse​: Qualify pkg CVs that conflict w. lex CVs

--
A power surge on the Bridge is rapidly and correctly diagnosed as a faulty
capacitor by the highly-trained and competent engineering staff.
  -- Things That Never Happen in "Star Trek" #9

@p5pRT
Copy link
Author

p5pRT commented Mar 13, 2015

The RT System itself - Status changed from 'new' to 'open'

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants