G'day,

Here's the result of compiling IM on Gentoo (gcc 6.4.x), and running
the compilation output script to collate the warnings emitted by the
compiler.

On the one hand, it's reasonably manageable:  310 lines, versus the
1341 lines of CD under Gentoo (remember that gcc 6 does a much
better job of flow tracing than gcc 5, and so the warnings emitted
by gcc 6 on Gentoo will be significantly higher than the warnings
emitted by gcc 5 on Mint).

On the other hand, anyone wanting to tackle these warnings faces a
difficult task:  Quite a lot of the code is taken from snapshots of
third-party libraries, and many of these libraries have moved on
significantly since that time.  Backporting the latest version of
these libraries will very often address the warning, but this is a
painstaking and error-prone process, and should not be attempted
unless sufficient safeguards are in place.

So... is anyone able to provide me with simple, IM-only code that
runs in a test rig, or, failing that, give me some pointers on how
to create such a rig?  I'm especially interested in hearing about
edge cases that stress the infrastructure, and/or deliberately try
to be abuse interfaces (e.g. open non-existent files).

Any and all help would be gratefully received.

cheers,

sur-behoffski
programmer, Grouse Software
* No diagnostics for:
   #include expects "FILENAME" or <FILENAME>
   missing binary operator before token "("
   <FUNC> is deprecated [-Wdeprecated-declarations]
   <FUNC1> is deprecated: Use <FUNC2> instead [-Wdeprecated-declarations]
   too many arguments for format [-Wformat-extra-args]
   format not a string literal and no format arguments [-Wformat-security]
   assignment from incompatible pointer type [-Wincompatible-pointer-types]
   initialization from incompatible pointer type [-Wincompatible-pointer-types]
   passing argument <NUM> of <FUNC> from incompatible pointer type 
[-Wincompatible-pointer-types]
   <VAR> may be used uninitialized in this function [-Wmaybe-uninitialized]
   missing braces around initializer [-Wmissing-braces]
   suggest parentheses around '&&' within '||' [-Wparentheses]
   no return statement in function returning non-void [-Wreturn-type]
   control reaches end of non-void function [-Wreturn-type]
   this 'else' clause does not guard... [-Wmisleading-indentation]
   this 'for' clause does not guard... [-Wmisleading-indentation]
   this 'while' clause does not guard... [-Wmisleading-indentation]
   ignoring #pragma omp critical [-Wunknown-pragmas]
   ignoring #pragma omp for [-Wunknown-pragmas]
   ignoring #pragma omp parallel [-Wunknown-pragmas]
   ignoring #pragma omp section [-Wunknown-pragmas]
   ignoring #pragma warning  [-Wunknown-pragmas]
   dereferencing type-punned pointer will break strict-aliasing rules 
[-Wstrict-aliasing]
   enumeration value <ENUM> not handled in switch [-Wswitch]
   <EXPRESSION> is used uninitialized in this function [-Wuninitialized]
   <VAR> defined but not used [-Wunused-const-variable=]
   unused variable <VAR> [-Wunused-variable]
   deprecated conversion from string constant to <TYPE> [-Wwrite-strings]
(End of list.)


comparison between <ENUM1> and <ENUM2> [-Wenum-compare]:
    libexif/fuji/mnote-fuji-entry.c:233:[Function:mnote_fuji_entry_get_value]:  
 ExifTag {aka const enum <anonymous>}  MnoteFujiTag {aka enum _MnoteFujiTag}
    
libexif/olympus/mnote-olympus-entry.c:430:[Function:mnote_olympus_entry_get_value]:
   ExifTag {aka const enum <anonymous>}  MnoteOlympusTag {aka enum 
_MnoteOlympusTag}
    
libexif/olympus/mnote-olympus-entry.c:500:[Function:mnote_olympus_entry_get_value]:
   ExifTag {aka const enum <anonymous>}  MnoteOlympusTag {aka enum 
_MnoteOlympusTag}
    
libexif/pentax/mnote-pentax-entry.c:347:[Function:mnote_pentax_entry_get_value]:
   ExifTag {aka const enum <anonymous>}  MnotePentaxTag {aka enum 
_MnotePentaxTag}
    
libexif/pentax/mnote-pentax-entry.c:371:[Function:mnote_pentax_entry_get_value]:
   ExifTag {aka const enum <anonymous>}  MnotePentaxTag {aka enum 
_MnotePentaxTag}


