public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug fortran/35584]  New: invalid warning: branch causes infinite loop
@ 2008-03-14 16:03 dfranke at gcc dot gnu dot org
  2008-03-14 16:05 ` [Bug fortran/35584] " dfranke at gcc dot gnu dot org
                   ` (5 more replies)
  0 siblings, 6 replies; 7+ messages in thread
From: dfranke at gcc dot gnu dot org @ 2008-03-14 16:03 UTC (permalink / raw)
  To: gcc-bugs

Extracted from a FORTRAN 77 application:

$> cat infloop.f
      open (5, file = 't2.txt')
      do while (.TRUE.)
1       read(5,*,err=1,end=2) i
        write(*,*) i
      enddo

2     close(5)
      end

$> gfortran-svn -g -Wall -W infloop.f
infloop.f:3.72:

1       read(5,*,err=1,end=2) i
                                                                       1
Warning: Branch at (1) causes an infinite loop


This is not exactly true. Consider:

$> cat t2.txt
2
a
3

$> ./a.out t2.txt
           2
           3


-- 
           Summary: invalid warning: branch causes infinite loop
           Product: gcc
           Version: 4.4.0
            Status: UNCONFIRMED
          Keywords: diagnostic
          Severity: normal
          Priority: P3
         Component: fortran
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: dfranke at gcc dot gnu dot org


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


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

* [Bug fortran/35584] invalid warning: branch causes infinite loop
  2008-03-14 16:03 [Bug fortran/35584] New: invalid warning: branch causes infinite loop dfranke at gcc dot gnu dot org
@ 2008-03-14 16:05 ` dfranke at gcc dot gnu dot org
  2008-03-15  0:29 ` dfranke at gcc dot gnu dot org
                   ` (4 subsequent siblings)
  5 siblings, 0 replies; 7+ messages in thread
From: dfranke at gcc dot gnu dot org @ 2008-03-14 16:05 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #1 from dfranke at gcc dot gnu dot org  2008-03-14 16:04 -------
Btw, also note the position of the error marker ...


-- 


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


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

* [Bug fortran/35584] invalid warning: branch causes infinite loop
  2008-03-14 16:03 [Bug fortran/35584] New: invalid warning: branch causes infinite loop dfranke at gcc dot gnu dot org
  2008-03-14 16:05 ` [Bug fortran/35584] " dfranke at gcc dot gnu dot org
@ 2008-03-15  0:29 ` dfranke at gcc dot gnu dot org
  2008-03-15  0:34 ` [Bug fortran/35584] overzealous " dfranke at gcc dot gnu dot org
                   ` (3 subsequent siblings)
  5 siblings, 0 replies; 7+ messages in thread
From: dfranke at gcc dot gnu dot org @ 2008-03-15  0:29 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #2 from dfranke at gcc dot gnu dot org  2008-03-15 00:28 -------
Here an example were the warning is appropriate:

$> cat infloop.f90
      character(3) :: x = "xxx"

1     read(x,FMT="(I1)",err=1) i
      write(*,*) i

      end


-- 


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


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

* [Bug fortran/35584] overzealous warning: branch causes infinite loop
  2008-03-14 16:03 [Bug fortran/35584] New: invalid warning: branch causes infinite loop dfranke at gcc dot gnu dot org
  2008-03-14 16:05 ` [Bug fortran/35584] " dfranke at gcc dot gnu dot org
  2008-03-15  0:29 ` dfranke at gcc dot gnu dot org
@ 2008-03-15  0:34 ` dfranke at gcc dot gnu dot org
  2008-03-15  7:10 ` jvdelisle at gcc dot gnu dot org
                   ` (2 subsequent siblings)
  5 siblings, 0 replies; 7+ messages in thread
From: dfranke at gcc dot gnu dot org @ 2008-03-15  0:34 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #3 from dfranke at gcc dot gnu dot org  2008-03-15 00:33 -------
A less pessimistic warning would do ...

