From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 28503 invoked by alias); 14 May 2002 00:28:27 -0000 Mailing-List: contact gdb-patches-help@sources.redhat.com; run by ezmlm Precedence: bulk List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sources.redhat.com Received: (qmail 28472 invoked from network); 14 May 2002 00:28:22 -0000 Received: from unknown (HELO www.dberlin.org) (151.203.29.129) by sources.redhat.com with SMTP; 14 May 2002 00:28:22 -0000 Received: from localhost (localhost.localdomain [127.0.0.1]) by www.dberlin.org (Postfix) with ESMTP id D9C0C4D17780; Mon, 13 May 2002 20:28:21 -0400 (EDT) Date: Mon, 13 May 2002 17:28:00 -0000 From: Daniel Berlin To: Andrew Cagney Cc: Jim blandy , Subject: Re: macrotab.c -Werror In-Reply-To: <3CE04DBC.9040100@cygnus.com> Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII X-SW-Source: 2002-05/txt/msg00514.txt.bz2 On Mon, 13 May 2002, Andrew Cagney wrote: > [second attempt at posting] > > Jim, > > FYI, I'm seeing: > > gdb/macrotab.c:504: warning: `best_depth' might be used uninitialized in > this function > gmake: *** [macrotab.o] Error 1 > > for the code: > > /* It's not us. Try all our children, and return the lowest. */ > { > struct macro_source_file *child; > struct macro_source_file *best = 0; > int best_depth; > > for (child = source->includes; child; child = child->next_included) > { > struct macro_source_file *result > = macro_lookup_inclusion (child, name); > > if (result) > { > int result_depth = inclusion_depth (result); > > if (! best || result_depth < best_depth) <-- HERE It's an obvious false positive (!best will be true the first time through, meaning the only time we check best_depth, it's already been set at least once). Here, you can't just initialize best_depth to 0, you have to initialize it to either INT_MAX, or inclusion_depth (result). Sucks. --Dan