public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug fortran/57697] New: Segfault with defined assignment for components during intrinsic assignment
@ 2013-06-24 11:23 burnus at gcc dot gnu.org
  2013-06-24 13:16 ` [Bug fortran/57697] " burnus at gcc dot gnu.org
                   ` (17 more replies)
  0 siblings, 18 replies; 19+ messages in thread
From: burnus at gcc dot gnu.org @ 2013-06-24 11:23 UTC (permalink / raw)
  To: gcc-bugs

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

            Bug ID: 57697
           Summary: Segfault with defined assignment for components during
                    intrinsic assignment
           Product: gcc
           Version: 4.9.0
            Status: UNCONFIRMED
          Keywords: wrong-code
          Severity: normal
          Priority: P3
         Component: fortran
          Assignee: unassigned at gcc dot gnu.org
          Reporter: burnus at gcc dot gnu.org

Found with ForTrilinos's ForTrilinos_ADT_3D_Burgers_6th_Pade example.

For the code:
  function new_scalar_field(initial,comm) result(this)
    ...
    if (.not. allocated(map)) then
      map = Epetra_Map(NumGlobalElements,NumMyElements,IndexBase,comm)

gfortran generates the code:

  static struct epetra_map * _F.DA104 = 0B;
  static struct universal _F.DA105;
  ...
        if (map == 0B)
          {
            {
              static integer(kind=4) C.5077 = 1;
              static integer(kind=4) C.5076 = 4096;

              if (_F.DA104 != 0B) goto L.249;
              _F.DA104 = (struct epetra_map *) __builtin_malloc (56);
              L.249:;
              *_F.DA104 = create_linear (&C.5076, &nummyelements, &C.5077,
                           (struct __class_fepetra_comm_Epetra_comm *) comm);
            }
            _F.DA105 = map->epetra_blockmap.universal;
            if (map != 0B) goto L.251;
            map = (struct epetra_map *) __builtin_malloc (56);
            L.251:;
            *map = *_F.DA104;

Note that the assignment to "_F.DA105" dereferences "map", which is known to be
NULL!


^ permalink raw reply	[flat|nested] 19+ messages in thread

end of thread, other threads:[~2013-10-04 16:56 UTC | newest]

Thread overview: 19+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2013-06-24 11:23 [Bug fortran/57697] New: Segfault with defined assignment for components during intrinsic assignment burnus at gcc dot gnu.org
2013-06-24 13:16 ` [Bug fortran/57697] " burnus at gcc dot gnu.org
2013-06-24 13:22 ` dominiq at lps dot ens.fr
2013-06-24 13:30 ` burnus at gcc dot gnu.org
2013-06-27  9:23 ` dominiq at lps dot ens.fr
2013-08-21 12:35 ` [Bug fortran/57697] [OOP] " janus at gcc dot gnu.org
2013-09-10  6:13 ` burnus at gcc dot gnu.org
2013-09-15 10:54 ` burnus at gcc dot gnu.org
2013-09-16  6:42 ` burnus at gcc dot gnu.org
2013-09-18 22:19 ` burnus at gcc dot gnu.org
2013-09-19  6:44 ` burnus at gcc dot gnu.org
2013-09-19  8:42 ` dominiq at lps dot ens.fr
2013-09-19 17:12 ` burnus at gcc dot gnu.org
2013-09-19 18:05 ` dominiq at lps dot ens.fr
2013-09-21 13:19 ` dominiq at lps dot ens.fr
2013-09-25 19:54 ` burnus at gcc dot gnu.org
2013-10-04 16:26 ` burnus at gcc dot gnu.org
2013-10-04 16:55 ` burnus at gcc dot gnu.org
2013-10-04 16:56 ` burnus at gcc dot gnu.org

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).