public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
From: "steven.spark+dev at gmail dot com" <gcc-bugzilla@gcc.gnu.org>
To: gcc-bugs@gcc.gnu.org
Subject: [Bug c/39589] make -Wmissing-field-initializers=2 work with "designated initializers" ?
Date: Tue, 22 Oct 2013 13:14:00 -0000	[thread overview]
Message-ID: <bug-39589-4-KLxM6aiZLk@http.gcc.gnu.org/bugzilla/> (raw)
In-Reply-To: <bug-39589-4@http.gcc.gnu.org/bugzilla/>

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39589

Szikra István <steven.spark+dev at gmail dot com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |steven.spark+dev at gmail dot com

--- Comment #1 from Szikra István <steven.spark+dev at gmail dot com> ---
I have the same (or similar) problem, and would like to have an option to
enable warnings for incomplete structure initialization with designated
initializers, where not all fields were explicitly assigned. 

(I know that the omitted fields are going to be 0, but that does not help me
much in my embedded project. I would really like a compilation warning for the
occasional misses, and not have to use other code analysis tools. Unfortunately
splint does not even work for gnu99 code.)

More details, examples can be found here:
http://stackoverflow.com/questions/19430285/how-to-ensure-structures-are-completly-initialized-by-name-in-gcc

Thanks in advance for anyone who can help us out.
>From gcc-bugs-return-432466-listarch-gcc-bugs=gcc.gnu.org@gcc.gnu.org Tue Oct 22 13:23:38 2013
Return-Path: <gcc-bugs-return-432466-listarch-gcc-bugs=gcc.gnu.org@gcc.gnu.org>
Delivered-To: listarch-gcc-bugs@gcc.gnu.org
Received: (qmail 3838 invoked by alias); 22 Oct 2013 13:23:38 -0000
Mailing-List: contact gcc-bugs-help@gcc.gnu.org; run by ezmlm
Precedence: bulk
List-Id: <gcc-bugs.gcc.gnu.org>
List-Archive: <http://gcc.gnu.org/ml/gcc-bugs/>
List-Post: <mailto:gcc-bugs@gcc.gnu.org>
List-Help: <mailto:gcc-bugs-help@gcc.gnu.org>
Sender: gcc-bugs-owner@gcc.gnu.org
Delivered-To: mailing list gcc-bugs@gcc.gnu.org
Received: (qmail 3808 invoked by uid 48); 22 Oct 2013 13:23:34 -0000
From: "reichelt at gcc dot gnu.org" <gcc-bugzilla@gcc.gnu.org>
To: gcc-bugs@gcc.gnu.org
Subject: [Bug c++/58846] New: [4.7/4.8/4.9 Regression] ICE redeclaring __dso_handle
Date: Tue, 22 Oct 2013 13:23:00 -0000
X-Bugzilla-Reason: CC
X-Bugzilla-Type: new
X-Bugzilla-Watch-Reason: None
X-Bugzilla-Product: gcc
X-Bugzilla-Component: c++
X-Bugzilla-Version: 4.9.0
X-Bugzilla-Keywords:
X-Bugzilla-Severity: normal
X-Bugzilla-Who: reichelt at gcc dot gnu.org
X-Bugzilla-Status: UNCONFIRMED
X-Bugzilla-Priority: P3
X-Bugzilla-Assigned-To: unassigned at gcc dot gnu.org
X-Bugzilla-Target-Milestone: ---
X-Bugzilla-Flags:
X-Bugzilla-Changed-Fields: bug_id short_desc product version bug_status bug_severity priority component assigned_to reporter
Message-ID: <bug-58846-4@http.gcc.gnu.org/bugzilla/>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 7bit
X-Bugzilla-URL: http://gcc.gnu.org/bugzilla/
Auto-Submitted: auto-generated
MIME-Version: 1.0
X-SW-Source: 2013-10/txt/msg01610.txt.bz2
Content-length: 1754

http://gcc.gnu.org/bugzilla/show_bug.cgi?idX846

            Bug ID: 58846
           Summary: [4.7/4.8/4.9 Regression] ICE redeclaring __dso_handle
           Product: gcc
           Version: 4.9.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c++
          Assignee: unassigned at gcc dot gnu.org
          Reporter: reichelt at gcc dot gnu.org

The following invalid code snippet triggers an ICE since GCC 4.7.0:

=======================================extern "C" { char* __dso_handle; }

struct A
{
  ~A();
};

A a;
=======================================
bug.cc:8:3: error: conflicting declaration 'void* __dso_handle'
 A a;
   ^
bug.cc:1:20: note: '__dso_handle' has a previous declaration as 'char*
__dso_handle'
 extern "C" { char* __dso_handle; }
                    ^
bug.cc: In function 'void __static_initialization_and_destruction_0(int, int)':
bug.cc:8:3: internal compiler error: tree check: expected tree that contains
'decl with visibility' structure, have 'error_mark' in get_dso_handle_node, at
cp/decl.c:6687
 A a;
   ^
0xd17204 tree_contains_struct_check_failed(tree_node const*,
tree_node_structure_enum, char const*, int, char const*)
        ../../gcc/gcc/tree.c:9473
0x577e2c contains_struct_check
        ../../gcc/gcc/tree.h:2788
0x577e2c get_dso_handle_node
        ../../gcc/gcc/cp/decl.c:6687
0x577e2c register_dtor_fn(tree_node*)
        ../../gcc/gcc/cp/decl.c:6856
0x6233c7 one_static_initialization_or_destruction
        ../../gcc/gcc/cp/decl2.c:3502
0x623779 do_static_initialization_or_destruction
        ../../gcc/gcc/cp/decl2.c:3579
0x624fa2 cp_write_global_declarations()
        ../../gcc/gcc/cp/decl2.c:4214
Please submit a full bug report, [etc.]


       reply	other threads:[~2013-10-22 13:14 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <bug-39589-4@http.gcc.gnu.org/bugzilla/>
2013-10-22 13:14 ` steven.spark+dev at gmail dot com [this message]
2013-10-23  8:24 ` manu at gcc dot gnu.org
2014-10-08 12:22 ` manu at gcc dot gnu.org
2023-06-09 14:23 ` cvs-commit at gcc dot gnu.org
2023-08-24 13:57 ` mail at pfrost dot me
2023-08-24 16:35 ` manu at gcc dot gnu.org

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=bug-39589-4-KLxM6aiZLk@http.gcc.gnu.org/bugzilla/ \
    --to=gcc-bugzilla@gcc.gnu.org \
    --cc=gcc-bugs@gcc.gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).