From: Jeff Hostetler Date: Tue, 19 Dec 2017 14:19:13 GMT Subject: Re: [FYI PATCH] t/helper/test-lazy-name-hash: fix compilation Message-ID: <39238da4-c2b8-050d-51e3-675f5515776e@jeffhostetler.com> In-Reply-To: <20171218214947.210042-1-sbeller@google.com> On 12/18/2017 4:49 PM, Stefan Beller wrote: > I was compiling origin/master today with stricter compiler flags today > and was greeted by > > t/helper/test-lazy-init-name-hash.c: In function ‘cmd_main’: > t/helper/test-lazy-init-name-hash.c:172:5: error: ‘nr_threads_used’ may be used uninitialized in this function [-Werror=maybe-uninitialized] > printf("avg [size %8d] [single %f] %c [multi %f %d]\n", > ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > nr, > ~~~ > (double)avg_single/1000000000, > ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > (avg_single < avg_multi ? '<' : '>'), > ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > (double)avg_multi/1000000000, > ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > nr_threads_used); > ~~~~~~~~~~~~~~~~ > t/helper/test-lazy-init-name-hash.c:115:6: note: ‘nr_threads_used’ was declared here > int nr_threads_used; > ^~~~~~~~~~~~~~~ > > I do not see how we can arrive at that line without having `nr_threads_used` > initialized, as we'd have `count > 1` (which asserts that we ran the > loop above at least once, such that it *should* be initialized). > > I do not have time to dive into further analysis. > > Signed-off-by: Stefan Beller > --- > t/helper/test-lazy-init-name-hash.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/t/helper/test-lazy-init-name-hash.c b/t/helper/test-lazy-init-name-hash.c > index 6368a89345..297fb01d61 100644 > --- a/t/helper/test-lazy-init-name-hash.c > +++ b/t/helper/test-lazy-init-name-hash.c > @@ -112,7 +112,7 @@ static void analyze_run(void) > { > uint64_t t1s, t1m, t2s, t2m; > int cache_nr_limit; > - int nr_threads_used; > + int nr_threads_used = 0; > int i; > int nr; Agreed. It should not be a problem. Explicitly initializing it is fine. Signed-off-by: Jeff Hostetler