Hi,
IMO I have to disagree. Warnings are most valuable help to produce code
without bugs.
So much so, that nginx set compiler option to consider warning as error.
It's painfully initially, but soon you coding without any warnings or errors.

Best.
Ranier
________________________________________
De: Antonio Scuri <[email protected]>
Enviado: segunda-feira, 11 de dezembro de 2017 15:43
Para: IUP discussion list.
Assunto: Re: [Iup-users] Silence gcc warning: 'vert_alignment' may be used 
uninitialized in this function

  Yes it is worth it. Many compilers produces lots of useless warnings.

Best,
Scuri


2017-12-11 10:03 GMT-02:00 Jörg F. Wittenberger 
<[email protected]<mailto:[email protected]>>:
Is it actually worth the time to discuss whether or not the compiler is smart 
enough to figure out whether or not a particular variable is used uninitialized 
or not?

It is always better to silence those warnings by initializing those variables.

In some environments the uninitialized variables are outright forbidden. Which 
is a good idea. Sure those people tend to treat all warnings as errors too. 
Which too is a good idea. But hardly possible with iup.

On Dec 10 2017, Antonio Scuri wrote:

 Notice in iMatrixComputeNaturalSizeMethod that full_width, full_height
values are used only when limit_expand is enabled too.

Best,
Scuri


2017-12-10 16:34 GMT-02:00 Ranier VF 
<[email protected]<mailto:[email protected]>>:

Hi,
Same case here.
matrix/iupmatrix.c: In function 'iMatrixComputeNaturalSizeMethod':
matrix/iupmatrix.c:1994:19: warning: 'full_height' may be used
uninitialized in this function [-Wmaybe-uninitialized]
       full_height += sb_h;
                   ^~
matrix/iupmatrix.c:1991:13: warning: 'full_width' may be used
uninitialized in this function [-Wmaybe-uninitialized]
     else if (*w == full_width) /* all columns can be visible, */

The vars are initialized in function int iMatrixGetNaturalWidth(Ihandle* ih, 
int *full_width) But var * full_width set value is protected by if 
(ih->data->limit_expand) So if (ih->data->limit_expand) fail, full_witdth will 
be trash.

Best.
Ranier
________________________________________
De: Antonio Scuri <[email protected]<mailto:[email protected]>>
Enviado: domingo, 10 de dezembro de 2017 18:22
Para: IUP discussion list.
Assunto: Re: [Iup-users]        Silence gcc warning: 'vert_alignment' may
be used uninitialized in this function

  No, I think gcc was smarter than that. There are several situations in
the code that the declaration is:

int var;
init_var(&var);

  Add gcc does not complains. I think in that case it actually parse the
iFlatTabsGetAlignment function and reported the error.

Best,
Scuri


2017-12-10 16:16 GMT-02:00 Ranier VF 
<[email protected]<mailto:[email protected]><mailto:
[email protected]<mailto:[email protected]>>>:
Hi,
It's always a good idea, initialize vars like horiz_alignment and
horiz_alignment, with default value.
Because, function like iFlatTabsGetAlignment can fail in set value and
these vars can be trash when
function returns.

That's the reason what compiler emits this warning.

Best.

Ranier
________________________________________
De: Antonio Scuri 
<[email protected]<mailto:[email protected]><mailto:[email protected]<mailto:[email protected]>
>>
Enviado: domingo, 10 de dezembro de 2017 17:47
Para: IUP discussion list.
Assunto: Re: [Iup-users]        Silence gcc warning: 'vert_alignment' may
be used uninitialized in this function

  Those variables are initialized 20 lines bellow in:

  iFlatTabsGetAlignment(alignment, &horiz_alignment, &vert_alignment);

  And they are not used before that. But iFlatTabsGetAlignment should 
initialize even in "alignment" is NULL. That was missing. Actually I did a full 
check on ALIGMENT attributes on all controls that use horizontalxvertical 
alignment options and found some minor errors too. Fixed and committed to SVN.

Best,
Scuri


2017-12-10 11:23 GMT-02:00 Ranier VF 
<[email protected]<mailto:[email protected]><mailto:
[email protected]<mailto:[email protected]>><mailto:[email protected]<mailto:[email protected]><mailto:
[email protected]<mailto:[email protected]>>>>:
Hi,
initialize vars to silence gcc warning

--- iup/iup/src/iup_flattabs.c 2017-09-04 18:44:26.000000000 -0300 +++ 
iup_dev/iup/src/iup_flattabs.c 2017-12-10 11:19:01.570274940 -0200 @@ -443,7 
+443,7 @@
   int title_height = iFlatTabsGetTitleHeight(ih, &title_width, 1);
   int fixedwidth = iupAttribGetInt(ih, "FIXEDWIDTH");
   Ihandle* child;
-  int pos, horiz_alignment, vert_alignment, tab_x = 0;
+  int pos, horiz_alignment = 0, vert_alignment = 0, tab_x = 0;
   unsigned char line_r = 0, line_g = 0, line_b = 0;
   int show_close = iupAttribGetBoolean(ih, "SHOWCLOSE");
   int tab_highlighted = iupAttribGetInt(ih, "_IUPFTABS_HIGHLIGHTED");

------------------------------------------------------------
------------------
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
[email protected]<mailto:[email protected]><mailto:[email protected]<mailto:[email protected]>
><mailto:[email protected]<mailto:[email protected]><mailto:Iup-users@lists<mailto:Iup-users@lists>.
sourceforge.net<http://sourceforge.net>>>
https://lists.sourceforge.net/lists/listinfo/iup-users


------------------------------------------------------------
------------------
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
[email protected]<mailto:[email protected]><mailto:[email protected]<mailto:[email protected]>>
https://lists.sourceforge.net/lists/listinfo/iup-users


------------------------------------------------------------
------------------
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
[email protected]<mailto:[email protected]>
https://lists.sourceforge.net/lists/listinfo/iup-users



------------------------------------------------------------------------------
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
[email protected]<mailto:[email protected]>
https://lists.sourceforge.net/lists/listinfo/iup-users


------------------------------------------------------------------------------
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
[email protected]
https://lists.sourceforge.net/lists/listinfo/iup-users

Reply via email to