From: Steffen Mueller Date: Mon, 13 Aug 2012 08:29:39 +0000 (+0200) Subject: Silence ParseXS warning about abusing the CODE section X-Git-Tag: upstream/5.20.0~5533 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=63d7ac5fa5ef436afa9865a56b7c84e54a112722;p=platform%2Fupstream%2Fperl.git 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. --- diff --git a/ext/DynaLoader/DynaLoader_pm.PL b/ext/DynaLoader/DynaLoader_pm.PL index ad056c8..8622a6a 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 6d24428..8fa7d1e 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 9d5b2c2..9a1069e 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 583cfc2..2cd6790 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 0c810ad..be75698 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 e5774c0..a15efa8 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 bf84322..5124722 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 94b3fe3..94296cd 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: