On 17/10/21, Bram Moolenaar wrote: > > Tony wrote: > > > In GTK builds (here GTK3): > > > > gcc -c -I. -Iproto -DHAVE_CONFIG_H -DFEAT_GUI_GTK -pthread > > -I/usr/include/gtk-3.0 -I/usr/include/at-spi2-atk/2.0 > > -I/usr/include/at-spi-2.0 -I/usr/include/dbus-1.0 > > -I/usr/lib64/dbus-1.0/include -I/usr/include/gtk-3.0 > > -I/usr/include/gio-unix-2.0 -I/usr/include/libxkbcommon > > -I/usr/include/wayland -I/usr/include/cairo -I/usr/include/pango-1.0 > > -I/usr/include/fribidi -I/usr/include/harfbuzz -I/usr/include/atk-1.0 > > -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/freetype2 > > -I/usr/include/libpng16 -I/usr/include/gdk-pixbuf-2.0 > > -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/glib-2.0 > > -I/usr/lib64/glib-2.0/include -O2 -fno-strength-reduce -Wall > > -Wno-deprecated-declarations -D_REENTRANT -U_FORTIFY_SOURCE > > -D_FORTIFY_SOURCE=1 -o objects/gui_gtk_x11.o gui_gtk_x11.c > > gui_gtk_x11.c: In function ‘gui_gtk2_draw_string’: > > gui_gtk_x11.c:5749:13: warning: ‘should_need_pango’ may be used > > uninitialized in this function [-Wmaybe-uninitialized] > > len_sum += gui_gtk2_draw_string_ext(row, col + len_sum, > > ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > > cs, slen, flags, needs_pango); > > ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > > The error is confusing, because it is at the line where needs_pango is > used. But needs_pango got the value of should_need_pango further down, > apparently the not-initialized mark is transfered between the variables. > > Gcc doesn't know that the while is always making at least one loop.
There are two nested while loops with seemingly different math, I believe that's what made Gcc stumble: `while (cs < s + len)` and `while (slen < (len - byte_sum))`. Variable is set in inner loop while outer loop needs it. Human eye can distinguish that we can't enter outer loop without entering inner one, at least once, but I can understand how that may look to Gcc. Will take care with next PR, thanks. Best, Dusan -- -- You received this message from the "vim_dev" maillist. Do not top-post! Type your reply below the text you are replying to. For more information, visit http://www.vim.org/maillist.php --- You received this message because you are subscribed to the Google Groups "vim_dev" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/vim_dev/YWwAQPgdwg9fOSVw%40ryzen.me.
signature.asc
Description: PGP signature
