public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug fortran/66724] New: ICE on input/output statements with wrong specifier data
@ 2015-07-01 16:23 gerhard.steinmetz.fortran@t-online.de
  2015-07-06 16:19 ` [Bug fortran/66724] " gerhard.steinmetz.fortran@t-online.de
                   ` (6 more replies)
  0 siblings, 7 replies; 8+ messages in thread
From: gerhard.steinmetz.fortran@t-online.de @ 2015-07-01 16:23 UTC (permalink / raw)
  To: gcc-bugs

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

            Bug ID: 66724
           Summary: ICE on input/output statements with wrong specifier
                    data
           Product: gcc
           Version: 5.1.1
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: fortran
          Assignee: unassigned at gcc dot gnu.org
          Reporter: gerhard.steinmetz.fortran@t-online.de
  Target Milestone: ---

For most input/output statements and for several specifiers
compilation aborts if assigned specifier key is not changeable
(is a constant) and/or is of wrong data type etc.
Several combinations are causing a segfault, some examples :


$ cat z_iostmt_iomsg_1.f90
program p
   backspace (1, iomsg=1)
   close (1, iomsg=1)
   endfile (1, iomsg=1)
   flush (1, iomsg=1)
   inquire (1, iomsg=1)
   open (1, iomsg=1)
   read (1, iomsg=1)
   rewind (1, iomsg=1)
   wait (1, iomsg=1)
   write (1, iomsg=1)
end


$ cat z_open_iomsg.f90
program p
   open (1, iomsg=1)
   open (1, iomsg=1e1)
   open (1, iomsg=1d1)
   open (1, iomsg='no')
   open (1, iomsg='')
   open (1, iomsg=.true.)
   open (1, iomsg=[1])
   open (1, iomsg=[''])
   ! ...
end

# analogous if "open" replaced with some other io-stmt


$ cat z_open_specifier.f90
program p
   open (1, access=.false.)
   open (1, action=.false.)
   open (1, asynchronous=.false.)
   open (1, blank=.false.)
   open (1, decimal=.false.)
   open (1, delim=.false.)
   open (1, encoding=.false.)
   open (1, form=.false.)
   open (1, pad=.false.)
   open (1, position=.false.)
   open (1, round=.false.)
   open (1, sign=.false.)
   open (1, status=.false.)
end

# analogous if "open" replaced with some other io-stmt


$ cat z_write_asynchronous.f90
program p
   write (1, asynchronous=1e1)
   write (1, asynchronous=1d1)
   write (1, asynchronous=.false.)
   write (1, asynchronous=null())
   write (1, asynchronous=[1])
   write (1, asynchronous=[''])
   write (1, asynchronous=['no'])
   ! ...
end

# analogous if "write" replaced with some other io-stmt

# and several more ...


Yields (with gfortran 5.1.1 on SUSE Linux 13.2, 64 bit)
f951: internal compiler error: Segmentation fault


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

* [Bug fortran/66724] ICE on input/output statements with wrong specifier data
  2015-07-01 16:23 [Bug fortran/66724] New: ICE on input/output statements with wrong specifier data gerhard.steinmetz.fortran@t-online.de
