public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug fortran/54730] New: ICE in gfc_typenode_for_spec, at fortran/trans-types.c:1066
@ 2012-09-27 21:17 janus at gcc dot gnu.org
  2012-09-27 21:21 ` [Bug fortran/54730] " dominiq at lps dot ens.fr
                   ` (15 more replies)
  0 siblings, 16 replies; 17+ messages in thread
From: janus at gcc dot gnu.org @ 2012-09-27 21:17 UTC (permalink / raw)
  To: gcc-bugs


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

             Bug #: 54730
           Summary: ICE in gfc_typenode_for_spec, at
                    fortran/trans-types.c:1066
    Classification: Unclassified
           Product: gcc
           Version: 4.8.0
            Status: UNCONFIRMED
          Keywords: ice-on-valid-code
          Severity: normal
          Priority: P3
         Component: fortran
        AssignedTo: unassigned@gcc.gnu.org
        ReportedBy: janus@gcc.gnu.org


Reported by Paul Kapinos at:

http://gcc.gnu.org/ml/fortran/2012-09/msg00095.html

Test case:

  implicit none
  intrinsic :: real
  real :: vec(1:2)
  vec = (/ real(a = 1), 1. /)
end


gfortran 4.7 and trunk yield the following ICE:

internal compiler error: in gfc_typenode_for_spec, at
fortran/trans-types.c:1066


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

* [Bug fortran/54730] ICE in gfc_typenode_for_spec, at fortran/trans-types.c:1066
  2012-09-27 21:17 [Bug fortran/54730] New: ICE in gfc_typenode_for_spec, at fortran/trans-types.c:1066 janus at gcc dot gnu.org
@ 2012-09-27 21:21 ` dominiq at lps dot ens.fr
  2012-09-27 21:43 ` dominiq at lps dot ens.fr
                   ` (14 subsequent siblings)
  15 siblings, 0 replies; 17+ messages in thread
From: dominiq at lps dot ens.fr @ 2012-09-27 21:21 UTC (permalink / raw)
  To: gcc-bugs


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

Dominique d'Humieres <dominiq at lps dot ens.fr> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |NEW
   Last reconfirmed|                            |2012-09-27
     Ever Confirmed|0                           |1

--- Comment #1 from Dominique d'Humieres <dominiq at lps dot ens.fr> 2012-09-27 21:21:14 UTC ---
I also see it with 4.4.6, 4.5.3, and 4.6.3. The backtrace is

#9  0x00000001001368e8 in gfc_typenode_for_spec (spec=<value optimized out>) at
../../work/gcc/fortran/trans-types.c:1066
#10 0x0000000100136b89 in gfc_sym_type (sym=<value optimized out>) at
../../work/gcc/fortran/trans-types.c:2133
#11 0x00000001000ead5c in gfc_get_symbol_decl (sym=<value optimized out>) at
../../work/gcc/fortran/trans-decl.c:1370
#12 0x00000001000ee5c8 in generate_local_decl (sym=<value optimized out>) at
../../work/gcc/fortran/trans-decl.c:4571
#13 0x00000001000ae3ac in do_traverse_symtree (st=<value optimized out>,
st_func=0, sym_func=0x1000ee2d0 <generate_local_decl(gfc_symbol*)>)
    at ../../work/gcc/fortran/symbol.c:3451
#14 0x00000001000eea87 in gfc_generate_function_code (ns=<value optimized out>)
at ../../work/gcc/fortran/trans-decl.c:4727
#15 0x00000001000c5852 in gfc_generate_module_code (ns=<value optimized out>)
at ../../work/gcc/fortran/trans.c:1640
#16 0x000000010007fec7 in gfc_parse_file () at
../../work/gcc/fortran/parse.c:4454
#17 0x00000001000c0386 in gfc_be_parse_file () at
../../work/gcc/fortran/f95-lang.c:191
#18 0x000000010070dd7f in compile_file () at ../../work/gcc/toplev.c:546
#19 0x000000010070fc2c in toplev_main (argc=<value optimized out>, argv=<value
optimized out>) at ../../work/gcc/toplev.c:1863
#20 0x000000010000a0b4 in start (pc=<value optimized out>, bases=0x0) at
../../../work/libgcc/unwind-dw2-fde.c:1055


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

* [Bug fortran/54730] ICE in gfc_typenode_for_spec, at fortran/trans-types.c:1066
  2012-09-27 21:17 [Bug fortran/54730] New: ICE in gfc_typenode_for_spec, at fortran/trans-types.c:1066 janus at gcc dot gnu.org
  2012-09-27 21:21 ` [Bug fortran/54730] " dominiq at lps dot ens.fr
