1) was addressed in the deprecate-finite branch that was recently merged into 
master post-2.016.

3) is addressed in the types-printconv branch that has not yet been 
merged—needs some code review to make sure it will pass on 32-bit and 64-bit 
platforms with different values of ivsize, etc.  It hadn't been shaken out 
enough yet to merge before 2.016.  It probably could be generalized and used in 
other places as well.  Or even made a little cleaner: generating some "#define 
USHORT_FLAG hu" (or whatever) statements in pdl.h instead of the ugly (but 
working) current implementation.

clang complains about a lot of things that really aren't problems or that 
fixing may cause more portability problems for different 
compilers/architectures.  Or that are sort-of-generic code that needs thought 
into how to deal with all the different datatypes that a chunk of code might 
actually see.  So if you'd like to fix them, go ahead, but proceed slowly, and 
push to branches, not to master.  See the recommended workflow in the 
DEVELOPMENT file—it's spelled out step-by-step there.

cheers,
Derek

> On Jun 3, 2016, at 10:11 PM, Karl Glazebrook <karlglazebr...@mac.com> 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
> pdl-devel@lists.sourceforge.net
> 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
pdl-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/pdl-devel

Reply via email to