format <FMT> expects argument of type <TYPE1>, but argument <NUM> has type 
<TYPE2> [-Wformat=]:
    libtiff/tif_predict.c:645:[Function:PredictorEncodeTile]:   %u  unsigned 
int  4  tmsize_t {aka long unsigned int}
    
libexif/fuji/exif-mnote-data-fuji.c:227:[Function:exif_mnote_data_fuji_load]:   
%u  unsigned int  5  size_t {aka long unsigned int}
    
libexif/canon/exif-mnote-data-canon.c:270:[Function:exif_mnote_data_canon_load]:
   %u  unsigned int  5  size_t {aka long unsigned int}
    
libexif/olympus/exif-mnote-data-olympus.c:485:[Function:exif_mnote_data_olympus_load]:
   %u  unsigned int  5  size_t {aka long unsigned int}
    
libexif/pentax/exif-mnote-data-pentax.c:310:[Function:exif_mnote_data_pentax_load]:
   %u  unsigned int  5  size_t {aka long unsigned int}
    libjasper/base/jas_debug.c:128:[Function:jas_memdump]:   %x  unsigned int  
3  size_t {aka long unsigned int}
    libjasper/jpc/jpc_mqenc.c:388:[Function:jpc_mqenc_dump]:   %d  int  3  long 
int
    libjasper/jpc/jpc_mqdec.c:303:[Function:jpc_mqdec_dump]:   %d  int  3  long 
int
    libjasper/jpc/jpc_mqdec.c:304:[Function:jpc_mqdec_dump]:   %d  int  3  long 
int


implicit declaration of function <FUNC> [-Wimplicit-function-declaration]:
    libjasper/base/jas_getopt.c:129:[Function:jas_getopt]:   jas_eprintf
    libjasper/jpc/jpc_qmfb.c:1618:[Function:jpc_ft_synthesize]:   
jas_do_progress
    libjasper/jpc/jpc_qmfb.c:1619:[Function:jpc_ft_synthesize]:   jas_test_abort
    libjasper/jpc/jpc_tsfb.c:124:[Function:jpc_tsfb_analyze]:   
jpc_tsfb_analyze2
    libjasper/jpc/jpc_tsfb.c:151:[Function:jpc_tsfb_synthesize]:   
jpc_tsfb_synthesize2
    libjasper/jpc/jpc_t1dec.c:248:[Function:jpc_dec_decodecblk]:   jas_eprintf