@ 2012-09-27 21:43 ` dominiq at lps dot ens.fr
  2012-09-28 10:07 ` burnus at gcc dot gnu.org
                   ` (13 subsequent siblings)
  15 siblings, 0 replies; 17+ messages in thread
From: dominiq at lps dot ens.fr @ 2012-09-27 21:43 UTC (permalink / raw)
  To: gcc-bugs


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

--- Comment #2 from Dominique d'Humieres <dominiq at lps dot ens.fr> 2012-09-27 21:43:23 UTC ---
The ICE occurs at

tree
gfc_typenode_for_spec (gfc_typespec * spec)
{
  tree basetype;

  switch (spec->type)
    {
    case BT_UNKNOWN:
      gcc_unreachable ();
...

and disappears if "real(a = 1)" is replaced with "real(1)".


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

* [Bug fortran/54730] ICE in gfc_typenode_for_spec, at fortran/trans-types.c:1066
  2012-09-27 21:17 [Bug fortran/54730] New: ICE in gfc_typenode_for_spec, at fortran/trans-types.c:1066 janus at gcc dot gnu.org
  2012-09-27 21:21 ` [Bug fortran/54730] " dominiq at lps dot ens.fr
  2012-09-27 21:43 ` dominiq at lps dot ens.fr
@ 2012-09-28 10:07 ` burnus at gcc dot gnu.org
  2012-09-28 10:23 ` [Bug fortran/54730] [4.6/4.7/4.8 Regression] " dominiq at lps dot ens.fr
                   ` (12 subsequent siblings)
  15 siblings, 0 replies; 17+ messages in thread
From: burnus at gcc dot gnu.org @ 2012-09-28 10:07 UTC (permalink / raw)
  To: gcc-bugs


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

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

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

--- Comment #3 from Tobias Burnus <burnus at gcc dot gnu.org> 2012-09-28 10:07:41 UTC ---
That seems to be a regression: No ICE with 4.1 and 4.3, while there is an ICE
with 4.4/4.5/4.6/4.7/4.8 (interestingly, g95 also ICEs).


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

* [Bug fortran/54730] [4.6/4.7/4.8 Regression] ICE in gfc_typenode_for_spec, at fortran/trans-types.c:1066
  2012-09-27 21:17 [Bug fortran/54730] New: ICE in gfc_typenode_for_spec, at fortran/trans-types.c:1066 janus at gcc dot gnu.org
                   ` (2 preceding siblings ...)
  2012-09-28 10:07 ` burnus at gcc dot gnu.org
