public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug fortran/54462] New: [4.8 Regression] Another "segmentation fault" after an error in COMMON statement after r190853
@ 2012-09-02 19:37 dominiq at lps dot ens.fr
  2012-09-03  9:02 ` [Bug fortran/54462] " burnus at gcc dot gnu.org
                   ` (3 more replies)
  0 siblings, 4 replies; 5+ messages in thread
From: dominiq at lps dot ens.fr @ 2012-09-02 19:37 UTC (permalink / raw)
  To: gcc-bugs

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

             Bug #: 54462
           Summary: [4.8 Regression] Another "segmentation fault" after an
                    error in COMMON statement after r190853
    Classification: Unclassified
           Product: gcc
           Version: 4.8.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: fortran
        AssignedTo: unassigned@gcc.gnu.org
        ReportedBy: dominiq@lps.ens.fr
                CC: burnus@net-b.de


After revision 190853 compiling the original test in pr29537 gives a
segmentation fault. A reduced test is

type a_t
  integer i
end type a_t

block data bd
  common c
end block data bd

common /a_t/ c
end

and the backtrace is

(gdb) run pr29537_red.f90
Starting program:
/opt/gcc/gcc4.8p-190863p3/libexec/gcc/x86_64-apple-darwin10.8.0/4.8.0/f951
pr29537_red.f90
pr29537_red.f90:5.13:

block data bd
             1   
Error: Unexpected BLOCK DATA statement at (1)
pr29537_red.f90:6.10:

  common c
          1   
Error: Unexpected COMMON statement at (1)

Program received signal SIGSEGV, Segmentation fault.
gfc_undo_symbols () at ../../p_work/gcc/fortran/symbol.c:2923
2923              st.name = st0->name;
(gdb) bt
#0  gfc_undo_symbols () at ../../p_work/gcc/fortran/symbol.c:2923
#1  0x0000000100077fa6 in reject_statement () at
../../p_work/gcc/fortran/parse.c:1747
#2  0x000000010007e226 in parse_progunit (st=<optimized out>) at
../../p_work/gcc/fortran/parse.c:4168
#3  0x000000010007f04f in gfc_parse_file () at
../../p_work/gcc/fortran/parse.c:4597
#4  0x00000001000be5c6 in gfc_be_parse_file () at
../../p_work/gcc/fortran/f95-lang.c:191
#5  0x000000010061e95f in compile_file () at ../../p_work/gcc/toplev.c:546
#6  0x0000000100620425 in toplev_main (argc=2, argv=0x7fff5fbfd778) at
../../p_work/gcc/toplev.c:1863
#7  0x000000010000aa44 in start () at
../../../p_work/libgcc/unwind-dw2-fde.c:1055


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

* [Bug fortran/54462] [4.8 Regression] Another "segmentation fault" after an error in COMMON statement after r190853
  2012-09-02 19:37 [Bug fortran/54462] New: [4.8 Regression] Another "segmentation fault" after an error in COMMON statement after r190853 dominiq at lps dot ens.fr
@ 2012-09-03  9:02 ` burnus at gcc dot gnu.org
  2012-09-05 11:47 ` dominiq at lps dot ens.fr
                   ` (2 subsequent siblings)
  3 siblings, 0 replies; 5+ messages in thread
From: burnus at gcc dot gnu.org @ 2012-09-03  9:02 UTC (permalink / raw)
  To: gcc-bugs

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

Tobias Burnus <burnus at gcc dot gnu.org> changed:

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

--- Comment #1 from Tobias Burnus <burnus at gcc dot gnu.org> 2012-09-03 09:01:55 UTC ---
Rather obvious but untested draft patch:

--- a/gcc/fortran/symbol.c
+++ b/gcc/fortran/symbol.c
@@ -2922,4 +2922,6 @@ gfc_undo_symbols (void)
-
-                 st.name = st0->name;
-                 gfc_delete_bbt (&p->ns->common_root, &st, compare_symtree);
-                 free (st0);
+                 if (st0)
+                   {
+                     st.name = st0->name;
+                     gfc_delete_bbt (&p->ns->common_root, &st,
compare_symtree);
+                     free (st0);
+                   }


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

* [Bug fortran/54462] [4.8 Regression] Another "segmentation fault" after an error in COMMON statement after r190853
  2012-09-02 19:37 [Bug fortran/54462] New: [4.8 Regression] Another "segmentation fault" after an error in COMMON statement after r190853 dominiq at lps dot ens.fr
  2012-09-03  9:02 ` [Bug fortran/54462] " burnus at gcc dot gnu.org