cast to pointer from integer of different size [-Wint-to-pointer-cast]:
    tiff_binfile.c:74:[Function:TIFFFdOpen]: 
      tif = TIFFClientOpen(name, mode, (thandle_t) fd,  iTIFFReadProc, 
iTIFFWriteProc,
    im_format_tiff.cpp:693:[MemeberFunction:virtual void* 
imFileFormatTIFF::Handle(int)]: 
        return (void*)this->tiff->tif_fd;


<VAR> is usually a function [-Wmain]:
    libjpeg/jdmainct.c:162:[Function:alloc_funny_pointers]:   main
    libjpeg/jdmainct.c:203:[Function:make_funny_pointers]:   main
    libjpeg/jdmainct.c:243:[Function:set_wraparound_pointers]:   main
    libjpeg/jdmainct.c:272:[Function:set_bottom_pointers]:   main
    libjpeg/jdmainct.c:309:[Function:start_pass_main]:   main
    libjpeg/jdmainct.c:349:[Function:process_data_simple_main]:   main
    libjpeg/jdmainct.c:389:[Function:process_data_context_main]:   main
    libjpeg/jdmainct.c:478:[Function:jinit_d_main_controller]:   main
    libjpeg/jcmainct.c:71:[Function:start_pass_main]:   main
    libjpeg/jcmainct.c:117:[Function:process_data_simple_main]:   main
    libjpeg/jcmainct.c:247:[Function:jinit_c_main_controller]:   main


the use of `tmpnam' is dangerous, better use `mkstemp':
    jas_stream.c:[At:(.text+0x6e6)]: 


suggest parentheses around assignment used as truth value [-Wparentheses]:
    libjasper/base/jas_image.c:230:[Function:jas_box_alloc]: 
      if ( box->buf = (uint_fast8_t *) jas_malloc( size ) )


suggest explicit braces to avoid ambiguous 'else' [-Wparentheses]:
    lua5/imlua_process.c:55:[Function:imluaProcessSplitComplex]: 
      if ((_si)->data_type == IM_DOUBLE || (_si)->data_type == IM_CDOUBLE)  \
    lua5/imlua_process.c:61:[Function:imluaProcessMergeComplex]: 
      if ((_si)->data_type == IM_DOUBLE || (_si)->data_type == IM_CDOUBLE)  \
    lua5/imlua_process.c:55:[Function:imluaProcessAutoCovariance]: 
      if ((_si)->data_type == IM_DOUBLE || (_si)->data_type == IM_CDOUBLE)  \
    lua5/imlua_process.c:55:[Function:imluaProcessNormalizeComponents]: 
      if ((_si)->data_type == IM_DOUBLE || (_si)->data_type == IM_CDOUBLE)  \
    lua5/imlua_process.c:55:[Function:imluaProcessNormDiffRatio]: 
      if ((_si)->data_type == IM_DOUBLE || (_si)->data_type == IM_CDOUBLE)  \
    lua5/imlua_process.c:55:[Function:imluaProcessSplitComplex]: 
      if ((_si)->data_type == IM_DOUBLE || (_si)->data_type == IM_CDOUBLE)  \
    lua5/imlua_process.c:61:[Function:imluaProcessMergeComplex]: 
      if ((_si)->data_type == IM_DOUBLE || (_si)->data_type == IM_CDOUBLE)  \
    lua5/imlua_process.c:55:[Function:imluaProcessAutoCovariance]: 
      if ((_si)->data_type == IM_DOUBLE || (_si)->data_type == IM_CDOUBLE)  \
    lua5/imlua_process.c:55:[Function:imluaProcessNormalizeComponents]: 
      if ((_si)->data_type == IM_DOUBLE || (_si)->data_type == IM_CDOUBLE)  \
    lua5/imlua_process.c:55:[Function:imluaProcessNormDiffRatio]: 
      if ((_si)->data_type == IM_DOUBLE || (_si)->data_type == IM_CDOUBLE)  \


cast from pointer to integer of different size [-Wpointer-to-int-cast]:
    libjasper/base/jas_image.c:232:[Function:jas_box_alloc]: 
      return (bool) box->buf;
    libjasper/jpc/jpc_t1enc.c:135:[Function:jpc_enc_enccblks]: 
          jas_do_progress( (int) lvl, (int) (endlvls-1), "jpc: encode" );
    libjasper/jpc/jpc_t1enc.c:135:[Function:jpc_enc_enccblks]: 
          jas_do_progress( (int) lvl, (int) (endlvls-1), "jpc: encode" );


<VAR> will be initialized after [-Wreorder]:
    im_format_jp2.cpp:109:[Constructor:imFileFormatJP2::imFileFormatJP2(const 
imFormat*)]:   imFileFormatJP2::image
      jas_image_t *image;
                   ^~~~~
   im_format_jp2.cpp:108:17: warning:   'jas_stream_t* imFileFormatJP2::stream' 
[-Wreorder]
      jas_stream_t *stream;
                    ^~~~~~
   im_format_jp2.cpp:112:3: warning:   when initialized here [-Wreorder]
      imFileFormatJP2(const imFormat* _iformat) : imFileFormatBase(_iformat), 
image(0), stream(0), fmtid(-1) {}
      ^~~~~~~~~~~~~~~
    im_format_jp2.cpp:108:[Constructor:imFileFormatJP2::imFileFormatJP2(const 
imFormat*)]:   imFileFormatJP2::stream
      jas_stream_t *stream;
                    ^~~~~~
   im_format_jp2.cpp:107:7: warning:   'int imFileFormatJP2::fmtid' [-Wreorder]
      int fmtid;
          ^~~~~
   im_format_jp2.cpp:112:3: warning:   when initialized here [-Wreorder]
      imFileFormatJP2(const imFormat* _iformat) : imFileFormatBase(_iformat), 
image(0), stream(0), fmtid(-1) {}
      ^~~~~~~~~~~~~~~


case value <LABEL> not in enumerated type <ENUM> [-Wswitch]:
    libexif/exif-entry.c:1199:[Function:exif_entry_get_value]:   0  ExifTag 
{aka enum <anonymous>}
    libexif/exif-entry.c:1226:[Function:exif_entry_get_value]:   5  ExifTag 
{aka enum <anonymous>}
    libexif/exif-entry.c:1239:[Function:exif_entry_get_value]:   7  ExifTag 
{aka enum <anonymous>}


this 'if' clause does not guard... [-Wmisleading-indentation]:
    libtiff/tif_read.c:495:[Function:TIFFFillStrip]: 
        if (!_TIFFFillStriles( tif ) || !tif->tif_dir.td_stripbytecount)
        ^~
   libtiff/tif_read.c:498:2: note: ...this statement, but the latter is 
misleadingly indented as if it is guarded by the 'if'
     if ((tif->tif_flags&TIFF_NOREADRAW)==0)
     ^~
    libtiff/tif_read.c:798:[Function:TIFFFillTile]: 
        if (!_TIFFFillStriles( tif ) || !tif->tif_dir.td_stripbytecount)
        ^~
   libtiff/tif_read.c:801:2: note: ...this statement, but the latter is 
misleadingly indented as if it is guarded by the 'if'
     if ((tif->tif_flags&TIFF_NOREADRAW)==0)
     ^~
    libtiff/tif_read.c:960:[Function:TIFFStartStrip]: 
        if (!_TIFFFillStriles( tif ) || !tif->tif_dir.td_stripbytecount)
        ^~
   libtiff/tif_read.c:963:2: note: ...this statement, but the latter is 
misleadingly indented as if it is guarded by the 'if'
     if ((tif->tif_flags & TIFF_CODERSETUP) == 0) {
     ^~
    libtiff/tif_dirread.c:4272:[Function:EstimateStripByteCounts]: 
        if( !_TIFFFillStriles( tif ) )
        ^~
   libtiff/tif_dirread.c:4275:2: note: ...this statement, but the latter is 
misleadingly indented as if it is guarded by the 'if'
     if (td->td_stripbytecount)
     ^~
    process/im_analyze.cpp:727:[Function:int 
imAnalyzeMeasurePrincipalAxis(const imImage*, const int*, const double*, const 
double*, int, double*, double*, double*, double*)]: 
        if (cm20) free(cm20); if (cm02) free(cm02); if (cm11) free(cm11);
        ^~
   process/im_analyze.cpp:727:27: note: ...this statement, but the latter is 
misleadingly indented as if it is guarded by the 'if'
        if (cm20) free(cm20); if (cm02) free(cm02); if (cm11) free(cm11);
                              ^~
    process/im_analyze.cpp:737:[Function:int 
imAnalyzeMeasurePrincipalAxis(const imImage*, const int*, const double*, const 
double*, int, double*, double*, double*, double*)]: 
        if (cm20) free(cm20); if (cm02) free(cm02); if (cm11) free(cm11);
        ^~
   process/im_analyze.cpp:737:27: note: ...this statement, but the latter is 
misleadingly indented as if it is guarded by the 'if'
        if (cm20) free(cm20); if (cm02) free(cm02); if (cm11) free(cm11);
                              ^~
    process/im_analyze.cpp:747:[Function:int 
imAnalyzeMeasurePrincipalAxis(const imImage*, const int*, const double*, const 
double*, int, double*, double*, double*, double*)]: 
        if (cm20) free(cm20); if (cm02) free(cm02); if (cm11) free(cm11);
        ^~
   process/im_analyze.cpp:747:27: note: ...this statement, but the latter is 
misleadingly indented as if it is guarded by the 'if'
        if (cm20) free(cm20); if (cm02) free(cm02); if (cm11) free(cm11);
                              ^~
    process/im_analyze.cpp:840:[Function:int 
imAnalyzeMeasurePrincipalAxis(const imImage*, const int*, const double*, const 
double*, int, double*, double*, double*, double*)]: 
          if (cm20) free(cm20); if (cm02) free(cm02); if (cm11) free(cm11);
          ^~
   process/im_analyze.cpp:840:29: note: ...this statement, but the latter is 
misleadingly indented as if it is guarded by the 'if'
          if (cm20) free(cm20); if (cm02) free(cm02); if (cm11) free(cm11);
                                ^~
    process/im_analyze.cpp:969:[Function:int 
imAnalyzeMeasurePrincipalAxis(const imImage*, const int*, const double*, const 
double*, int, double*, double*, double*, double*)]: 
      if (cm20) free(cm20); if (cm02) free(cm02); if (cm11) free(cm11);
      ^~
   process/im_analyze.cpp:969:25: note: ...this statement, but the latter is 
misleadingly indented as if it is guarded by the 'if'
      if (cm20) free(cm20); if (cm02) free(cm02); if (cm11) free(cm11);
                            ^~
    process/im_analyze.cpp:727:[Function:int 
imAnalyzeMeasurePrincipalAxis(const imImage*, const int*, const double*, const 
double*, int, double*, double*, double*, double*)]: 
        if (cm20) free(cm20); if (cm02) free(cm02); if (cm11) free(cm11);
        ^~
   process/im_analyze.cpp:727:27: note: ...this statement, but the latter is 
misleadingly indented as if it is guarded by the 'if'
        if (cm20) free(cm20); if (cm02) free(cm02); if (cm11) free(cm11);
                              ^~
    process/im_analyze.cpp:737:[Function:int 
imAnalyzeMeasurePrincipalAxis(const imImage*, const int*, const double*, const 
double*, int, double*, double*, double*, double*)]: 
        if (cm20) free(cm20); if (cm02) free(cm02); if (cm11) free(cm11);
        ^~
   process/im_analyze.cpp:737:27: note: ...this statement, but the latter is 
misleadingly indented as if it is guarded by the 'if'
        if (cm20) free(cm20); if (cm02) free(cm02); if (cm11) free(cm11);
                              ^~
    process/im_analyze.cpp:747:[Function:int 
imAnalyzeMeasurePrincipalAxis(const imImage*, const int*, const double*, const 
double*, int, double*, double*, double*, double*)]: 
        if (cm20) free(cm20); if (cm02) free(cm02); if (cm11) free(cm11);
        ^~
   process/im_analyze.cpp:747:27: note: ...this statement, but the latter is 
misleadingly indented as if it is guarded by the 'if'
        if (cm20) free(cm20); if (cm02) free(cm02); if (cm11) free(cm11);
                              ^~
    process/im_analyze.cpp:840:[Function:int 
imAnalyzeMeasurePrincipalAxis(const imImage*, const int*, const double*, const 
double*, int, double*, double*, double*, double*)]: 
          if (cm20) free(cm20); if (cm02) free(cm02); if (cm11) free(cm11);
          ^~
   process/im_analyze.cpp:840:29: note: ...this statement, but the latter is 
misleadingly indented as if it is guarded by the 'if'
          if (cm20) free(cm20); if (cm02) free(cm02); if (cm11) free(cm11);
                                ^~
    process/im_analyze.cpp:969:[Function:int 
imAnalyzeMeasurePrincipalAxis(const imImage*, const int*, const double*, const 
double*, int, double*, double*, double*, double*)]: 
      if (cm20) free(cm20); if (cm02) free(cm02); if (cm11) free(cm11);
      ^~
   process/im_analyze.cpp:969:25: note: ...this statement, but the latter is 
misleadingly indented as if it is guarded by the 'if'
      if (cm20) free(cm20); if (cm02) free(cm02); if (cm11) free(cm11);
                            ^~


<FUNC> defined but not used [-Wunused-function]:
    libjasper/jpc/jpc_enc.c:886:[Function:jpc_enc_encodemainbody]:   
jpc_calcssexp
    libjasper/jpc/jpc_enc.c:870:[Function:jpc_enc_encodemainbody]:   
jpc_calcssmant


ignoring return value of <FUNC>, declared with attribute warn_unused_result 
[-Wunused-result]:
    libjasper/base/jas_stream.c:369:[Function:jas_stream_tmpfile]:   tmpnam


statement with no effect [-Wunused-value]:
    libexif/fuji/mnote-fuji-tag.c:46:[Function:mnote_fuji_tag_get_title]: 
    #    define bindtextdomain(Domain,Directory) (Domain)
    libexif/fuji/mnote-fuji-tag.c:46:[Function:mnote_fuji_tag_get_description]: 
    #    define bindtextdomain(Domain,Directory) (Domain)
    libexif/canon/mnote-canon-tag.c:46:[Function:mnote_canon_tag_get_title]: 
    #    define bindtextdomain(Domain,Directory) (Domain)
    
libexif/canon/mnote-canon-tag.c:46:[Function:mnote_canon_tag_get_description]: 
    #    define bindtextdomain(Domain,Directory) (Domain)
    
libexif/olympus/mnote-olympus-tag.c:46:[Function:mnote_olympus_tag_get_title]: 
    #    define bindtextdomain(Domain,Directory) (Domain)
    
libexif/olympus/mnote-olympus-tag.c:46:[Function:mnote_olympus_tag_get_description]:
 
    #    define bindtextdomain(Domain,Directory) (Domain)
    libexif/pentax/mnote-pentax-tag.c:46:[Function:mnote_pentax_tag_get_title]: 
    #    define bindtextdomain(Domain,Directory) (Domain)
    
libexif/pentax/mnote-pentax-tag.c:46:[Function:mnote_pentax_tag_get_description]:
 
    #    define bindtextdomain(Domain,Directory) (Domain)
    libexif/exif-entry.c:46:[Function:exif_entry_get_value]: 
    #    define bindtextdomain(Domain,Directory) (Domain)
    libexif/exif-format.c:46:[Function:exif_format_get_name]: 
    #    define bindtextdomain(Domain,Directory) (Domain)
    libexif/exif-tag.c:46:[Function:exif_tag_get_title_in_ifd]: 
    #    define bindtextdomain(Domain,Directory) (Domain)
    libexif/exif-tag.c:46:[Function:exif_tag_get_description_in_ifd]: 
    #    define bindtextdomain(Domain,Directory) (Domain)


<VAR> defined but not used [-Wunused-variable]:
    libjasper/jp2/jp2_cod.h:132:[#included-from:libjasper/jp2/jp2_cod.h:132]:   
xmp_uuid
    libjasper/jp2/jp2_cod.h:125:[#included-from:libjasper/jp2/jp2_cod.h:125]:   
msi_uuid
    libjasper/jp2/jp2_cod.h:132:[#included-from:libjasper/jp2/jp2_cod.h:132]:   
xmp_uuid


variable <VAR> set but not used [-Wunused-but-set-variable]:
    libtiff/tif_open.c:106:[Function:TIFFClientOpen]:   n
    
libexif/olympus/mnote-olympus-entry.c:343:[Function:mnote_olympus_entry_get_value]:
   d
    libjasper/base/jas_icc.c:1072:[Function:jas_icctxtdesc_copy]:   txtdesc
    libjasper/base/jas_icc.c:1259:[Function:jas_icclut8_copy]:   lut8
    libjasper/base/jas_image.c:1360:[Function:jas_image_chclrspc]:   numoutchans
    libjasper/base/jas_image.c:1353:[Function:jas_image_chclrspc]:   
numinauxchans
    libjasper/jp2/jp2_dec.c:115:[Function:jp2_decode]:   cdefd
    libjasper/jpc/jpc_t1enc.c:210:[Function:jpc_enc_enccblk]:   rlvl
    libjasper/jpc/jpc_t1enc.c:205:[Function:jpc_enc_enccblk]:   ret
    libjasper/jpc/jpc_dec.c:438:[Function:jpc_dec_process_crg]:   crg
    libjasper/jpc/jpc_dec.c:702:[Function:jpc_dec_tileinit]:   brcbgyend
    libjasper/jpc/jpc_enc.c:873:[Function:jpc_calcssmant]:   e
    libjasper/jpc/jpc_enc.c:904:[Function:jpc_enc_encodemainhdr]:   mctsynweight
    libjasper/jpc/jpc_enc.c:1121:[Function:jpc_enc_encodemainbody]:   numbytes
    libjasper/jpc/jpc_enc.c:1107:[Function:jpc_enc_encodemainbody]:   tiley
    libjasper/jpc/jpc_enc.c:1106:[Function:jpc_enc_encodemainbody]:   tilex


warning: ISO C++ forbids converting a string constant to <TYPE> 
[-Wwrite-strings]:
    im_format_tiff.cpp:[At:52]:   char*
    im_format_tiff.cpp:[At:52]:   char*
    im_format_tiff.cpp:[At:52]:   char*
    im_format_tiff.cpp:[At:52]:   char*
    im_format_tiff.cpp:[At:52]:   char*
    im_format_tiff.cpp:[At:52]:   char*
    im_format_tiff.cpp:[At:52]:   char*
    im_format_tiff.cpp:[At:52]:   char*
    im_format_tiff.cpp:[At:52]:   char*
    im_format_tiff.cpp:[At:52]:   char*
    im_format_tiff.cpp:[At:52]:   char*
------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Iup-users mailing list
Iup-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/iup-users

Reply via email to