This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug fortran/67758] [GCC 6 regression] ICE on invalid use of COMMON


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

kargl at gcc dot gnu.org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |kargl at gcc dot gnu.org

--- Comment #2 from kargl at gcc dot gnu.org ---
(In reply to Dominique d'Humieres from comment #1)
> WORKSFORME!
> 
> pr67758.f90:1:26:
> 
>        COMMON /FMCOM / X(80 000 000)
>                           1
> Error: Expected another dimension in array declaration at (1)
> pr67758.f90:3:24:
> 
>        COMMON /FMCOM / XX(80 000 000)
>                         1
> Error: PROCEDURE attribute conflicts with COMMON attribute in 'xx' at (1)
> 
> with r227016 (2015-08-19) and all the revisions I have tested (I have added
> an END statement). Could you please post the output of 'gfortran -v'?

troutmask:sgk[204] gfc6 -c r5.f
f951: internal compiler error: Segmentation fault
no stack trace because unwind library not available
Please submit a full bug report,
with preprocessed source if appropriate.
See <http://gcc.gnu.org/bugs.html> for instructions.
troutmask:sgk[205] gfc5 -c r5.f
r5.f:3:24:

       COMMON /FMCOM / XX(80 000 000)
                        1
Error: PROCEDURE attribute conflicts with COMMON attribute in 'xx' at (1)
f951: Error: Unexpected end of file in 'r5.f'
troutmask:sgk[206] gfc49 -c r5.f
r5.f:3.24:

      COMMON /FMCOM / XX(80 000 000)                                    
                        1
Error: PROCEDURE attribute conflicts with COMMON attribute in 'xx' at (1)
Error: Unexpected end of file in 'r5.f'

Looks like a regression in symbol.c.

(gdb) p p->common_block->head->common_next
$9 = (gfc_symbol *) 0x0
(gdb) list
3205              else
3206                {
3207                  gfc_symbol *cparent, *csym;
3208
3209                  cparent = p->common_block->head;
3210                  csym = cparent->common_next;
3211
3212                  while (csym != p)
3213                    {
3214                      cparent = csym;
3215                      csym = csym->common_next;
3216                    }
3217
3218                  gcc_assert(cparent->common_next == p);
3219                  cparent->common_next = csym->common_next;
3220                }
3221            }


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]