public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
From: "nick.tomlinson at arm dot com" <gcc-bugzilla@gcc.gnu.org>
To: gcc-bugs@gcc.gnu.org
Subject: [Bug other/62008] New: CilkPlus Array Notation ICE in build_array_notation_ref when trying to build  a multidimensional array from a pointer.
Date: Mon, 04 Aug 2014 11:32:00 -0000	[thread overview]
Message-ID: <bug-62008-4@http.gcc.gnu.org/bugzilla/> (raw)

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=62008

            Bug ID: 62008
           Summary: CilkPlus Array Notation ICE in
                    build_array_notation_ref when trying to build  a
                    multidimensional array from a pointer.
           Product: gcc
           Version: 4.10.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: other
          Assignee: unassigned at gcc dot gnu.org
          Reporter: nick.tomlinson at arm dot com
              Host: x86_64-unknown-linux-gnu
            Target: x86_64-unknown-linux-gnu
             Build: r213543

Created attachment 33234
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=33234&action=edit
Minimal reproducer

==== Steps to reproduce ====
    - Build with: g++ -fcilkplus -c multidim.cpp
    - Observe that an ICE is produced.

  ==== What I expected to happen ====
    - g++ should compile the code without generating an ICE or any other error
      (I *think* the code is valid).

  ==== What actually happened ====
    - Trunk g++ produced the following output:
      $ ${GCC_TRUNK}/bin/g++ -fcilkplus -c multidim.cpp
      multidim.cpp: In function 'void f(int*, int, int)':
      multidim.cpp:4:25: internal compiler error: in build_array_notation_ref,
at cp/cp-array-notation.c:1407
    tmp[:][:] = a[0:w][0:h];
                  ^
      0x74ee4a build_array_notation_ref(unsigned int, tree_node*, tree_node*,
tree_node*, tree_node*, tree_node*)
         
/home/nicholas/GCCCilk/bug/native/gcc-4.9.0/gcc/cp/cp-array-notation.c:1407
      0x661549 cp_parser_array_notation
          /home/nicholas/GCCCilk/bug/native/gcc-4.9.0/gcc/cp/parser.c:6388
      0x661549 cp_parser_postfix_open_square_expression
          /home/nicholas/GCCCilk/bug/native/gcc-4.9.0/gcc/cp/parser.c:6453
      0x661549 cp_parser_postfix_expression
          /home/nicholas/GCCCilk/bug/native/gcc-4.9.0/gcc/cp/parser.c:6053
      0x664558 cp_parser_unary_expression
          /home/nicholas/GCCCilk/bug/native/gcc-4.9.0/gcc/cp/parser.c:7293
      0x665189 cp_parser_binary_expression
          /home/nicholas/GCCCilk/bug/native/gcc-4.9.0/gcc/cp/parser.c:8036
      0x66575b cp_parser_assignment_expression
          /home/nicholas/GCCCilk/bug/native/gcc-4.9.0/gcc/cp/parser.c:8279
      0x665bf5 cp_parser_assignment_expression
          /home/nicholas/GCCCilk/bug/native/gcc-4.9.0/gcc/cp/parser.c:8329
      0x665bf5 cp_parser_constant_expression
          /home/nicholas/GCCCilk/bug/native/gcc-4.9.0/gcc/cp/parser.c:8539
      0x665936 cp_parser_assignment_expression
          /home/nicholas/GCCCilk/bug/native/gcc-4.9.0/gcc/cp/parser.c:8298
      0x667e03 cp_parser_expression
          /home/nicholas/GCCCilk/bug/native/gcc-4.9.0/gcc/cp/parser.c:8441
      0x66862c cp_parser_expression
          /home/nicholas/GCCCilk/bug/native/gcc-4.9.0/gcc/cp/parser.c:8480
      0x66862c cp_parser_expression_statement
          /home/nicholas/GCCCilk/bug/native/gcc-4.9.0/gcc/cp/parser.c:9819
      0x65d1d8 cp_parser_statement
          /home/nicholas/GCCCilk/bug/native/gcc-4.9.0/gcc/cp/parser.c:9670
      0x65dfe9 cp_parser_statement_seq_opt
          /home/nicholas/GCCCilk/bug/native/gcc-4.9.0/gcc/cp/parser.c:9942
      0x65e156 cp_parser_compound_statement
          /home/nicholas/GCCCilk/bug/native/gcc-4.9.0/gcc/cp/parser.c:9896
      0x66f64b cp_parser_function_body
          /home/nicholas/GCCCilk/bug/native/gcc-4.9.0/gcc/cp/parser.c:18961
      0x66f64b cp_parser_ctor_initializer_opt_and_function_body
          /home/nicholas/GCCCilk/bug/native/gcc-4.9.0/gcc/cp/parser.c:18997
      0x675cf3 cp_parser_function_definition_after_declarator
          /home/nicholas/GCCCilk/bug/native/gcc-4.9.0/gcc/cp/parser.c:23162
      0x676bae cp_parser_function_definition_from_specifiers_and_declarator
          /home/nicholas/GCCCilk/bug/native/gcc-4.9.0/gcc/cp/parser.c:23074
      Please submit a full bug report,
      with preprocessed source if appropriate.
      Please include the complete backtrace with any bug report.
      See <http://gcc.gnu.org/bugs.html> for instructions.

  ==== Environment ====
  I have tried this with:
   - My system GCC (g++, version 4.9.1)
   - A native build of GCC (${GCC_TRUNK}/bin/g++, revision r213543)
   - I have also seen an ICE for the same code in revision r213234.

  ${GCC_TRUNK}/bin/g++ is a native build of GCC, with the following specified
  to the configure script:
  ./configure --prefix=${GCC_TRUNK} \
    --enable-languages=c,c++,fortran --disable-sjlj-exceptions
  And make invoked as: make CXXFLAGS="-g3 -O0" -j9

  $ uname -a
  Linux squamata 3.15.7-1-ARCH #1 SMP PREEMPT Mon Jul 28 20:06:17 CEST 2014
x86_64 GNU/Linux

  $ g++ --version
  g++ (GCC) 4.9.1
  Copyright (C) 2014 Free Software Foundation, Inc.
  This is free software; see the source for copying conditions.  There is NO
  warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

  $ ${GCC_TRUNK}/bin/g++ --version
  g++ (GCC) 4.10.0 20140804 (experimental)
  Copyright (C) 2014 Free Software Foundation, Inc.
  This is free software; see the source for copying conditions.  There is NO
  warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.


             reply	other threads:[~2014-08-04 11:32 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-08-04 11:32 nick.tomlinson at arm dot com [this message]
2014-08-22  9:37 ` [Bug other/62008] " kyukhin at gcc dot gnu.org
2014-08-22  9:40 ` kyukhin 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-62008-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).