Index: resolve.c
===================================================================
--- resolve.c   (revision 133233)
+++ resolve.c   (working copy)
@@ -5596,7 +5596,7 @@ resolve_branch (gfc_st_label *label, gfc

   if (code->here == label)
     {
-      gfc_warning ("Branch at %L causes an infinite loop", &code->loc);
+      gfc_warning ("Branch at %L may result in an infinite loop", &code->loc);
       return;
     }


-- 

dfranke at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
            Summary|invalid warning: branch     |overzealous warning: branch
                   |causes infinite loop        |causes infinite loop


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


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

* [Bug fortran/35584] overzealous warning: branch causes infinite loop
  2008-03-14 16:03 [Bug fortran/35584] New: invalid warning: branch causes infinite loop dfranke at gcc dot gnu dot org
                   ` (2 preceding siblings ...)
  2008-03-15  0:34 ` [Bug fortran/35584] overzealous " dfranke at gcc dot gnu dot org
@ 2008-03-15  7:10 ` jvdelisle at gcc dot gnu dot org
  2008-03-15 14:30 ` dfranke at gcc dot gnu dot org
  2008-03-15 14:35 ` dfranke at gcc dot gnu dot org
  5 siblings, 0 replies; 7+ messages in thread
From: jvdelisle at gcc dot gnu dot org @ 2008-03-15  7:10 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #4 from jvdelisle at gcc dot gnu dot org  2008-03-15 07:09 -------
Approved to commit new message


-- 


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


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

* [Bug fortran/35584] overzealous warning: branch causes infinite loop
  2008-03-14 16:03 [Bug fortran/35584] New: invalid warning: branch causes infinite loop dfranke at gcc dot gnu dot org
                   ` (3 preceding siblings ...)
  2008-03-15  7:10 ` jvdelisle at gcc dot gnu dot org
@ 2008-03-15 14:30 ` dfranke at gcc dot gnu dot org
  2008-03-15 14:35 ` dfranke at gcc dot gnu dot org
  5 siblings, 0 replies; 7+ messages in thread
From: dfranke at gcc dot gnu dot org @ 2008-03-15 14:30 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #5 from dfranke at gcc dot gnu dot org  2008-03-15 14:29 -------
Subject: Bug 35584

Author: dfranke
Date: Sat Mar 15 14:28:55 2008
New Revision: 133250

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=133250
Log:
2008-03-15  Daniel Franke  <franke.daniel@gmail.com>

        PR fortran/35584
        * resolve.c (resolve_branch): Less strict and pessimistic warning
        message.


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


-- 


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


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

* [Bug fortran/35584] overzealous warning: branch causes infinite loop
  2008-03-14 16:03 [Bug fortran/35584] New: invalid warning: branch causes infinite loop dfranke at gcc dot gnu dot org
                   ` (4 preceding siblings ...)
  2008-03-15 14:30 ` dfranke at gcc dot gnu dot org
@ 2008-03-15 14:35 ` dfranke at gcc dot gnu dot org
  5 siblings, 0 replies; 7+ messages in thread
From: dfranke at gcc dot gnu dot org @ 2008-03-15 14:35 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #6 from dfranke at gcc dot gnu dot org  2008-03-15 14:33 -------
Fixed in trunk, no backport to 4.3. Closing.


-- 

dfranke at gcc dot gnu dot org changed:

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


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


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

end of thread, other threads:[~2008-03-15 14:35 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2008-03-14 16:03 [Bug fortran/35584] New: invalid warning: branch causes infinite loop dfranke at gcc dot gnu dot org
2008-03-14 16:05 ` [Bug fortran/35584] " dfranke at gcc dot gnu dot org
2008-03-15  0:29 ` dfranke at gcc dot gnu dot org
2008-03-15  0:34 ` [Bug fortran/35584] overzealous " dfranke at gcc dot gnu dot org
2008-03-15  7:10 ` jvdelisle at gcc dot gnu dot org
2008-03-15 14:30 ` dfranke at gcc dot gnu dot org
2008-03-15 14:35 ` dfranke 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).