From patchwork Wed Apr 25 16:08:22 2012 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?b?TWFudWVsIEzDs3Blei1JYsOhw7Fleg==?= X-Patchwork-Id: 155025 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from sourceware.org (server1.sourceware.org [209.132.180.131]) by ozlabs.org (Postfix) with SMTP id 7D2F6B6FAA for ; Thu, 26 Apr 2012 02:09:12 +1000 (EST) Comment: DKIM? See http://www.dkim.org DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d=gcc.gnu.org; s=default; x=1335974953; h=Comment: DomainKey-Signature:Received:Received:Received:Received:Received: MIME-Version:Received:In-Reply-To:References:From:Date: Message-ID:Subject:To:Cc:Content-Type:Content-Transfer-Encoding: Mailing-List:Precedence:List-Id:List-Unsubscribe:List-Archive: List-Post:List-Help:Sender:Delivered-To; bh=9i3KqOvb+QisvWZulyf/ A+nuoAo=; b=is71Mn3wrGtXdmO+GF1iienKYaksPPzhfWfBkRCjKQzXiM0lvz5d qLgUy36Jm4zNe7Rzngvw0Yf8RsO3iC0EM/QmSTHBiKQxVen0SNIMtTHMX6zktm80 076Lo8j5nrVOu9U5wT744tb/p9ws5HGGsSWa66iITMgCqzdHVe5Xux0= Comment: DomainKeys? See http://antispam.yahoo.com/domainkeys DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws; s=default; d=gcc.gnu.org; h=Received:Received:X-SWARE-Spam-Status:X-Spam-Check-By:Received:Received:Received:MIME-Version:Received:In-Reply-To:References:From:Date:Message-ID:Subject:To:Cc:Content-Type:Content-Transfer-Encoding:Mailing-List:Precedence:List-Id:List-Unsubscribe:List-Archive:List-Post:List-Help:Sender:Delivered-To; b=ST4N07x24y7mQJmDGD12CEg5i5ynTosm9q2kw/BtKKwmJfaYpfcg8+tQT/Bdnr Ls3XBQsZU3FW/NPYe8s9FanlCVi22PGCZGNQ+CiJ3UddlcBpYy/Aiik50m76pLdq PVUlUhq7Y38hOFIO63v+16Yi5Efx/Wh6g/Q0/HsGRfHfk=; Received: (qmail 16717 invoked by alias); 25 Apr 2012 16:09:08 -0000 Received: (qmail 16702 invoked by uid 22791); 25 Apr 2012 16:09:06 -0000 X-SWARE-Spam-Status: No, hits=-4.6 required=5.0 tests=AWL, BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, FREEMAIL_FROM, KHOP_RCVD_TRUST, KHOP_THREADED, RCVD_IN_DNSWL_LOW, RCVD_IN_HOSTKARMA_YE X-Spam-Check-By: sourceware.org Received: from mail-bk0-f47.google.com (HELO mail-bk0-f47.google.com) (209.85.214.47) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Wed, 25 Apr 2012 16:08:44 +0000 Received: by bkcjm19 with SMTP id jm19so246745bkc.20 for ; Wed, 25 Apr 2012 09:08:43 -0700 (PDT) Received: by 10.204.133.210 with SMTP id g18mr1075658bkt.107.1335370123504; Wed, 25 Apr 2012 09:08:43 -0700 (PDT) MIME-Version: 1.0 Received: by 10.205.83.80 with HTTP; Wed, 25 Apr 2012 09:08:22 -0700 (PDT) In-Reply-To: References: From: =?ISO-8859-1?Q?Manuel_L=F3pez=2DIb=E1=F1ez?= Date: Wed, 25 Apr 2012 18:08:22 +0200 Message-ID: Subject: Re: [C] improve missing initializers diagnostics To: "H.J. Lu" Cc: Gcc Patch List , "Joseph S. Myers" Mailing-List: contact gcc-patches-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Unsubscribe: List-Archive: List-Post: List-Help: Sender: gcc-patches-owner@gcc.gnu.org Delivered-To: mailing list gcc-patches@gcc.gnu.org On 25 April 2012 16:46, H.J. Lu wrote: > On Sat, Apr 21, 2012 at 4:58 AM, Manuel López-Ibáñez > wrote: >> This patch improves missing initializers diagnostics. From: >> >> pr36446.c:13:3: warning: missing initializer [-Wmissing-field-initializers] >>   .h = {1}, >>   ^ >> pr36446.c:13:3: warning: (near initialization for ‘m0.h.b’) >> [-Wmissing-field-initializers] >>   .h = {1}, >>   ^ >> >> to: >> >> pr36446.c:13:3: warning: missing initializer for field ‘b’ of ‘struct >> h’ [-Wmissing-field-initializers] >>   .h = {1}, >>   ^ >> pr36446.c:3:7: note: ‘b’ declared here >>   int b; >>       ^ >> >> Bootstrapped/regression tested. >> >> OK? >> >> >> 2012-04-19  Manuel López-Ibáñez   >> >>        * c-typeck.c (pop_init_level): Improve diagnostics. >> testsuite/ >>        * gcc.dg/m-un-2.c: Update. >>        * gcc.dg/20011021-1.c: Update. > > On Linux/x86, revision 186808 gave me: > > FAIL: gcc.dg/20011021-1.c  (test for warnings, line 34) > FAIL: gcc.dg/20011021-1.c  (test for warnings, line 41) > FAIL: gcc.dg/20011021-1.c  (test for warnings, line 44) > FAIL: gcc.dg/20011021-1.c (test for excess errors) > FAIL: gcc.dg/20011021-1.c near init (test for warnings, line 27) > FAIL: gcc.dg/20011021-1.c near init (test for warnings, line 30) > FAIL: gcc.dg/m-un-2.c (test for excess errors) > FAIL: gcc.dg/m-un-2.c warning regression 2 (test for warnings, line 12) > FAIL: gcc.dg/missing-field-init-2.c  (test for warnings, line 14) > FAIL: gcc.dg/missing-field-init-2.c  (test for warnings, line 7) > FAIL: gcc.dg/missing-field-init-2.c  (test for warnings, line 8) > FAIL: gcc.dg/missing-field-init-2.c (test for excess errors) > > Revision 186806 is OK. Somehow I committed a broken version of the patch. It should have been this: Sorry for the mistake, Manuel. --- gcc/c-typeck.c (revision 186821) +++ gcc/c-typeck.c (working copy) @@ -7063,11 +7063,11 @@ pop_init_level (int implicit, struct obs if (warning_at (input_location, OPT_Wmissing_field_initializers, "missing initializer for field %qD of %qT", constructor_unfilled_fields, constructor_type)) inform (DECL_SOURCE_LOCATION (constructor_unfilled_fields), - "%qT declared here", constructor_unfilled_fields); + "%qD declared here", constructor_unfilled_fields); } } I'll commit as soon as it finishes bootstrapping+testing.