@ 2012-09-28 10:23 ` dominiq at lps dot ens.fr
  2012-09-28 13:11 ` janus at gcc dot gnu.org
                   ` (11 subsequent siblings)
  15 siblings, 0 replies; 17+ messages in thread
From: dominiq at lps dot ens.fr @ 2012-09-28 10:23 UTC (permalink / raw)
  To: gcc-bugs


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

Dominique d'Humieres <dominiq at lps dot ens.fr> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
            Summary|ICE in                      |[4.6/4.7/4.8 Regression]
                   |gfc_typenode_for_spec, at   |ICE in
                   |fortran/trans-types.c:1066  |gfc_typenode_for_spec, at
                   |                            |fortran/trans-types.c:1066

--- Comment #4 from Dominique d'Humieres <dominiq at lps dot ens.fr> 2012-09-28 10:23:35 UTC ---
> That seems to be a regression: No ICE with 4.1 and 4.3 ...

Confirmed for 4.2.4 and 4.3.4 on powerpc-apple-darwin9, so marking as a
4.6/4.7/4.8 regression (4.5 and 4.6 being no longer supported).


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

* [Bug fortran/54730] [4.6/4.7/4.8 Regression] ICE in gfc_typenode_for_spec, at fortran/trans-types.c:1066
  2012-09-27 21:17 [Bug fortran/54730] New: ICE in gfc_typenode_for_spec, at fortran/trans-types.c:1066 janus at gcc dot gnu.org
                   ` (3 preceding siblings ...)
  2012-09-28 10:23 ` [Bug fortran/54730] [4.6/4.7/4.8 Regression] " dominiq at lps dot ens.fr
@ 2012-09-28 13:11 ` janus at gcc dot gnu.org
  2012-10-21 19:23 ` tkoenig at gcc dot gnu.org
                   ` (10 subsequent siblings)
  15 siblings, 0 replies; 17+ messages in thread
From: janus at gcc dot gnu.org @ 2012-09-28 13:11 UTC (permalink / raw)
  To: gcc-bugs


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

--- Comment #5 from janus at gcc dot gnu.org 2012-09-28 13:11:16 UTC ---
Note that the error goes away when replacing the generic intrinsic REAL by a
specific one, e.g. FLOAT:

  implicit none
  intrinsic :: float
  real :: vec(1:2)
  vec = (/ float(a = 1), 1. /)
end


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

* [Bug fortran/54730] [4.6/4.7/4.8 Regression] ICE in gfc_typenode_for_spec, at fortran/trans-types.c:1066
  2012-09-27 21:17 [Bug fortran/54730] New: ICE in gfc_typenode_for_spec, at fortran/trans-types.c:1066 janus at gcc dot gnu.org
                   ` (4 preceding siblings ...)
  2012-09-28 13:11 ` janus at gcc dot gnu.org
@ 2012-10-21 19:23 ` tkoenig at gcc dot gnu.org
  2012-11-25 15:58 ` rguenth at gcc dot gnu.org
                   ` (9 subsequent siblings)
  15 siblings, 0 replies; 17+ messages in thread
From: tkoenig at gcc dot gnu.org @ 2012-10-21 19:23 UTC (permalink / raw)
  To: gcc-bugs


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

Thomas Koenig <tkoenig at gcc dot gnu.org> changed:

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

--- Comment #6 from Thomas Koenig <tkoenig at gcc dot gnu.org> 2012-10-21 19:23:39 UTC ---
Even shorter test case:

program main
  implicit none
  intrinsic :: real
  print *,(/ real(a = 1) /)
end

The problem appears to be that we try to build a backend decl
for a, which doesn't really make a lot of sense.  We do fine
without one for the

program main
  implicit none
  intrinsic :: real
  print *,(/ real(1) /)
end

case.


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

* [Bug fortran/54730] [4.6/4.7/4.8 Regression] ICE in gfc_typenode_for_spec, at fortran/trans-types.c:1066
  2012-09-27 21:17 [Bug fortran/54730] New: ICE in gfc_typenode_for_spec, at fortran/trans-types.c:1066 janus at gcc dot gnu.org
                   ` (5 preceding siblings ...)
  2012-10-21 19:23 ` tkoenig at gcc dot gnu.org
@ 2012-11-25 15:58 ` rguenth at gcc dot gnu.org
  2012-12-03 15:44 ` rguenth at gcc dot gnu.org
                   ` (8 subsequent siblings)
  15 siblings, 0 replies; 17+ messages in thread
