diff options
author | Steffen Mueller <smueller@cpan.org> | 2012-08-13 10:29:39 +0200 |
---|---|---|
committer | Steffen Mueller <smueller@cpan.org> | 2012-08-31 13:47:17 +0200 |
commit | 63d7ac5fa5ef436afa9865a56b7c84e54a112722 (patch) | |
tree | 087ffe64048e17fc5433254712039856b8bce396 /ext | |
parent | 115e60bcab0a2cba27b137c61175493a347d0adc (diff) | |
download | perl-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.PL | 2 | ||||
-rw-r--r-- | ext/DynaLoader/dl_aix.xs | 31 | ||||
-rw-r--r-- | ext/DynaLoader/dl_dllload.xs | 38 | ||||
-rw-r--r-- | ext/DynaLoader/dl_hpux.xs | 6 | ||||
-rw-r--r-- | ext/DynaLoader/dl_mpeix.xs | 6 | ||||
-rw-r--r-- | ext/DynaLoader/dl_next.xs | 25 | ||||
-rw-r--r-- | ext/DynaLoader/dl_vmesa.xs | 26 | ||||
-rw-r--r-- | ext/DynaLoader/dl_win32.xs | 27 |
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: |