public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
From: "gscfq@t-online.de" <gcc-bugzilla@gcc.gnu.org>
To: gcc-bugs@gcc.gnu.org
Subject: [Bug fortran/100970] New: ICE in output_constructor_regular_field, at varasm.c:5514
Date: Tue, 08 Jun 2021 17:10:33 +0000	[thread overview]
Message-ID: <bug-100970-4@http.gcc.gnu.org/bugzilla/> (raw)

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

            Bug ID: 100970
           Summary: ICE in output_constructor_regular_field, at
                    varasm.c:5514
           Product: gcc
           Version: 12.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: fortran
          Assignee: unassigned at gcc dot gnu.org
          Reporter: gscfq@t-online.de
  Target Milestone: ---

These invalid codes (different shape for array assignment, see z0)
affect versions down to at least r5. Case z1 is silently accepted
(but not with -m32). I wonder how this could be related to pr100950.


$ cat z0.f90
module m
   integer :: a(1) = [1, 2]
end


$ cat z1.f90
module m
   type t
      integer :: a(1) = [1, 2]
      real, pointer :: b => null()
   end type
end


$ cat z2.f90
module m
   type t
      integer :: a(1) = [1, 2, 3]
      real, pointer :: b => null()
   end type
end


$ cat z3.f90
module m
   type t
      integer :: a(1) = [1, 2, 3, 4]
      real, pointer :: b => null()
   end type
end


$ cat z4.f90
module m
   type t
      integer :: a(1) = [1, 2, 3, 4, 5]
      real, pointer :: b => null()
   end type
   type(t) :: x
end


$ gfortran-12-20210606 -c z0.f90
z0.f90:2:18:

    2 |    integer :: a(1) = [1, 2]
      |                  1
Error: Different shape for array assignment at (1) on dimension 1 (1 and 2)

$ gfortran-12-20210606 -c z1.f90

$ gfortran-12-20210606 -c z4.f90
z4.f90:7:3:

    7 | end
      |   ^
internal compiler error: in output_constructor_regular_field, at varasm.c:5514
0xf3fdad output_constructor_regular_field
        ../../gcc/varasm.c:5514
0xf3fdad output_constructor
        ../../gcc/varasm.c:5820
0xf400ef output_constant
        ../../gcc/varasm.c:5172
0xf400ef assemble_variable_contents
        ../../gcc/varasm.c:2235
0xf47e8d assemble_variable(tree_node*, int, int, int)
        ../../gcc/varasm.c:2414
0xf4a18a varpool_node::assemble_decl()
        ../../gcc/varpool.c:595
0x8b0a8f output_in_order
        ../../gcc/cgraphunit.c:2135
0x8b0a8f symbol_table::compile()
        ../../gcc/cgraphunit.c:2353
0x8b33af symbol_table::compile()
        ../../gcc/cgraphunit.c:2540
0x8b33af symbol_table::finalize_compilation_unit()
        ../../gcc/cgraphunit.c:2537

             reply	other threads:[~2021-06-08 17:10 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-06-08 17:10 gscfq@t-online.de [this message]
2021-06-13 20:36 ` [Bug fortran/100970] " anlauf at gcc dot gnu.org
2021-10-24 14:36 ` dominiq at lps dot ens.fr
2021-10-24 19:15 ` anlauf 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-100970-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).