summaryrefslogtreecommitdiff
path: root/ext
diff options
context:
space:
mode:
authorSteffen Mueller <smueller@cpan.org>2012-08-13 10:29:39 +0200
committerSteffen Mueller <smueller@cpan.org>2012-08-31 13:47:17 +0200
commit63d7ac5fa5ef436afa9865a56b7c84e54a112722 (patch)
tree087ffe64048e17fc5433254712039856b8bce396 /ext
parent115e60bcab0a2cba27b137c61175493a347d0adc (diff)
downloadperl-63d7ac5fa5ef436afa9865a56b7c84e54a112722.tar.gz
Silence ParseXS warning about abusing the CODE section
See RT #114198. DynaLoader was warning about somewhat dubious use of RETVAL with a CODE section but without an OUTPUT section. This fixes that problem, but I have obviously not been able to test on all affected operating systems.
Diffstat (limited to 'ext')
-rw-r--r--ext/DynaLoader/DynaLoader_pm.PL2
-rw-r--r--ext/DynaLoader/dl_aix.xs31
-rw-r--r--ext/DynaLoader/dl_dllload.xs38
-rw-r--r--ext/DynaLoader/dl_hpux.xs6
-rw-r--r--ext/DynaLoader/dl_mpeix.xs6
-rw-r--r--ext/DynaLoader/dl_next.xs25
-rw-r--r--ext/DynaLoader/dl_vmesa.xs26
-rw-r--r--ext/DynaLoader/dl_win32.xs27
8 files changed, 90 insertions, 71 deletions
diff --git a/ext/DynaLoader/DynaLoader_pm.PL b/ext/DynaLoader/DynaLoader_pm.PL
index ad056c8ab4..8622a6a0fa 100644
--- a/ext/DynaLoader/DynaLoader_pm.PL
+++ b/ext/DynaLoader/DynaLoader_pm.PL
@@ -85,7 +85,7 @@ package DynaLoader;
# Tim.Bunce@ig.co.uk, August 1994
BEGIN {
- $VERSION = '1.15';
+ $VERSION = '1.16';
}
use Config;
diff --git a/ext/DynaLoader/dl_aix.xs b/ext/DynaLoader/dl_aix.xs
index 6d24428942..8fa7d1e50e 100644
--- a/ext/DynaLoader/dl_aix.xs
+++ b/ext/DynaLoader/dl_aix.xs
@@ -688,21 +688,24 @@ BOOT:
(void)dl_private_init(aTHX);
-void *
+void
dl_load_file(filename, flags=0)
char * filename
int flags
- CODE:
+ PREINIT:
+ void *retv;
+ PPCODE:
DLDEBUG(1,PerlIO_printf(Perl_debug_log, "dl_load_file(%s,%x):\n", filename,flags));
if (flags & 0x01)
Perl_warn(aTHX_ "Can't make loaded symbols global on this platform while loading %s",filename);
- RETVAL = dlopen(filename, RTLD_GLOBAL|RTLD_LAZY) ;
- DLDEBUG(2,PerlIO_printf(Perl_debug_log, " libref=%x\n", RETVAL));
+ retv = dlopen(filename, RTLD_GLOBAL|RTLD_LAZY) ;
+ DLDEBUG(2,PerlIO_printf(Perl_debug_log, " libref=%x\n", retv));
ST(0) = sv_newmortal() ;
- if (RETVAL == NULL)
+ if (retv == NULL)
SaveError(aTHX_ "%s",dlerror()) ;
else
- sv_setiv( ST(0), PTR2IV(RETVAL) );
+ sv_setiv( ST(0), PTR2IV(retv) );
+ XSRETURN(1);
int
dl_unload_file(libref)
@@ -716,25 +719,27 @@ dl_unload_file(libref)
OUTPUT:
RETVAL
-void *
+void
dl_find_symbol(libhandle, symbolname)
void * libhandle
char * symbolname
- CODE:
+ PREINIT:
+ void *retv;
+ CODE:
DLDEBUG(2,PerlIO_printf(Perl_debug_log, "dl_find_symbol(handle=%x, symbol=%s)\n",
libhandle, symbolname));
- RETVAL = dlsym(libhandle, symbolname);
- DLDEBUG(2,PerlIO_printf(Perl_debug_log, " symbolref = %x\n", RETVAL));
+ retv = dlsym(libhandle, symbolname);
+ DLDEBUG(2,PerlIO_printf(Perl_debug_log, " symbolref = %x\n", retv));
ST(0) = sv_newmortal() ;
- if (RETVAL == NULL)
+ if (retv == NULL)
SaveError(aTHX_ "%s",dlerror()) ;
else
- sv_setiv( ST(0), PTR2IV(RETVAL));
+ sv_setiv( ST(0), PTR2IV(retv));
void
dl_undef_symbols()
- PPCODE:
+ CODE:
diff --git a/ext/DynaLoader/dl_dllload.xs b/ext/DynaLoader/dl_dllload.xs
index 9d5b2c2c71..9a1069ec78 100644
--- a/ext/DynaLoader/dl_dllload.xs
+++ b/ext/DynaLoader/dl_dllload.xs
@@ -105,24 +105,24 @@ BOOT:
(void)dl_private_init(aTHX);
-void *
+void
dl_load_file(filename, flags=0)
char * filename
int flags
PREINIT:
int mode = 0;
- CODE:
-{
+ void *retv;
+ PPCODE:
DLDEBUG(1,PerlIO_printf(Perl_debug_log, "dl_load_file(%s,%x):\n", filename,flags));
/* add a (void *) dllload(filename) ; cast if needed */
- RETVAL = dllload(filename) ;
- DLDEBUG(2,PerlIO_printf(Perl_debug_log, " libref=%lx\n", (unsigned long) RETVAL));
+ retv = dllload(filename) ;
+ DLDEBUG(2,PerlIO_printf(Perl_debug_log, " libref=%lx\n", (unsigned long) retv));
ST(0) = sv_newmortal() ;
- if (RETVAL == NULL)
+ if (retv == NULL)
SaveError(aTHX_ "%s",strerror(errno)) ;
else
- sv_setiv( ST(0), PTR2IV(RETVAL));
-}
+ sv_setiv( ST(0), PTR2IV(retv));
+ XSRETURN(1);
int
@@ -139,28 +139,31 @@ dl_unload_file(libref)
RETVAL
-void *
+void
dl_find_symbol(libhandle, symbolname)
void * libhandle
char * symbolname
- CODE:
+ PREINIT:
+ void *retv;
+ PPCODE:
DLDEBUG(2, PerlIO_printf(Perl_debug_log,
"dl_find_symbol(handle=%lx, symbol=%s)\n",
(unsigned long) libhandle, symbolname));
- if((RETVAL = (void*)dllqueryfn(libhandle, symbolname)) == NULL)
- RETVAL = dllqueryvar(libhandle, symbolname);
+ if((retv = (void*)dllqueryfn(libhandle, symbolname)) == NULL)
+ retv = dllqueryvar(libhandle, symbolname);
DLDEBUG(2, PerlIO_printf(Perl_debug_log,
- " symbolref = %lx\n", (unsigned long) RETVAL));
+ " symbolref = %lx\n", (unsigned long) retv));
ST(0) = sv_newmortal() ;
- if (RETVAL == NULL)
+ if (retv == NULL)
SaveError(aTHX_ "%s",strerror(errno)) ;
else
- sv_setiv( ST(0), PTR2IV(RETVAL));
+ sv_setiv( ST(0), PTR2IV(retv));
+ XSRETURN(1);
void
dl_undef_symbols()
- PPCODE:
+ CODE:
@@ -171,13 +174,14 @@ dl_install_xsub(perl_name, symref, filename="$Package")
char * perl_name
void * symref
const char * filename
- CODE:
+ PPCODE:
DLDEBUG(2,PerlIO_printf(Perl_debug_log, "dl_install_xsub(name=%s, symref=%lx)\n",
perl_name, (unsigned long) symref));
ST(0) = sv_2mortal(newRV((SV*)newXS_flags(perl_name,
(void(*)(pTHX_ CV *))symref,
filename, NULL,
XS_DYNAMIC_FILENAME)));
+ XSRETURN(1);
char *
diff --git a/ext/DynaLoader/dl_hpux.xs b/ext/DynaLoader/dl_hpux.xs
index 583cfc270c..2cd6790a9b 100644
--- a/ext/DynaLoader/dl_hpux.xs
+++ b/ext/DynaLoader/dl_hpux.xs
@@ -51,7 +51,7 @@ BOOT:
(void)dl_private_init(aTHX);
-void *
+void
dl_load_file(filename, flags=0)
char * filename
int flags
@@ -115,7 +115,7 @@ dl_unload_file(libref)
RETVAL
-void *
+void
dl_find_symbol(libhandle, symbolname)
void * libhandle
char * symbolname
@@ -150,7 +150,7 @@ dl_find_symbol(libhandle, symbolname)
void
dl_undef_symbols()
- PPCODE:
+ CODE:
diff --git a/ext/DynaLoader/dl_mpeix.xs b/ext/DynaLoader/dl_mpeix.xs
index 0c810adf7b..be756982be 100644
--- a/ext/DynaLoader/dl_mpeix.xs
+++ b/ext/DynaLoader/dl_mpeix.xs
@@ -42,7 +42,7 @@ MODULE = DynaLoader PACKAGE = DynaLoader
BOOT:
(void)dl_private_init(aTHX);
-void *
+void
dl_load_file(filename, flags=0)
char * filename
int flags
@@ -74,7 +74,7 @@ flags));
else
sv_setiv( ST(0), PTR2IV(obj) );
-void *
+void
dl_find_symbol(libhandle, symbolname)
void * libhandle
char * symbolname
@@ -103,7 +103,7 @@ dl_find_symbol(libhandle, symbolname)
void
dl_undef_symbols()
- PPCODE:
+ CODE:
# These functions should not need changing on any platform:
diff --git a/ext/DynaLoader/dl_next.xs b/ext/DynaLoader/dl_next.xs
index e5774c0ac3..a15efa860e 100644
--- a/ext/DynaLoader/dl_next.xs
+++ b/ext/DynaLoader/dl_next.xs
@@ -251,29 +251,32 @@ BOOT:
-void *
+void
dl_load_file(filename, flags=0)
char * filename
int flags
PREINIT:
int mode = 1;
+ void *retv;
CODE:
DLDEBUG(1,PerlIO_printf(Perl_debug_log, "dl_load_file(%s,%x):\n", filename,flags));
if (flags & 0x01)
Perl_warn(aTHX_ "Can't make loaded symbols global on this platform while loading %s",filename);
- RETVAL = dlopen(filename, mode) ;
- DLDEBUG(2,PerlIO_printf(Perl_debug_log, " libref=%x\n", RETVAL));
+ retv = dlopen(filename, mode) ;
+ DLDEBUG(2,PerlIO_printf(Perl_debug_log, " libref=%x\n", retv));
ST(0) = sv_newmortal() ;
- if (RETVAL == NULL)
+ if (retv == NULL)
SaveError(aTHX_ "%s",dlerror()) ;
else
- sv_setiv( ST(0), PTR2IV(RETVAL) );
+ sv_setiv( ST(0), PTR2IV(retv) );
-void *
+void
dl_find_symbol(libhandle, symbolname)
void * libhandle
char * symbolname
+ PREINIT:
+ void *retv;
CODE:
#if NS_TARGET_MAJOR >= 4
symbolname = Perl_form_nocontext("_%s", symbolname);
@@ -281,19 +284,19 @@ dl_find_symbol(libhandle, symbolname)
DLDEBUG(2, PerlIO_printf(Perl_debug_log,
"dl_find_symbol(handle=%lx, symbol=%s)\n",
(unsigned long) libhandle, symbolname));
- RETVAL = dlsym(libhandle, symbolname);
+ retv = dlsym(libhandle, symbolname);
DLDEBUG(2, PerlIO_printf(Perl_debug_log,
- " symbolref = %lx\n", (unsigned long) RETVAL));
+ " symbolref = %lx\n", (unsigned long) retv));
ST(0) = sv_newmortal() ;
- if (RETVAL == NULL)
+ if (retv == NULL)
SaveError(aTHX_ "%s",dlerror()) ;
else
- sv_setiv( ST(0), PTR2IV(RETVAL) );
+ sv_setiv( ST(0), PTR2IV(retv) );
void
dl_undef_symbols()
- PPCODE:
+ CODE:
diff --git a/ext/DynaLoader/dl_vmesa.xs b/ext/DynaLoader/dl_vmesa.xs
index bf84322849..5124722f7e 100644
--- a/ext/DynaLoader/dl_vmesa.xs
+++ b/ext/DynaLoader/dl_vmesa.xs
@@ -109,44 +109,48 @@ BOOT:
(void)dl_private_init(aTHX);
-void *
+void
dl_load_file(filename, flags=0)
char * filename
int flags
+ PREINIT:
+ void *retv;
CODE:
if (flags & 0x01)
Perl_warn(aTHX_ "Can't make loaded symbols global on this platform while loading %s",filename);
DLDEBUG(1,PerlIO_printf(Perl_debug_log, "dl_load_file(%s,%x):\n", filename,flags));
- RETVAL = dlopen(filename) ;
- DLDEBUG(2,PerlIO_printf(Perl_debug_log, " libref=%lx\n", (unsigned long) RETVAL));
+ retv = dlopen(filename) ;
+ DLDEBUG(2,PerlIO_printf(Perl_debug_log, " libref=%lx\n", (unsigned long) retv));
ST(0) = sv_newmortal() ;
- if (RETVAL == NULL)
+ if (retv == NULL)
SaveError(aTHX_ "%s",dlerror()) ;
else
- sv_setiv( ST(0), PTR2IV(RETVAL) );
+ sv_setiv( ST(0), PTR2IV(retv) );
-void *
+void
dl_find_symbol(libhandle, symbolname)
void * libhandle
char * symbolname
+ PREINIT:
+ void *retv;
CODE:
DLDEBUG(2, PerlIO_printf(Perl_debug_log,
"dl_find_symbol(handle=%lx, symbol=%s)\n",
(unsigned long) libhandle, symbolname));
- RETVAL = dlsym(libhandle, symbolname);
+ retv = dlsym(libhandle, symbolname);
DLDEBUG(2, PerlIO_printf(Perl_debug_log,
- " symbolref = %lx\n", (unsigned long) RETVAL));
+ " symbolref = %lx\n", (unsigned long) retv));
ST(0) = sv_newmortal() ;
- if (RETVAL == NULL)
+ if (retv == NULL)
SaveError(aTHX_ "%s",dlerror()) ;
else
- sv_setiv( ST(0), PTR2IV(RETVAL) );
+ sv_setiv( ST(0), PTR2IV(retv) );
void
dl_undef_symbols()
- PPCODE:
+ CODE:
diff --git a/ext/DynaLoader/dl_win32.xs b/ext/DynaLoader/dl_win32.xs
index 94b3fe3e83..94296cdd77 100644
--- a/ext/DynaLoader/dl_win32.xs
+++ b/ext/DynaLoader/dl_win32.xs
@@ -111,26 +111,27 @@ MODULE = DynaLoader PACKAGE = DynaLoader
BOOT:
(void)dl_private_init(aTHX);
-void *
+void
dl_load_file(filename,flags=0)
char * filename
int flags
PREINIT:
+ void *retv;
CODE:
{
DLDEBUG(1,PerlIO_printf(Perl_debug_log,"dl_load_file(%s):\n", filename));
if (dl_static_linked(filename) == 0) {
- RETVAL = PerlProc_DynaLoad(filename);
+ retv = PerlProc_DynaLoad(filename);
}
else
- RETVAL = (void*) Win_GetModuleHandle(NULL);
- DLDEBUG(2,PerlIO_printf(Perl_debug_log," libref=%x\n", RETVAL));
+ retv = (void*) Win_GetModuleHandle(NULL);
+ DLDEBUG(2,PerlIO_printf(Perl_debug_log," libref=%x\n", retv));
ST(0) = sv_newmortal() ;
- if (RETVAL == NULL)
+ if (retv == NULL)
SaveError(aTHX_ "load_file:%s",
OS_Error_String(aTHX)) ;
else
- sv_setiv( ST(0), (IV)RETVAL);
+ sv_setiv( ST(0), (IV)retv);
}
int
@@ -145,26 +146,28 @@ dl_unload_file(libref)
OUTPUT:
RETVAL
-void *
+void
dl_find_symbol(libhandle, symbolname)
void * libhandle
char * symbolname
+ PREINIT:
+ void *retv;
CODE:
DLDEBUG(2,PerlIO_printf(Perl_debug_log,"dl_find_symbol(handle=%x, symbol=%s)\n",
libhandle, symbolname));
- RETVAL = (void*) GetProcAddress((HINSTANCE) libhandle, symbolname);
- DLDEBUG(2,PerlIO_printf(Perl_debug_log," symbolref = %x\n", RETVAL));
+ retv = (void*) GetProcAddress((HINSTANCE) libhandle, symbolname);
+ DLDEBUG(2,PerlIO_printf(Perl_debug_log," symbolref = %x\n", retv));
ST(0) = sv_newmortal() ;
- if (RETVAL == NULL)
+ if (retv == NULL)
SaveError(aTHX_ "find_symbol:%s",
OS_Error_String(aTHX)) ;
else
- sv_setiv( ST(0), (IV)RETVAL);
+ sv_setiv( ST(0), (IV)retv);
void
dl_undef_symbols()
- PPCODE:
+ CODE: