Hi Karl-
I suggest opening a ticket with the information on platform,
compiler, and the log of issues. While warnings are often only
annoying, they can indicate a potential problem in general
or a platform specific one. Unfortunately, without a full,
multi-platform regression test suite, it can be risky to
suddenly change code that is affected by platform/compiler/...
That said, I know Derek has already started on some fixes.
--Chris
On 6/4/2016 00:11, Karl Glazebrook wrote:
> Any reason why these 8 build warnings in PDL aren’t trivial to fix? [e.g.
> would it break other architectures...]
>
> Yes I’ve been ignoring them for a long time, but perhaps it is time for a
> spring clean?
>
> - Karl
>
> —------------------------------------------------------
>
> 1)
>
> pdlcore.c:1292:86: warning: format specifies type 'double' but the argument
> has type 'PDL_Indx' (aka 'long') [-Wformat]
> fprintf(stderr,"Warning: pdl_setav_Indx converted undef to (%g) %ld
> time%s\n",undefval,undef_count,undef_count==1?"":"s");
> ~~
> ^~~~~~~~
> %ld
> pdlcore.c:1675:87: warning: format specifies type 'double' but the argument
> has type 'PDL_Short' (aka 'short') [-Wformat]
> fprintf(stderr,"Warning: pdl_setav_Short converted undef to (%g) %ld
> time%s\n",undefval,undef_count,undef_count==1?"":"s");
>
>
> etc etc etc
>
> —————————————————————————————————
>
> 2)
>
> pdlapi.c:500:29: warning: format specifies type 'double' but the argument has
> type 'PDL_Anyval' [-Wformat]
> printf("%s%f",(i?" ":""),pdl_get_offs(it,i));
> ~~ ^~~~~~~~~~~~~~~~~~
> pdlapi.c:1450:9: warning: absolute value function 'abs' given an argument of
> type 'PDL_Indx' (aka 'long') but has parameter of type 'int' which may cause
> truncation of value [-Wabsolute-value]
> inc= abs(inc);
> ^
> pdlapi.c:1450:9: note: use function 'labs' instead
> inc= abs(inc);
>
> —————————————————————————————————
>
> 3) in Bad.xs Math.xs and Ufunc.xs a lot of:
>
>
> Math.xs:13157:43: warning: 'finite' is deprecated: first deprecated in OS X
> 10.9 [-Wdeprecated-declarations]
> (c_datap)[0] PDL_COMMENT("ACCESS()") = ( finite((a_datap)[0]
> PDL_COMMENT("ACCESS()") ) && (a_datap)[0] PDL_COMMENT("ACCESS()") !=
> a_badval ) ? (a_dat...
> ^
> /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.11.sdk/usr/include/math.h:757:12:
> note: 'finite' has been
> explicitly marked deprecated here
> extern int finite(double) __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0,
> __MAC_10_9, __IPHONE_NA, __IPHONE_NA);
>
>
> etc…
>
> —————————————————————————————————
>
>
> 4) Gaussian.xs and FFT.xs a lot of:
>
>
> Gaussian.xs:672:18: warning: using integer absolute value function 'abs' when
> argument is of floating point type [-Wabsolute-value]
> if (
> abs((xval_datap)[0+(__inc_xval_n*PP_INDTERM(__privtrans->__n_size, n))]
> PDL_COMMENT("ACCESS()") -xmin) > 0.9*abs(xmax-xmin) ) {
> ^
> Gaussian.xs:672:18: note: use function 'fabs' instead
> if (
> abs((xval_datap)[0+(__inc_xval_n*PP_INDTERM(__privtrans->__n_size, n))]
> PDL_COMMENT("ACCESS()") -xmin) > 0.9*abs(xmax-xmin) ) {
> ^~~
> fabs
>
>
> etc.
> —————————————————————————————————
>
>
> 5)
>
>
> resample.c:292:14: warning: implicitly declaring library function 'strcmp'
> with type 'int (const char *, const char *)'
> } else if (!strcmp(kernel_type, "default")) {
> ^
> resample.c:292:14: note: include the header <string.h> or explicitly provide
> a declaration for 'strcmp'
> 1 warning generated.
>
>
> 6) ./SlatecProtos.h:1:8: warning: type specifier missing, defaults to 'int'
> [-Wimplicit-int]
> extern ssvdc_ ();
> ~~~~~~ ^
> ./SlatecProtos.h:2:8: warning: type specifier missing, defaults to 'int'
> [-Wimplicit-int]
> extern spoco_ ();
> ~~~~~~ ^
>
> —————————————————————————————————
>
>
> 7)
>
> INTEG.xs:18122:10: warning: implicit declaration of function 'warn' is
> invalid in C99 [-Wimplicit-function-declaration]
> warn("Bounds checking is disabled for PDL::GSL::INTEG");
> —————————————————————————————————
>
> ^
>
> 8) RNG.xs:48112:10: warning: enumeration values 'PDL_IND' and 'PDL_LL' not
> handled in switch [-Wswitch]
> switch(in->datatype) {
>
>
>
>
>
>
>
>
>
> ------------------------------------------------------------------------------
> What NetFlow Analyzer can do for you? Monitors network bandwidth and traffic
> patterns at an interface-level. Reveals which users, apps, and protocols are
> consuming the most bandwidth. Provides multi-vendor support for NetFlow,
> J-Flow, sFlow and other flows. Make informed decisions using capacity
> planning reports. https://ad.doubleclick.net/ddm/clk/305295220;132659582;e
> _______________________________________________
> pdl-devel mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/pdl-devel
------------------------------------------------------------------------------
What NetFlow Analyzer can do for you? Monitors network bandwidth and traffic
patterns at an interface-level. Reveals which users, apps, and protocols are
consuming the most bandwidth. Provides multi-vendor support for NetFlow,
J-Flow, sFlow and other flows. Make informed decisions using capacity
planning reports. https://ad.doubleclick.net/ddm/clk/305295220;132659582;e
_______________________________________________
pdl-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/pdl-devel