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

[PATCH] File::Glob bsd_glob.c dont use "loop" as a goto label #16452

Closed
p5pRT opened this issue Mar 6, 2018 · 7 comments
Closed

[PATCH] File::Glob bsd_glob.c dont use "loop" as a goto label #16452

p5pRT opened this issue Mar 6, 2018 · 7 comments

Comments

@p5pRT
Copy link

p5pRT commented Mar 6, 2018

Migrated from rt.perl.org#132943 (status was 'resolved')

Searchable as RT132943$

@p5pRT
Copy link
Author

p5pRT commented Mar 6, 2018

From @bulk88

Created by @bulk88

See attached patch. Related to [perl #131211].

Perl Info

Flags:
         category=core
         severity=low

Site configuration information for perl 5.27.9:

Configured by Administrator at Tue Jan 30 20:34:30 2018.

Summary of my perl5 (revision 5 version 27 subversion 9) configuration:

       Platform:
         osname=MSWin32
         osvers=5.2.3790
         archname=MSWin32-x86-multi-thread
         uname=''
         config_args='undef'
         hint=recommended
         useposix=true
         d_sigaction=undef
         useithreads=define
         usemultiplicity=define
         use64bitint=undef
         use64bitall=undef
         uselongdouble=undef
         usemymalloc=n
         default_inc_excludes_dot=define
         bincompat5005=undef
       Compiler:
         cc='cl'
         ccflags ='-nologo -GF -W3 -O1 -MD -Zi -DNDEBUG -GL -DWIN32
-D_CONSOLE -DNO_STRICT -D_CRT_SECURE_NO_DEPRECATE
-D_CRT_NONSTDC_NO_DEPRECATE  -DPERL_TEXTMODE_SCRIPTS
-DPERL_IMPLICIT_CONTEXT -DPERL_IMPLICIT_SYS -DWIN32_NO_REGISTRY'
         optimize='-O1 -MD -Zi -DNDEBUG -GL'
         cppflags='-DWIN32'
         ccversion='15.00.30729.01'
         gccversion=''
         gccosandvers=''
         intsize=4
         longsize=4
         ptrsize=4
         doublesize=8
         byteorder=1234
         doublekind=3
         d_longlong=undef
         longlongsize=8
         d_longdbl=define
         longdblsize=8
         longdblkind=0
         ivtype='long'
         ivsize=4
         nvtype='double'
         nvsize=8
         Off_t='__int64'
         lseeksize=8
         alignbytes=8
         prototype=define
       Linker and Libraries:
         ld='link'
         ldflags ='-nologo -nodefaultlib -debug -opt:ref,icf -ltcg
-libpath:"c:\perl\lib\CORE"        -machine:x86'
         libpth="C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\lib"
         libs=oldnames.lib kernel32.lib user32.lib gdi32.lib winspool.lib
comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib
netapi32.lib uuid.lib ws2_32.lib mpr.lib winmm.lib version.lib
odbc32.lib odbccp32.lib comctl32.lib msvcrt.lib
         perllibs=oldnames.lib kernel32.lib user32.lib gdi32.lib 
winspool.lib
comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib
netapi32.lib uuid.lib ws2_32.lib mpr.lib winmm.lib version.lib
odbc32.lib odbccp32.lib comctl32.lib msvcrt.lib
         libc=msvcrt.lib
         so=dll
         useshrplib=true
         libperl=perl527.lib
         gnulibc_version=''
       Dynamic Linking:
         dlsrc=dl_win32.xs
         dlext=dll
         d_dlsymun=undef
         ccdlflags=' '
         cccdlflags=' '
         lddlflags='-dll -nologo -nodefaultlib -debug -opt:ref,icf -ltcg
         -libpath:"c:\perl\lib\CORE"        -machine:x86'



@INC for perl 5.27.9:
         lib
         C:/p527/srcnew/lib


Environment for perl 5.27.9:
         CYGWIN=tty
         HOME (unset)
         LANG (unset)
         LANGUAGE (unset)
         LD_LIBRARY_PATH=/usr/lib/x86:/usr/X11R6/lib
         LOGDIR (unset)
         PATH=C:\WINDOWS\system32;C:\Program Files (x86)\Microsoft Visual
Studio 9.0\VC\BIN;C:\Program Files\Microsoft
SDKs\Windows\v6.0A\bin;C:\Perl\bin;C:\WINDOWS;C:\Program Files
(x86)\Microsoft Visual Studio 9.0\Common7\IDE;C:\Program Files
(x86)\Git\bin;C:\sp3220\c\bin;
         PERL_BADLANG (unset)
         SHELL (unset)








@p5pRT
Copy link
Author

p5pRT commented Mar 6, 2018

From @bulk88

0001-File-Glob-bsd_glob.c-dont-use-loop-as-a-goto-label.patch
From b8cf39d895ad2ba2aabe79f984d26c686186f017 Mon Sep 17 00:00:00 2001
From: Daniel Dragan <bulk88@hotmail.com>
Date: Tue, 6 Mar 2018 17:27:04 -0500
Subject: [PATCH] File::Glob bsd_glob.c dont use "loop" as a goto label

Using loop as a label conflicts with Perl's "struct loop" and "LOOP" types
and Visual C 2003 in C++ mode (but not the default C build) doesn't like
that. The loop label is from 5.27.1 commit 0db967b2e6
"[perl #131211] fixup File::Glob degenerate matching"

bsd_glob.c(995) : error C2226: syntax error : unexpected type 'loop'
---
 ext/File-Glob/bsd_glob.c |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/ext/File-Glob/bsd_glob.c b/ext/File-Glob/bsd_glob.c
index 4ca3e22..0d042b4 100644
--- a/ext/File-Glob/bsd_glob.c
+++ b/ext/File-Glob/bsd_glob.c
@@ -935,7 +935,7 @@ match(Char *name, Char *pat, Char *patend, int nocase)
 	Char *nextp = NULL;
 	Char *nextn = NULL;
 
-    loop:
+    redo:
 	while (pat < patend) {
 		c = *pat++;
 		switch (c & M_MASK) {
@@ -992,7 +992,7 @@ match(Char *name, Char *pat, Char *patend, int nocase)
 	if (nextn) {
 		pat = nextp;
 		name = nextn;
-		goto loop;
+		goto redo;
 	}
 	return 0;
 }
-- 
1.7.9.msysgit.0

@p5pRT
Copy link
Author

p5pRT commented Mar 7, 2018

From @tonycoz

On Tue, 06 Mar 2018 14​:40​:58 -0800, bulk88 wrote​:

See attached patch. Related to [perl #131211].

Thanks, applied as 4d169ec.

Tony

@p5pRT
Copy link
Author

p5pRT commented Mar 7, 2018

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

@p5pRT
Copy link
Author

p5pRT commented Mar 7, 2018

@tonycoz - Status changed from 'open' to 'pending release'

@p5pRT
Copy link
Author

p5pRT commented Jun 23, 2018

From @khwilliamson

Thank you for filing this report. You have helped make Perl better.

With the release yesterday of Perl 5.28.0, this and 185 other issues have been
resolved.

Perl 5.28.0 may be downloaded via​:
https://metacpan.org/release/XSAWYERX/perl-5.28.0

If you find that the problem persists, feel free to reopen this ticket.

@p5pRT p5pRT closed this as completed Jun 23, 2018
@p5pRT
Copy link
Author

p5pRT commented Jun 23, 2018

@khwilliamson - Status changed from 'pending release' to 'resolved'

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

1 participant