G'day,
After a long hiatus, in which I've been trying to improve my
"Tecgraf/IM/CD/IUP" assistant toolkit for wider use, I'm now
finally getting to the point where the code is starting to look
more portable and manageable than before; there's still some
way to go before it's ready for release as a project.
In the meantime, here's the output of "parse-build.lua" on
the latest revision of IM (r736). As has been the case in the
past, many, many of these warnings come from third-party
libraries that were stable, state-of-the art at the time.
The "trouble" is that there has been an aggressive campaign
to improve the diagnostics of compilers, notably GCC,
partially as a result of improved code path tracing/analysis.
While updated versions of these libraries are available,
that address the warnings properly, there has been
insufficient reason to backport the libraries into IM (and
CD and IUP, as relevant).
The builds were done on an up-to-date GNU/Linux Mint 18.3
laptop, running GCC 6.5.0. (I do have Mint 19.1 installed
on another machine, and have separately noted the build
warnings for GCC 7.x, but am letting that battle pass for now.)
So, attached is the build-warning summary for IM, revision 736.
cheers,
sur-behoffski (Brenton Hoff)
programmer, Grouse Software
* No diagnostics for:
#include expects "FILENAME" or <FILENAME>
missing binary operator before token "("
converting to non-pointer type <TYPE> from NULL [-Wconversion-null]
suggest explicit braces to avoid ambiguous 'else' [-Wdangling-else]
<FUNC> is deprecated [-Wdeprecated-declarations]
<FUNC1> is deprecated: Use <FUNC2> instead [-Wdeprecated-declarations]
assignment discards <TYPE> qualifier from pointer target type
[-Wdiscarded-qualifiers]
too many arguments for format [-Wformat-extra-args]
<FUNC> may write a terminating nul past the end of the destination
[-Wformat-overflow=]
<DIRECTIVE> directive writing 1 byte into a region of size between 0 and
<BYTECOUNT> [-Wformat-overflow=]
<DIRECTIVE> directive writing <BYTECOUNT1> bytes into a region of size
between <BYTECOUNT2> and <BYTECOUNT3> [-Wformat-overflow=]
<DIRECTIVE> directive writing between <BYTECOUNT1> and <BYTECOUNT2> bytes
into a region of size between <BYTECOUNT3> and <BYTECOUNT4> [-Wformat-overflow=]
<DIRECTIVE> directive writing up to <BYTECOUNT1> bytes into a region of size
<BYTECOUNT2> [-Wformat-overflow=]
format not a string literal and no format arguments [-Wformat-security]
implicit declaration of function <FUNC1>; did you mean <FUNC2>?
[-Wimplicit-function-declaration]
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]
comparison between pointer and zero character constant [-Wpointer-compare]
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=]
<FUNC> declared <TYPE> but never defined [-Wunused-function]
label <LABEL> defined but not used [-Wunused-label]
value computed is not used [-Wunused-value]
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*
im_format_png.cpp:597:[MemeberFunction:void
imFileFormatPNG::iWriteAttrib(imAttribTable*)]: png_charp {aka char*}
_______________________________________________
Iup-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/iup-users