@ 2015-07-06 16:19 ` gerhard.steinmetz.fortran@t-online.de
  2015-07-06 16:38 ` dominiq at lps dot ens.fr
                   ` (5 subsequent siblings)
  6 siblings, 0 replies; 8+ messages in thread
From: gerhard.steinmetz.fortran@t-online.de @ 2015-07-06 16:19 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #1 from Gerhard Steinmetz <gerhard.steinmetz.fortran@t-online.de> ---
Longer scheme :

   backspace (1, iomsg=#)
   close (1, iomsg=#)
   close (1, status=#)
   endfile (1, iomsg=#)
   flush (1, iomsg=#)
   inquire (1, iomsg=#)
   open (1, access=#)
   open (1, action=#)
   open (1, asynchronous=#)
   open (1, blank=#)
   open (1, delim=#)
   open (1, decimal=#)
   open (1, encoding=#)
   open (1, form=#)
   open (1, iomsg=#)
   open (1, pad=#)
   open (1, position=#)
   open (1, round=#)
   open (1, sign=#)
   open (1, status=#)
   read (1, asynchronous=#)
   read (1, blank=#)
   read (1, delim=#)
   read (1, decimal=#)
   read (1, iomsg=#)
   read (1, pad=#)
   read (1, round=#)
   read (1, sign=#)
   rewind (1, iomsg=#)
   wait (1, iomsg=#)
   write (1, asynchronous=#)
   write (1, blank=#)
   write (1, delim=#)
   write (1, decimal=#)
   write (1, iomsg=#)
   write (1, pad=#)
   write (1, round=#)
   write (1, sign=#)


Replace placeholder # with another string :
1, 1e1, 1d1, .false., '', 'no', null(),
(1), (1., 0.), [1], [''], ...


Of course, not every combination line/# from above gives an ICE.
For example :
    open (1, access='no')
                        1
Error: ACCESS specifier in OPEN statement at (1) has invalid value 'no'


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

* [Bug fortran/66724] ICE on input/output statements with wrong specifier data
  2015-07-01 16:23 [Bug fortran/66724] New: ICE on input/output statements with wrong specifier data gerhard.steinmetz.fortran@t-online.de
  2015-07-06 16:19 ` [Bug fortran/66724] " gerhard.steinmetz.fortran@t-online.de
@ 2015-07-06 16:38 ` dominiq at lps dot ens.fr
  2015-07-06 17:05 ` kargl at gcc dot gnu.org
                   ` (4 subsequent siblings)
  6 siblings, 0 replies; 8+ messages in thread
From: dominiq at lps dot ens.fr @ 2015-07-06 16:38 UTC (permalink / raw)
  To: gcc-bugs

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

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

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |NEW
   Last reconfirmed|                            |2015-07-06
     Ever confirmed|0                           |1

--- Comment #2 from Dominique d'Humieres <dominiq at lps dot ens.fr> ---
Confirmed from 4.8 up to trunk (6.0).


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

* [Bug fortran/66724] ICE on input/output statements with wrong specifier data
  2015-07-01 16:23 [Bug fortran/66724] New: ICE on input/output statements with wrong specifier data gerhard.steinmetz.fortran@t-online.de
  2015-07-06 16:19 ` [Bug fortran/66724] " gerhard.steinmetz.fortran@t-online.de
  2015-07-06 16:38 ` dominiq at lps dot ens.fr
@ 2015-07-06 17:05 ` kargl at gcc dot gnu.org
  2015-07-06 17:08 ` sgk at troutmask dot apl.washington.edu
                   ` (3 subsequent siblings)
  6 siblings, 0 replies; 8+ messages in thread
From: kargl at gcc dot gnu.org @ 2015-07-06 17:05 UTC (permalink / raw)
  To: gcc-bugs

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

kargl at gcc dot gnu.org changed:

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

--- Comment #3 from kargl at gcc dot gnu.org ---
I beat up you to the punch on most of these.  Everything in 
comment #1 and #2 is caught except

program p
   write (1, asynchronous=[''])
   write (1, asynchronous=['no'])
end


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

* [Bug fortran/66724] ICE on input/output statements with wrong specifier data
  2015-07-01 16:23 [Bug fortran/66724] New: ICE on input/output statements with wrong specifier data gerhard.steinmetz.fortran@t-online.de
                   ` (2 preceding siblings ...)
  2015-07-06 17:05 ` kargl at gcc dot gnu.org
@ 2015-07-06 17:08 ` sgk at troutmask dot apl.washington.edu
  2015-07-17  0:05 ` kargl at gcc dot gnu.org
                   ` (2 subsequent siblings)
  6 siblings, 0 replies; 8+ messages in thread
From: sgk at troutmask dot apl.washington.edu @ 2015-07-06 17:08 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #4 from Steve Kargl <sgk at troutmask dot apl.washington.edu> ---
On Mon, Jul 06, 2015 at 05:05:05PM +0000, kargl at gcc dot gnu.org wrote:
>
> I beat up you to the punch on most of these.  Everything in 
> comment #1 and #2 is caught except
> 
> program p
>    write (1, asynchronous=[''])
>    write (1, asynchronous=['no'])
> end
> 

In particular,

r225415 | kargl | 2015-07-04 08:37:04 -0700 (Sat, 04 Jul 2015) | 12 lines
r225462 | kargl | 2015-07-06 09:33:38 -0700 (Mon, 06 Jul 2015) | 11 lines


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

* [Bug fortran/66724] ICE on input/output statements with wrong specifier data
  2015-07-01 16:23 [Bug fortran/66724] New: ICE on input/output statements with wrong specifier data gerhard.steinmetz.fortran@t-online.de
                   ` (3 preceding siblings ...)
  2015-07-06 17:08 ` sgk at troutmask dot apl.washington.edu
@ 2015-07-17  0:05 ` kargl at gcc dot gnu.org
  2015-07-17  0:32 ` kargl at gcc dot gnu.org
  2015-07-17  0:32 ` kargl at gcc dot gnu.org
  6 siblings, 0 replies; 8+ messages in thread
