> -----Original Message----- > From: Peter Maydell [mailto:peter.mayd...@linaro.org] > Sent: Thursday, November 19, 2020 4:26 PM > To: Chenqun (kuhn) <kuhn.chen...@huawei.com> > Cc: QEMU Developers <qemu-devel@nongnu.org>; QEMU Trivial > <qemu-triv...@nongnu.org>; Hao Wu <wuhao...@google.com>; Havard > Skinnemoen <hskinnem...@google.com>; Zhanghailiang > <zhang.zhanghaili...@huawei.com>; Thomas Huth <th...@redhat.com>; > Laurent Vivier <lviv...@redhat.com>; Euler Robot <euler.ro...@huawei.com> > Subject: Re: [PATCH-for-5.2? 1/2] tests/qtest: variable defined by g_autofree > need to be initialized > > On Wed, 18 Nov 2020 at 11:57, Chen Qun <kuhn.chen...@huawei.com> > wrote: > > > > According to the glib function requirements, we need initialise the > > variable. Otherwise there will be compilation warnings: > > > > glib-autocleanups.h:28:3: warning: ‘full_name’ may be used > > uninitialized in this function [-Wmaybe-uninitialized] > > 28 | g_free (*pp); > > | ^~~~~~~~~~~~ > > > > static void tim_add_test(const char *name, const TestData *td, > > GTestDataFunc fn) { > > - g_autofree char *full_name; > > - > > - full_name = g_strdup_printf("npcm7xx_timer/tim[%d]/timer[%d]/%s", > > - tim_index(td->tim), > timer_index(td->timer), > > - name); > > + g_autofree char *full_name = g_strdup_printf( > > + "npcm7xx_timer/tim[%d]/timer[%d]/%s", tim_index(td->tim), > > + timer_index(td->timer), name); > > Which compiler is so unintelligent that it cannot see that a declaration > immediately followed by an assignment must always initialize the variable ??? > Hi Peter, Glib requires that all g_auto* macros must be initialized. https://developer.gnome.org/glib/stable/glib-Miscellaneous-Macros.html#g-autofree
Thanks, Chen Qun