public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug fortran/35840]  New: ICE for character expression in I/O specifier
@ 2008-04-06 13:04 burnus at gcc dot gnu dot org
  2008-04-06 21:03 ` [Bug fortran/35840] " tobi at gcc dot gnu dot org
                   ` (19 more replies)
  0 siblings, 20 replies; 21+ messages in thread
From: burnus at gcc dot gnu dot org @ 2008-04-06 13:04 UTC (permalink / raw)
  To: gcc-bugs

The following gives an ICE:

==18935== Invalid read of size 1
==18935==    at 0x4C25D82: strlen (in
/usr/lib64/valgrind/amd64-linux/vgpreload_memcheck.so)
==18935==    by 0x438ABE: compare_to_allowed_values (io.c:1404)
==18935==    by 0x43A892: match_io (io.c:2883)
==18935==    by 0x451BA9: match_word (parse.c:64)


write(10,*, asynchronous="Y"//"E"//trim("S  "))
end

However, it is a valid initialization expression. I tried the following, but it
did not help. (It still fails at "len = strlen (value)".)


--- io.c        (Revision 133959)
+++ io.c        (Arbeitskopie)
@@ -1389,11 +1389,17 @@ gfc_resolve_open (gfc_open *open)
 static int
 compare_to_allowed_values (const char *specifier, const char *allowed[],
                           const char *allowed_f2003[],
-                          const char *allowed_gnu[], char *value,
+                          const char *allowed_gnu[], gfc_expr *expr,
                           const char *statement, bool warn)
 {
   int i;
   unsigned int len;
+  const char *value;
+
+  if (gfc_simplify_expr (expr, 0) == 0)
+    return 1;
+
+  value = expr->value.character.string;

   len = strlen (value);
   if (len > 0)


-- 
           Summary: ICE for character expression in I/O specifier
           Product: gcc
           Version: 4.4.0
            Status: UNCONFIRMED
          Keywords: ice-on-valid-code
          Severity: normal
          Priority: P3
         Component: fortran
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: burnus at gcc dot gnu dot org


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


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

* [Bug fortran/35840] ICE for character expression in I/O specifier
  2008-04-06 13:04 [Bug fortran/35840] New: ICE for character expression in I/O specifier burnus at gcc dot gnu dot org
@ 2008-04-06 21:03 ` tobi at gcc dot gnu dot org
  2008-08-08 21:32 ` jv244 at cam dot ac dot uk
                   ` (18 subsequent siblings)
  19 siblings, 0 replies; 21+ messages in thread
From: tobi at gcc dot gnu dot org @ 2008-04-06 21:03 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #1 from tobi at gcc dot gnu dot org  2008-04-06 21:03 -------
I'm on it.


-- 

tobi at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
         AssignedTo|unassigned at gcc dot gnu   |tobi at gcc dot gnu dot org
                   |dot org                     |
             Status|UNCONFIRMED                 |ASSIGNED
     Ever Confirmed|0                           |1
   Last reconfirmed|0000-00-00 00:00:00         |2008-04-06 21:03:01
               date|                            |


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


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

* [Bug fortran/35840] ICE for character expression in I/O specifier
  2008-04-06 13:04 [Bug fortran/35840] New: ICE for character expression in I/O specifier burnus at gcc dot gnu dot org
  2008-04-06 21:03 ` [Bug fortran/35840] " tobi at gcc dot gnu dot org
@ 2008-08-08 21:32 ` jv244 at cam dot ac dot uk
  2008-08-17 12:44 ` tobi at gcc dot gnu dot org
                   ` (17 subsequent siblings)
  19 siblings, 0 replies; 21+ messages in thread
From: jv244 at cam dot ac dot uk @ 2008-08-08 21:32 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #2 from jv244 at cam dot ac dot uk  2008-08-08 21:31 -------
This turned in a rejects valid ?
pr35840.f90:1.25:

write(10,*, asynchronous="Y"//"E"//trim("S  "))
                        1
Error: ASYNCHRONOUS= specifier at (1) must be an initialization expression


-- 

jv244 at cam dot ac dot uk changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Keywords|ice-on-valid-code           |rejects-valid
      Known to fail|                            |4.4.0


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


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

* [Bug fortran/35840] ICE for character expression in I/O specifier
  2008-04-06 13:04 [Bug fortran/35840] New: ICE for character expression in I/O specifier burnus at gcc dot gnu dot org
  2008-04-06 21:03 ` [Bug fortran/35840] " tobi at gcc dot gnu dot org
  2008-08-08 21:32 ` jv244 at cam dot ac dot uk
@ 2008-08-17 12:44 ` tobi at gcc dot gnu dot org
  2008-09-14 16:43 ` mikael dot morin at tele2 dot fr
                   ` (16 subsequent siblings)
  19 siblings, 0 replies; 21+ messages in thread
From: tobi at gcc dot gnu dot org @ 2008-08-17 12:44 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #3 from tobi at gcc dot gnu dot org  2008-08-17 12:43 -------
I've not had the time to finish this, and now I don't remember the details of
my analysis.  Sorry, unassigning myself.


-- 

tobi at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |tobi at gcc dot gnu dot org
         AssignedTo|tobi at gcc dot gnu dot org |unassigned at gcc dot gnu
                   |                            |dot org
             Status|ASSIGNED                    |NEW


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


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

* [Bug fortran/35840] ICE for character expression in I/O specifier
  2008-04-06 13:04 [Bug fortran/35840] New: ICE for character expression in I/O specifier burnus at gcc dot gnu dot org
                   ` (2 preceding siblings ...)
  2008-08-17 12:44 ` tobi at gcc dot gnu dot org
@ 2008-09-14 16:43 ` mikael dot morin at tele2 dot fr
  2008-09-14 16:53 ` domob at gcc dot gnu dot org
                   ` (15 subsequent siblings)
  19 siblings, 0 replies; 21+ messages in thread
From: mikael dot morin at tele2 dot fr @ 2008-09-14 16:43 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #4 from mikael dot morin at tele2 dot fr  2008-09-14 16:42 -------
Created an attachment (id=16318)
 --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=16318&action=view)
proposed patch

The problem here is that the parser matches a general expression and has to
check later that it is an initialization expression. 
I have taken the code in gfc_match_init_expr and put it in its own function
(gfc_reduce_init_expr) so that checking can be deferred. 
Fixing the bug is then trivial. 
This has just been regression tested. 
Should I send this to the fortran mailing list ?


-- 


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


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

* [Bug fortran/35840] ICE for character expression in I/O specifier
  2008-04-06 13:04 [Bug fortran/35840] New: ICE for character expression in I/O specifier burnus at gcc dot gnu dot org
                   ` (3 preceding siblings ...)
  2008-09-14 16:43 ` mikael dot morin at tele2 dot fr
@ 2008-09-14 16:53 ` domob at gcc dot gnu dot org
  2008-09-14 17:59 ` jvdelisle at gcc dot gnu dot org
                   ` (14 subsequent siblings)
  19 siblings, 0 replies; 21+ messages in thread
From: domob at gcc dot gnu dot org @ 2008-09-14 16:53 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #5 from domob at gcc dot gnu dot org  2008-09-14 16:51 -------
Yes, that's probably the best to get comments/reviews for your patch; if you
think it is already mature, CC gcc-patches@gcc.gnu.org, too.


-- 


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


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

* [Bug fortran/35840] ICE for character expression in I/O specifier
  2008-04-06 13:04 [Bug fortran/35840] New: ICE for character expression in I/O specifier burnus at gcc dot gnu dot org
                   ` (4 preceding siblings ...)
  2008-09-14 16:53 ` domob at gcc dot gnu dot org
@ 2008-09-14 17:59 ` jvdelisle at gcc dot gnu dot org
  2008-09-14 19:03 ` jvdelisle at gcc dot gnu dot org
                   ` (13 subsequent siblings)
  19 siblings, 0 replies; 21+ messages in thread
From: jvdelisle at gcc dot gnu dot org @ 2008-09-14 17:59 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #6 from jvdelisle at gcc dot gnu dot org  2008-09-14 17:58 -------
I see that I did not use RESOLVE_TAG in gfc_resolve_dt.  Doing so resolves the
ICE issue.  Then if we really want to accept this poorly written code, I think
the place to fix it may be in io.c (resolve_tag)

@@ -2481,6 +2483,7 @@ gfc_resolve_dt (gfc_dt *dt)
   RESOLVE_TAG (&tag_e_round, dt->round);
   RESOLVE_TAG (&tag_e_blank, dt->blank);
   RESOLVE_TAG (&tag_e_decimal, dt->decimal);
+  RESOLVE_TAG (&tag_e_async, dt->asynchronous);

   e = dt->io_unit;
   if (gfc_resolve_expr (e) == SUCCESS


-- 


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


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

* [Bug fortran/35840] ICE for character expression in I/O specifier
  2008-04-06 13:04 [Bug fortran/35840] New: ICE for character expression in I/O specifier burnus at gcc dot gnu dot org
                   ` (5 preceding siblings ...)
  2008-09-14 17:59 ` jvdelisle at gcc dot gnu dot org
@ 2008-09-14 19:03 ` jvdelisle at gcc dot gnu dot org
  2008-09-14 21:30 ` jvdelisle at gcc dot gnu dot org
                   ` (12 subsequent siblings)
  19 siblings, 0 replies; 21+ messages in thread
From: jvdelisle at gcc dot gnu dot org @ 2008-09-14 19:03 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #7 from jvdelisle at gcc dot gnu dot org  2008-09-14 19:01 -------
Subject: Bug 35840

Author: jvdelisle
Date: Sun Sep 14 19:00:26 2008
New Revision: 140366

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=140366
Log:
2008-09-14  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
            Tobias Burnus  <burnus@net.b.de>

        PR fortran/35840
        * io.c (match_vtag): Add tag name to error message.
        (match_out_tag): Cleanup whitespace.
        (gfc_resolve_dt): Resolve id and async tags. 

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


-- 


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


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

* [Bug fortran/35840] ICE for character expression in I/O specifier
  2008-04-06 13:04 [Bug fortran/35840] New: ICE for character expression in I/O specifier burnus at gcc dot gnu dot org
                   ` (6 preceding siblings ...)
  2008-09-14 19:03 ` jvdelisle at gcc dot gnu dot org
@ 2008-09-14 21:30 ` jvdelisle at gcc dot gnu dot org
  2008-09-15 12:50 ` mikael dot morin at tele2 dot fr
                   ` (11 subsequent siblings)
  19 siblings, 0 replies; 21+ messages in thread
From: jvdelisle at gcc dot gnu dot org @ 2008-09-14 21:30 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #8 from jvdelisle at gcc dot gnu dot org  2008-09-14 21:29 -------
Patch committed in Comment #7 only eliminates the ICE.  Reduction of the
initialization expression remains.


-- 


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


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

* [Bug fortran/35840] ICE for character expression in I/O specifier
  2008-04-06 13:04 [Bug fortran/35840] New: ICE for character expression in I/O specifier burnus at gcc dot gnu dot org
                   ` (7 preceding siblings ...)
  2008-09-14 21:30 ` jvdelisle at gcc dot gnu dot org
@ 2008-09-15 12:50 ` mikael dot morin at tele2 dot fr
  2008-09-15 13:40 ` jvdelisle at gcc dot gnu dot org
                   ` (10 subsequent siblings)
  19 siblings, 0 replies; 21+ messages in thread
From: mikael dot morin at tele2 dot fr @ 2008-09-15 12:50 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #9 from mikael dot morin at tele2 dot fr  2008-09-15 12:49 -------
(In reply to comment #5)
> if you think it is already mature, CC gcc-patches@gcc.gnu.org, too.
> 
There are already complains about my patch. Obviously it isn't. :(

(In reply to comment #6)
> Doing so resolves the ICE issue.  
Were you still getting an ICE ? (cf comment #2)

> Then if we really want to accept this poorly written code, 
If you think it is poorly written, all apologies. 
In fact, I was rather proud of it. :'(
I'm open to comments to improve it. 

> I think the place to fix it may be in io.c (resolve_tag)
Yes, in io.c, but not in resolve_tag, as it seems that an initialization
expression is not required for asynchronous= in the case of an open statement.
Correct me if I'm wrong. 


-- 


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


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

* [Bug fortran/35840] ICE for character expression in I/O specifier
  2008-04-06 13:04 [Bug fortran/35840] New: ICE for character expression in I/O specifier burnus at gcc dot gnu dot org
                   ` (8 preceding siblings ...)
  2008-09-15 12:50 ` mikael dot morin at tele2 dot fr
@ 2008-09-15 13:40 ` jvdelisle at gcc dot gnu dot org
  2008-09-15 13:50 ` jvdelisle at verizon dot net
                   ` (9 subsequent siblings)
  19 siblings, 0 replies; 21+ messages in thread
From: jvdelisle at gcc dot gnu dot org @ 2008-09-15 13:40 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #10 from jvdelisle at gcc dot gnu dot org  2008-09-15 13:39 -------
Mikael, I was not referring to your code as poorly written.  I was referring to
the Fortran test case in the original posting.  The test case may be valid, but
somewhat ugly.

By all means, your code looks fine!  You have done a great job.  I am
suggesting to see if you can resolve the reduction of the initialization
expression inside gfc_resolve tag.  That way it will apply to all cases of IO
tags. I submitted the partial patch partly to help show you where I was
referring to and partly to get another ICE out of the way while I debug the ABI
breakage on a different PR. 


-- 


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


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

* [Bug fortran/35840] ICE for character expression in I/O specifier
  2008-04-06 13:04 [Bug fortran/35840] New: ICE for character expression in I/O specifier burnus at gcc dot gnu dot org
                   ` (9 preceding siblings ...)
  2008-09-15 13:40 ` jvdelisle at gcc dot gnu dot org
@ 2008-09-15 13:50 ` jvdelisle at verizon dot net
  2008-09-15 14:54 ` dominiq at lps dot ens dot fr
                   ` (8 subsequent siblings)
  19 siblings, 0 replies; 21+ messages in thread
From: jvdelisle at verizon dot net @ 2008-09-15 13:50 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #11 from jvdelisle at verizon dot net  2008-09-15 13:48 -------
Subject: Re:  ICE for character expression in I/O specifier

mikael dot morin at tele2 dot fr wrote:
>
>> I think the place to fix it may be in io.c (resolve_tag)
> Yes, in io.c, but not in resolve_tag, as it seems that an initialization
> expression is not required for asynchronous= in the case of an open statement.
> Correct me if I'm wrong. 
I have not reviewed the standard specifically for this case.  If you have done 
so, then fixing it where you have is OK.  We should review all such tags
against 
the standard to make sure we don't miss any others.  It seems odd to me that 
only asynchronous= has this requirement.


-- 


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


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

* [Bug fortran/35840] ICE for character expression in I/O specifier
  2008-04-06 13:04 [Bug fortran/35840] New: ICE for character expression in I/O specifier burnus at gcc dot gnu dot org
                   ` (10 preceding siblings ...)
  2008-09-15 13:50 ` jvdelisle at verizon dot net
@ 2008-09-15 14:54 ` dominiq at lps dot ens dot fr
  2008-09-15 19:12 ` dominiq at lps dot ens dot fr
                   ` (7 subsequent siblings)
  19 siblings, 0 replies; 21+ messages in thread
From: dominiq at lps dot ens dot fr @ 2008-09-15 14:54 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #12 from dominiq at lps dot ens dot fr  2008-09-15 14:53 -------
I have applied the patch in comment #4 on i686-apple-darwin9 and it worked as
expected and passes my quick tests. I'll regtest later this evening.


-- 


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


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

* [Bug fortran/35840] ICE for character expression in I/O specifier
  2008-04-06 13:04 [Bug fortran/35840] New: ICE for character expression in I/O specifier burnus at gcc dot gnu dot org
                   ` (11 preceding siblings ...)
  2008-09-15 14:54 ` dominiq at lps dot ens dot fr
@ 2008-09-15 19:12 ` dominiq at lps dot ens dot fr
  2008-09-15 19:43 ` mikael dot morin at tele2 dot fr
                   ` (6 subsequent siblings)
  19 siblings, 0 replies; 21+ messages in thread
From: dominiq at lps dot ens dot fr @ 2008-09-15 19:12 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #13 from dominiq at lps dot ens dot fr  2008-09-15 19:10 -------
Testing finished without regression.

Thanks for the patch.


-- 


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


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

* [Bug fortran/35840] ICE for character expression in I/O specifier
  2008-04-06 13:04 [Bug fortran/35840] New: ICE for character expression in I/O specifier burnus at gcc dot gnu dot org
                   ` (12 preceding siblings ...)
  2008-09-15 19:12 ` dominiq at lps dot ens dot fr
@ 2008-09-15 19:43 ` mikael dot morin at tele2 dot fr
  2008-10-11 10:37 ` dominiq at lps dot ens dot fr
                   ` (5 subsequent siblings)
  19 siblings, 0 replies; 21+ messages in thread
From: mikael dot morin at tele2 dot fr @ 2008-09-15 19:43 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #14 from mikael dot morin at tele2 dot fr  2008-09-15 19:42 -------
Sorry Jerry, I didn't read your message (I mean the one to the list with the
patch to io.c) before. 
I have just checked again, the patch does work for me. 
And Dominique agrees with me. :)

(In reply to comment #11)
> We should review all such tags against the standard to make sure we don't 
> miss any others. 
I have just done it. Asynchronous in data transfer statements is the only case
requiring an initialization expression. 

> It seems odd to me that only asynchronous= has this requirement.
> 
to me too. 

Note 9.29:
[...]
The ASYNCHRONOUS= specifier value in a data transfer statement is an
initialization expression because it effects compiler optimizations and,
therefore, needs to be known at compile time.


-- 


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


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

* [Bug fortran/35840] ICE for character expression in I/O specifier
  2008-04-06 13:04 [Bug fortran/35840] New: ICE for character expression in I/O specifier burnus at gcc dot gnu dot org
                   ` (13 preceding siblings ...)
  2008-09-15 19:43 ` mikael dot morin at tele2 dot fr
@ 2008-10-11 10:37 ` dominiq at lps dot ens dot fr
  2008-10-11 15:33 ` jvdelisle at gcc dot gnu dot org
                   ` (4 subsequent siblings)
  19 siblings, 0 replies; 21+ messages in thread
From: dominiq at lps dot ens dot fr @ 2008-10-11 10:37 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #15 from dominiq at lps dot ens dot fr  2008-10-11 10:35 -------
Ping!


-- 


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


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

* [Bug fortran/35840] ICE for character expression in I/O specifier
  2008-04-06 13:04 [Bug fortran/35840] New: ICE for character expression in I/O specifier burnus at gcc dot gnu dot org
                   ` (14 preceding siblings ...)
  2008-10-11 10:37 ` dominiq at lps dot ens dot fr
@ 2008-10-11 15:33 ` jvdelisle at gcc dot gnu dot org
  2008-10-12 11:48 ` mikael dot morin at tele2 dot fr
                   ` (3 subsequent siblings)
  19 siblings, 0 replies; 21+ messages in thread
From: jvdelisle at gcc dot gnu dot org @ 2008-10-11 15:33 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #16 from jvdelisle at gcc dot gnu dot org  2008-10-11 15:32 -------
I will see if I can finalize this patch. Mikael, are you still with us? Your
approach was fine.


-- 

jvdelisle at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
         AssignedTo|unassigned at gcc dot gnu   |jvdelisle at gcc dot gnu dot
                   |dot org                     |org
             Status|NEW                         |ASSIGNED
   Last reconfirmed|2008-04-06 21:03:01         |2008-10-11 15:32:03
               date|                            |


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


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

* [Bug fortran/35840] ICE for character expression in I/O specifier
  2008-04-06 13:04 [Bug fortran/35840] New: ICE for character expression in I/O specifier burnus at gcc dot gnu dot org
                   ` (15 preceding siblings ...)
  2008-10-11 15:33 ` jvdelisle at gcc dot gnu dot org
@ 2008-10-12 11:48 ` mikael dot morin at tele2 dot fr
  2008-10-28 14:10 ` mikael dot morin at tele2 dot fr
                   ` (2 subsequent siblings)
  19 siblings, 0 replies; 21+ messages in thread
From: mikael dot morin at tele2 dot fr @ 2008-10-12 11:48 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #17 from mikael dot morin at tele2 dot fr  2008-10-12 11:47 -------
(In reply to comment #16)
> Mikael, are you still with us? Your approach was fine.
> 
Yep, I'm not dead yet. 
I was waiting for my copyright assignment form. 
Now it's on the way back, I will post to gcc-patches soon. 


-- 


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


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

* [Bug fortran/35840] ICE for character expression in I/O specifier
  2008-04-06 13:04 [Bug fortran/35840] New: ICE for character expression in I/O specifier burnus at gcc dot gnu dot org
                   ` (16 preceding siblings ...)
  2008-10-12 11:48 ` mikael dot morin at tele2 dot fr
@ 2008-10-28 14:10 ` mikael dot morin at tele2 dot fr
  2008-10-31 15:59 ` mikael at gcc dot gnu dot org
  2008-11-01 15:15 ` jvdelisle at gcc dot gnu dot org
  19 siblings, 0 replies; 21+ messages in thread
From: mikael dot morin at tele2 dot fr @ 2008-10-28 14:10 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #18 from mikael dot morin at tele2 dot fr  2008-10-28 14:08 -------
The final patch is here:
http://gcc.gnu.org/ml/fortran/2008-10/msg00104.html


-- 


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


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

* [Bug fortran/35840] ICE for character expression in I/O specifier
  2008-04-06 13:04 [Bug fortran/35840] New: ICE for character expression in I/O specifier burnus at gcc dot gnu dot org
                   ` (17 preceding siblings ...)
  2008-10-28 14:10 ` mikael dot morin at tele2 dot fr
@ 2008-10-31 15:59 ` mikael at gcc dot gnu dot org
  2008-11-01 15:15 ` jvdelisle at gcc dot gnu dot org
  19 siblings, 0 replies; 21+ messages in thread
From: mikael at gcc dot gnu dot org @ 2008-10-31 15:59 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #19 from mikael at gcc dot gnu dot org  2008-10-31 15:57 -------
Subject: Bug 35840

Author: mikael
Date: Fri Oct 31 15:56:21 2008
New Revision: 141497

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=141497
Log:

2008-10-31  Mikael Morin  <mikael.morin@tele2.fr>

        PR fortran/35840
        * expr.c (gfc_reduce_init_expr): New function, containing checking code
        from gfc_match_init_expr, so that checking can be deferred. 
        (gfc_match_init_expr): Use gfc_reduce_init_expr.
        * io.c (check_io_constraints): Use gfc_reduce_init_expr instead of 
        checking that the expression is a constant. 
        * match.h (gfc_reduce_init_expr): Prototype added. 

2008-10-31  Mikael Morin  <mikael.morin@tele2.fr>

        PR fortran/35840
        * gfortran.dg/write_check4.f90: New test.


Added:
    trunk/gcc/testsuite/gfortran.dg/write_check4.f90
Modified:
    trunk/gcc/fortran/ChangeLog
    trunk/gcc/fortran/expr.c
    trunk/gcc/fortran/io.c
    trunk/gcc/fortran/match.h
    trunk/gcc/testsuite/ChangeLog


-- 


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


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

* [Bug fortran/35840] ICE for character expression in I/O specifier
  2008-04-06 13:04 [Bug fortran/35840] New: ICE for character expression in I/O specifier burnus at gcc dot gnu dot org
                   ` (18 preceding siblings ...)
  2008-10-31 15:59 ` mikael at gcc dot gnu dot org
@ 2008-11-01 15:15 ` jvdelisle at gcc dot gnu dot org
  19 siblings, 0 replies; 21+ messages in thread
From: jvdelisle at gcc dot gnu dot org @ 2008-11-01 15:15 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #20 from jvdelisle at gcc dot gnu dot org  2008-11-01 15:13 -------
Closing, thanks for patch.


-- 

jvdelisle at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|ASSIGNED                    |RESOLVED
         Resolution|                            |FIXED


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


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

end of thread, other threads:[~2008-11-01 15:15 UTC | newest]

Thread overview: 21+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2008-04-06 13:04 [Bug fortran/35840] New: ICE for character expression in I/O specifier burnus at gcc dot gnu dot org
2008-04-06 21:03 ` [Bug fortran/35840] " tobi at gcc dot gnu dot org
2008-08-08 21:32 ` jv244 at cam dot ac dot uk
2008-08-17 12:44 ` tobi at gcc dot gnu dot org
2008-09-14 16:43 ` mikael dot morin at tele2 dot fr
2008-09-14 16:53 ` domob at gcc dot gnu dot org
2008-09-14 17:59 ` jvdelisle at gcc dot gnu dot org
2008-09-14 19:03 ` jvdelisle at gcc dot gnu dot org
2008-09-14 21:30 ` jvdelisle at gcc dot gnu dot org
2008-09-15 12:50 ` mikael dot morin at tele2 dot fr
2008-09-15 13:40 ` jvdelisle at gcc dot gnu dot org
2008-09-15 13:50 ` jvdelisle at verizon dot net
2008-09-15 14:54 ` dominiq at lps dot ens dot fr
2008-09-15 19:12 ` dominiq at lps dot ens dot fr
2008-09-15 19:43 ` mikael dot morin at tele2 dot fr
2008-10-11 10:37 ` dominiq at lps dot ens dot fr
2008-10-11 15:33 ` jvdelisle at gcc dot gnu dot org
2008-10-12 11:48 ` mikael dot morin at tele2 dot fr
2008-10-28 14:10 ` mikael dot morin at tele2 dot fr
2008-10-31 15:59 ` mikael at gcc dot gnu dot org
2008-11-01 15:15 ` jvdelisle at gcc dot gnu dot 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).