From: kargl at gcc dot gnu.org @ 2015-07-17  0:05 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #5 from kargl at gcc dot gnu.org ---
Author: kargl
Date: Fri Jul 17 00:05:02 2015
New Revision: 225913

URL: https://gcc.gnu.org/viewcvs?rev=225913&root=gcc&view=rev
Log:
2015-07-16  Steven G. Kargl  <kargl@gcc.gnu.org>

        PR fortran/66724
        PR fortran/66724
        * io.c (is_char_type): Call gfc_resolve_expr ().
        (match_open_element, match_dt_element, match_inquire_element): Fix
        ASYNCHRONOUS case.

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


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

* [Bug fortran/66724] ICE on input/output statements with wrong specifier data
  2015-07-01 16:23 [Bug fortran/66724] New: ICE on input/output statements with wrong specifier data gerhard.steinmetz.fortran@t-online.de
                   ` (4 preceding siblings ...)
  2015-07-17  0:05 ` kargl at gcc dot gnu.org
@ 2015-07-17  0:32 ` kargl at gcc dot gnu.org
  2015-07-17  0:32 ` kargl at gcc dot gnu.org
  6 siblings, 0 replies; 8+ messages in thread
From: kargl at gcc dot gnu.org @ 2015-07-17  0:32 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #6 from kargl at gcc dot gnu.org ---
Author: kargl
Date: Fri Jul 17 00:31:45 2015
New Revision: 225917

URL: https://gcc.gnu.org/viewcvs?rev=225917&root=gcc&view=rev
Log:
2015-07-16  Steven G. Kargl  <kargl@gcc.gnu.org>

        PR fortran/66724
        PR fortran/66725
        * io.c (is_char_type): Call gfc_resolve_expr().
        (match_open_element, match_dt_element, match_inquire_element): Fix
        ASYNCHRONOUS case.


Modified:
    branches/gcc-5-branch/gcc/fortran/ChangeLog
    branches/gcc-5-branch/gcc/fortran/io.c


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

* [Bug fortran/66724] ICE on input/output statements with wrong specifier data
  2015-07-01 16:23 [Bug fortran/66724] New: ICE on input/output statements with wrong specifier data gerhard.steinmetz.fortran@t-online.de
                   ` (5 preceding siblings ...)
  2015-07-17  0:32 ` kargl at gcc dot gnu.org
@ 2015-07-17  0:32 ` kargl at gcc dot gnu.org
  6 siblings, 0 replies; 8+ messages in thread
From: kargl at gcc dot gnu.org @ 2015-07-17  0:32 UTC (permalink / raw)
  To: gcc-bugs

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

kargl at gcc dot gnu.org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |RESOLVED
         Resolution|---                         |FIXED
   Target Milestone|---                         |5.3

--- Comment #7 from kargl at gcc dot gnu.org ---
Shuold be fixed on trunk and 5-branch.  Thanks for report.


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

end of thread, other threads:[~2015-07-17  0:32 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-07-01 16:23 [Bug fortran/66724] New: ICE on input/output statements with wrong specifier data gerhard.steinmetz.fortran@t-online.de
2015-07-06 16:19 ` [Bug fortran/66724] " gerhard.steinmetz.fortran@t-online.de
2015-07-06 16:38 ` dominiq at lps dot ens.fr
2015-07-06 17:05 ` kargl at gcc dot gnu.org
2015-07-06 17:08 ` sgk at troutmask dot apl.washington.edu
2015-07-17  0:05 ` kargl at gcc dot gnu.org
2015-07-17  0:32 ` kargl at gcc dot gnu.org
2015-07-17  0:32 ` kargl 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).