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
