public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
From: "reichelt at gcc dot gnu.org" <gcc-bugzilla@gcc.gnu.org>
To: gcc-bugs@gcc.gnu.org
Subject: [Bug c++/60051] New: [4.9 Regression] [c++11] ICE with auto and array initialization
Date: Tue, 04 Feb 2014 07:07:00 -0000	[thread overview]
Message-ID: <bug-60051-4@http.gcc.gnu.org/bugzilla/> (raw)

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

            Bug ID: 60051
           Summary: [4.9 Regression] [c++11] ICE with auto and array
                    initialization
           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 (compiled with "-std=c++11") triggers an
ICE on trunk:

==================================
#include <initializer_list>

auto x[2] = {};
==================================

bug.cc:3:14: internal compiler error: tree check: expected integer_type or
enumeral_type or boolean_type or real_type or fixed_point_type, have error_mark
in unify_array_domain, at cp/pt.c:17098
 auto x[2] = {};
              ^
0xdc4964 tree_check_failed(tree_node const*, char const*, int, char const*,
...)
        ../../gcc/gcc/tree.c:9192
0x6394e9 tree_check5
        ../../gcc/gcc/tree.h:2800
0x6394e9 unify_array_domain
        ../../gcc/gcc/cp/pt.c:17098
0x636a8e unify
        ../../gcc/gcc/cp/pt.c:17263
0x639b17 unify_one_argument
        ../../gcc/gcc/cp/pt.c:16161
0x63bf74 type_unification_real
        ../../gcc/gcc/cp/pt.c:16233
0x649b8a do_auto_deduction(tree_node*, tree_node*, tree_node*)
        ../../gcc/gcc/cp/pt.c:21471
0x5db471 cp_finish_decl(tree_node*, tree_node*, bool, tree_node*, int)
        ../../gcc/gcc/cp/decl.c:6200
0x6caa1d cp_parser_init_declarator
        ../../gcc/gcc/cp/parser.c:16815
0x6cc1d9 cp_parser_simple_declaration
        ../../gcc/gcc/cp/parser.c:11205
0x6af4b3 cp_parser_block_declaration
        ../../gcc/gcc/cp/parser.c:11086
0x6d67b2 cp_parser_declaration
        ../../gcc/gcc/cp/parser.c:10983
0x6d54a8 cp_parser_declaration_seq_opt
        ../../gcc/gcc/cp/parser.c:10869
0x6d6d8a cp_parser_translation_unit
        ../../gcc/gcc/cp/parser.c:4014
0x6d6d8a c_parse_file()
        ../../gcc/gcc/cp/parser.c:31528
0x7f66d3 c_common_parse_file()
        ../../gcc/gcc/c-family/c-opts.c:1060
Please submit a full bug report, [etc.]

The regression was introduced between 2013-10-12 and 2013-10-19.


             reply	other threads:[~2014-02-04  7:07 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-02-04  7:07 reichelt at gcc dot gnu.org [this message]
2014-02-04  7:08 ` [Bug c++/60051] " reichelt at gcc dot gnu.org
2014-02-04  9:52 ` jakub at gcc dot gnu.org
2014-02-04  9:56 ` rguenth at gcc dot gnu.org
2014-02-21  5:25 ` jason at gcc dot gnu.org
2014-02-21 14:56 ` jason at gcc dot gnu.org
2014-02-21 15:39 ` jason 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-60051-4@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).