From: rguenth at gcc dot gnu.org @ 2012-11-25 15:58 UTC (permalink / raw)
  To: gcc-bugs


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

Richard Biener <rguenth at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
   Target Milestone|---                         |4.6.4


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

* [Bug fortran/54730] [4.6/4.7/4.8 Regression] ICE in gfc_typenode_for_spec, at fortran/trans-types.c:1066
  2012-09-27 21:17 [Bug fortran/54730] New: ICE in gfc_typenode_for_spec, at fortran/trans-types.c:1066 janus at gcc dot gnu.org
                   ` (6 preceding siblings ...)
  2012-11-25 15:58 ` rguenth at gcc dot gnu.org
@ 2012-12-03 15:44 ` rguenth at gcc dot gnu.org
  2013-01-14 22:24 ` mikael at gcc dot gnu.org
                   ` (7 subsequent siblings)
  15 siblings, 0 replies; 17+ messages in thread
From: rguenth at gcc dot gnu.org @ 2012-12-03 15:44 UTC (permalink / raw)
  To: gcc-bugs


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

Richard Biener <rguenth at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Priority|P3                          |P4


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

* [Bug fortran/54730] [4.6/4.7/4.8 Regression] ICE in gfc_typenode_for_spec, at fortran/trans-types.c:1066
  2012-09-27 21:17 [Bug fortran/54730] New: ICE in gfc_typenode_for_spec, at fortran/trans-types.c:1066 janus at gcc dot gnu.org
                   ` (7 preceding siblings ...)
  2012-12-03 15:44 ` rguenth at gcc dot gnu.org
@ 2013-01-14 22:24 ` mikael at gcc dot gnu.org
  2013-01-20 17:47 ` mikael at gcc dot gnu.org
                   ` (6 subsequent siblings)
  15 siblings, 0 replies; 17+ messages in thread
From: mikael at gcc dot gnu.org @ 2013-01-14 22:24 UTC (permalink / raw)
  To: gcc-bugs


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

Mikael Morin <mikael at gcc dot gnu.org> changed:

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

--- Comment #7 from Mikael Morin <mikael at gcc dot gnu.org> 2013-01-14 22:23:20 UTC ---
Untested patch:

diff --git a/array.c b/array.c
index 6787c05..54fe337 100644
--- a/array.c
+++ b/array.c
@@ -1074,7 +1074,10 @@ gfc_match_array_constructor (gfc_expr **result)

   /* Try to match an optional "type-spec ::"  */
   gfc_clear_ts (&ts);