@ 2012-09-05 11:47 ` dominiq at lps dot ens.fr
  2012-09-05 16:41 ` burnus at gcc dot gnu.org
  2012-09-05 17:01 ` burnus at gcc dot gnu.org
  3 siblings, 0 replies; 5+ messages in thread
From: dominiq at lps dot ens.fr @ 2012-09-05 11:47 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #2 from Dominique d'Humieres <dominiq at lps dot ens.fr> 2012-09-05 11:46:24 UTC ---
Indeed the patch in comment #1 fixes the PR without regression.


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

* [Bug fortran/54462] [4.8 Regression] Another "segmentation fault" after an error in COMMON statement after r190853
  2012-09-02 19:37 [Bug fortran/54462] New: [4.8 Regression] Another "segmentation fault" after an error in COMMON statement after r190853 dominiq at lps dot ens.fr
  2012-09-03  9:02 ` [Bug fortran/54462] " burnus at gcc dot gnu.org
  2012-09-05 11:47 ` dominiq at lps dot ens.fr
@ 2012-09-05 16:41 ` burnus at gcc dot gnu.org
  2012-09-05 17:01 ` burnus at gcc dot gnu.org
  3 siblings, 0 replies; 5+ messages in thread
From: burnus at gcc dot gnu.org @ 2012-09-05 16:41 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #3 from Tobias Burnus <burnus at gcc dot gnu.org> 2012-09-05 16:40:56 UTC ---
Author: burnus
Date: Wed Sep  5 16:40:48 2012
New Revision: 190989

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=190989
Log:
2012-09-05  Tobias Burnus  <burnus@net-b.de>

        PR fortran/54462
        * symbol.c (gfc_undo_symbols): Avoid NULL pointer dereference.


Modified:
    trunk/gcc/fortran/ChangeLog
    trunk/gcc/fortran/symbol.c


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

* [Bug fortran/54462] [4.8 Regression] Another "segmentation fault" after an error in COMMON statement after r190853
  2012-09-02 19:37 [Bug fortran/54462] New: [4.8 Regression] Another "segmentation fault" after an error in COMMON statement after r190853 dominiq at lps dot ens.fr
                   ` (2 preceding siblings ...)
  2012-09-05 16:41 ` burnus at gcc dot gnu.org
@ 2012-09-05 17:01 ` burnus at gcc dot gnu.org
  3 siblings, 0 replies; 5+ messages in thread
From: burnus at gcc dot gnu.org @ 2012-09-05 17:01 UTC (permalink / raw)
  To: gcc-bugs

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

Tobias Burnus <burnus at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |RESOLVED
         Resolution|                            |FIXED
   Target Milestone|---                         |4.8.0

--- Comment #4 from Tobias Burnus <burnus at gcc dot gnu.org> 2012-09-05 17:00:48 UTC ---
FIXED. Dominique, thanks for the bugreport and testing the patch!


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

end of thread, other threads:[~2012-09-05 17:01 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2012-09-02 19:37 [Bug fortran/54462] New: [4.8 Regression] Another "segmentation fault" after an error in COMMON statement after r190853 dominiq at lps dot ens.fr
2012-09-03  9:02 ` [Bug fortran/54462] " burnus at gcc dot gnu.org
2012-09-05 11:47 ` dominiq at lps dot ens.fr
2012-09-05 16:41 ` burnus at gcc dot gnu.org
2012-09-05 17:01 ` 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).