-  if (gfc_match_decl_type_spec (&ts, 0) == MATCH_YES)
+  m = gfc_match_decl_type_spec (&ts, 0);
+  if (m != MATCH_YES) 
+    goto cleanup;
+  else
     {
       seen_ts = (gfc_match (" ::") == MATCH_YES);


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

* [Bug fortran/54730] [4.6/4.7/4.8 Regression] ICE in gfc_typenode_for_spec, at fortran/trans-types.c:1066
  2012-09-27 21:17 [Bug fortran/54730] New: ICE in gfc_typenode_for_spec, at fortran/trans-types.c:1066 janus at gcc dot gnu.org
                   ` (8 preceding siblings ...)
  2013-01-14 22:24 ` mikael at gcc dot gnu.org
@ 2013-01-20 17:47 ` mikael at gcc dot gnu.org
  2013-02-08 15:46 ` mikael at gcc dot gnu.org
                   ` (5 subsequent siblings)
  15 siblings, 0 replies; 17+ messages in thread
From: mikael at gcc dot gnu.org @ 2013-01-20 17:47 UTC (permalink / raw)
  To: gcc-bugs


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

--- Comment #8 from Mikael Morin <mikael at gcc dot gnu.org> 2013-01-20 17:47:34 UTC ---
(In reply to comment #7)
> Untested patch:
> 
Probably better (still not fully correct):

diff --git a/array.c b/array.c
index 6787c05..1641629 100644
--- a/array.c
+++ b/array.c
@@ -1074,7 +1074,8 @@ gfc_match_array_constructor (gfc_expr **result)

   /* Try to match an optional "type-spec ::"  */
   gfc_clear_ts (&ts);
-  if (gfc_match_decl_type_spec (&ts, 0) == MATCH_YES)
+  m = gfc_match_decl_type_spec (&ts, 0);
+  if (m == MATCH_YES)
     {
       seen_ts = (gfc_match (" ::") == MATCH_YES);

@@ -1092,6 +1093,8 @@ gfc_match_array_constructor (gfc_expr **result)
         }
     }
     }
+  else if (m == MATCH_ERROR) 
+    gfc_undo_symbols ();

   if (! seen_ts)
     gfc_current_locus = where;


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

* [Bug fortran/54730] [4.6/4.7/4.8 Regression] ICE in gfc_typenode_for_spec, at fortran/trans-types.c:1066
  2012-09-27 21:17 [Bug fortran/54730] New: ICE in gfc_typenode_for_spec, at fortran/trans-types.c:1066 janus at gcc dot gnu.org
                   ` (9 preceding siblings ...)
  2013-01-20 17:47 ` mikael at gcc dot gnu.org
@ 2013-02-08 15:46 ` mikael at gcc dot gnu.org
  2013-02-12 18:34 ` mikael at gcc dot gnu.org
                   ` (4 subsequent siblings)
  15 siblings, 0 replies; 17+ messages in thread
From: mikael at gcc dot gnu.org @ 2013-02-08 15:46 UTC (permalink / raw)
  To: gcc-bugs


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

Mikael Morin <mikael at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |ASSIGNED
         AssignedTo|unassigned at gcc dot       |mikael at gcc dot gnu.org
                   |gnu.org                     |

--- Comment #9 from Mikael Morin <mikael at gcc dot gnu.org> 2013-02-08 15:46:00 UTC ---
I'm on it.


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

* [Bug fortran/54730] [4.6/4.7/4.8 Regression] ICE in gfc_typenode_for_spec, at fortran/trans-types.c:1066
  2012-09-27 21:17 [Bug fortran/54730] New: ICE in gfc_typenode_for_spec, at fortran/trans-types.c:1066 janus at gcc dot gnu.org
                   ` (10 preceding siblings ...)
  2013-02-08 15:46 ` mikael at gcc dot gnu.org
@ 2013-02-12 18:34 ` mikael at gcc dot gnu.org
  2013-02-13 15:04 ` mikael at gcc dot gnu.org
                   ` (3 subsequent siblings)
  15 siblings, 0 replies; 17+ messages in thread
From: mikael at gcc dot gnu.org @ 2013-02-12 18:34 UTC (permalink / raw)
  To: gcc-bugs


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

--- Comment #10 from Mikael Morin <mikael at gcc dot gnu.org> 2013-02-12 18:33:50 UTC ---
Created attachment 29428
  --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=29428
Fairly complete (untested) fix

This patch implements a partial undo framework, in other words multiple level
undo.  This is necessary because the typespec in the array constructor is
optional: if some symbols are created during the typespec match, but the match
fails in the end, they have to be removed before parsing the array constructor
contents.  If we don't do so and the match without typespec succeeds, the extra
(possibly incomplete) symbols are committed to the namespace and may lead to
unexpected side effects later.

Using linked lists through the in-symbol tlink pointer to remember the changed
symbols was making it difficult to handle multiple versions of a symbol, so
this patch moves the list of changed symbols to the new vec API (which makes it
more difficult to backport).


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

* [Bug fortran/54730] [4.6/4.7/4.8 Regression] ICE in gfc_typenode_for_spec, at fortran/trans-types.c:1066
  2012-09-27 21:17 [Bug fortran/54730] New: ICE in gfc_typenode_for_spec, at fortran/trans-types.c:1066 janus at gcc dot gnu.org
                   ` (11 preceding siblings ...)
  2013-02-12 18:34 ` mikael at gcc dot gnu.org
@ 2013-02-13 15:04 ` mikael at gcc dot gnu.org
  2013-03-03 17:35 ` mikael at gcc dot gnu.org
                   ` (2 subsequent siblings)
  15 siblings, 0 replies; 17+ messages in thread
From: mikael at gcc dot gnu.org @ 2013-02-13 15:04 UTC (permalink / raw)
  To: gcc-bugs


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

Mikael Morin <mikael at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
  Attachment #29428|0                           |1
        is obsolete|                            |

--- Comment #11 from Mikael Morin <mikael at gcc dot gnu.org> 2013-02-13 15:03:41 UTC ---
Created attachment 29439
  --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=29439
Fix that doesn't regress on norm2_3 and widechar_5


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

* [Bug fortran/54730] [4.6/4.7/4.8 Regression] ICE in gfc_typenode_for_spec, at fortran/trans-types.c:1066
  2012-09-27 21:17 [Bug fortran/54730] New: ICE in gfc_typenode_for_spec, at fortran/trans-types.c:1066 janus at gcc dot gnu.org
                   ` (12 preceding siblings ...)
  2013-02-13 15:04 ` mikael at gcc dot gnu.org
@ 2013-03-03 17:35 ` mikael at gcc dot gnu.org
  2013-03-03 17:52 ` mikael at gcc dot gnu.org
  2013-03-03 18:13 ` [Bug fortran/54730] [4.6/4.7 " mikael at gcc dot gnu.org
  15 siblings, 0 replies; 17+ messages in thread
From: mikael at gcc dot gnu.org @ 2013-03-03 17:35 UTC (permalink / raw)
  To: gcc-bugs


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

--- Comment #12 from Mikael Morin <mikael at gcc dot gnu.org> 2013-03-03 17:34:48 UTC ---
Author: mikael
Date: Sun Mar  3 17:34:42 2013
New Revision: 196414

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=196414
Log:
fortran/
    PR fortran/54730
    * gfortran.h (struct gfc_undo_change_set): New field 'previous'.
    (gfc_new_undo_checkpoint, gfc_drop_last_undo_checkpoint,
    gfc_restore_last_undo_checkpoint): New prototypes.
    * symbol.c (default_undo_chgset_var): Update initialization.
    (single_undo_checkpoint_p, gfc_new_undo_checkpoint,
    free_undo_change_set_data, pop_undo_change_set,
    gfc_drop_last_undo_checkpoint, enforce_single_undo_checkpoint):
    New functions.
    (save_symbol_data): Handle multiple change sets.  Make sure old_symbol
    field's previous value is not overwritten.  Clear gfc_new field.
    (restore_old_symbol): Restore previous old_symbol field.
    (gfc_restore_last_undo_checkpoint): New function, using body renamed
    from gfc_undo_symbols.  Restore the previous change set as current one.
    (gfc_undo_symbols): New body.
    (gfc_commit_symbols, gfc_commit_symbol, gfc_enforce_clean_symbol_state):
    Call enforce_single_undo_checkpoint.
    (gfc_symbol_done_2): Ditto.  Free change set data.


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


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

* [Bug fortran/54730] [4.6/4.7/4.8 Regression] ICE in gfc_typenode_for_spec, at fortran/trans-types.c:1066
  2012-09-27 21:17 [Bug fortran/54730] New: ICE in gfc_typenode_for_spec, at fortran/trans-types.c:1066 janus at gcc dot gnu.org
                   ` (13 preceding siblings ...)
  2013-03-03 17:35 ` mikael at gcc dot gnu.org
@ 2013-03-03 17:52 ` mikael at gcc dot gnu.org
  2013-03-03 18:13 ` [Bug fortran/54730] [4.6/4.7 " mikael at gcc dot gnu.org
  15 siblings, 0 replies; 17+ messages in thread
From: mikael at gcc dot gnu.org @ 2013-03-03 17:52 UTC (permalink / raw)
  To: gcc-bugs


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

--- Comment #13 from Mikael Morin <mikael at gcc dot gnu.org> 2013-03-03 17:52:10 UTC ---
Author: mikael
Date: Sun Mar  3 17:52:02 2013
New Revision: 196416

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=196416
Log:
fortran/
    PR fortran/54730
    * array.c (gfc_match_array_constructor): Set a checkpoint before
    matching a typespec.  Drop it on success, restore it otherwise.

testsuite/
    PR fortran/54730
    * gfortran.dg/array_constructor_42.f90: New test.


Added:
    trunk/gcc/testsuite/gfortran.dg/array_constructor_42.f90
Modified:
    trunk/gcc/fortran/ChangeLog
    trunk/gcc/fortran/array.c
    trunk/gcc/testsuite/ChangeLog


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

* [Bug fortran/54730] [4.6/4.7 Regression] ICE in gfc_typenode_for_spec, at fortran/trans-types.c:1066
  2012-09-27 21:17 [Bug fortran/54730] New: ICE in gfc_typenode_for_spec, at fortran/trans-types.c:1066 janus at gcc dot gnu.org
                   ` (14 preceding siblings ...)
  2013-03-03 17:52 ` mikael at gcc dot gnu.org
@ 2013-03-03 18:13 ` mikael at gcc dot gnu.org
  15 siblings, 0 replies; 17+ messages in thread
From: mikael at gcc dot gnu.org @ 2013-03-03 18:13 UTC (permalink / raw)
  To: gcc-bugs


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

Mikael Morin <mikael at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|ASSIGNED                    |RESOLVED
         Resolution|                            |FIXED
   Target Milestone|4.6.4                       |4.8.0
            Summary|[4.6/4.7/4.8 Regression]    |[4.6/4.7 Regression] ICE in
                   |ICE in                      |gfc_typenode_for_spec, at
                   |gfc_typenode_for_spec, at   |fortran/trans-types.c:1066
                   |fortran/trans-types.c:1066  |

--- Comment #14 from Mikael Morin <mikael at gcc dot gnu.org> 2013-03-03 18:13:28 UTC ---
Fixed for 4.8.0.
No backport, as the fix uses the vec API, which has been rewritten (using C++
features).


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

end of thread, other threads:[~2013-03-03 18:13 UTC | newest]

Thread overview: 17+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2012-09-27 21:17 [Bug fortran/54730] New: ICE in gfc_typenode_for_spec, at fortran/trans-types.c:1066 janus at gcc dot gnu.org
2012-09-27 21:21 ` [Bug fortran/54730] " dominiq at lps dot ens.fr
2012-09-27 21:43 ` dominiq at lps dot ens.fr
2012-09-28 10:07 ` burnus at gcc dot gnu.org
2012-09-28 10:23 ` [Bug fortran/54730] [4.6/4.7/4.8 Regression] " dominiq at lps dot ens.fr
2012-09-28 13:11 ` janus at gcc dot gnu.org
2012-10-21 19:23 ` tkoenig at gcc dot gnu.org
2012-11-25 15:58 ` rguenth at gcc dot gnu.org
2012-12-03 15:44 ` rguenth at gcc dot gnu.org
2013-01-14 22:24 ` mikael at gcc dot gnu.org
2013-01-20 17:47 ` mikael at gcc dot gnu.org
2013-02-08 15:46 ` mikael at gcc dot gnu.org
2013-02-12 18:34 ` mikael at gcc dot gnu.org
2013-02-13 15:04 ` mikael at gcc dot gnu.org
2013-03-03 17:35 ` mikael at gcc dot gnu.org
2013-03-03 17:52 ` mikael at gcc dot gnu.org
2013-03-03 18:13 ` [Bug fortran/54730] [4.6/4.7 " mikael 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).