------- Additional Comments From sgk at troutmask dot apl dot washington dot 
edu  2005-01-02 19:10 -------
Here a further reduction of the problem.

This compiles fine

     logical a, b
     a(b) = .true.
     b = .false.
     if (a(b)) b = .true.
     end

The parse tree is

      ASSIGN b .false.
      IF a[[((b))]]
        ASSIGN b .true.
      ENDIF


This causes the ICE.

      logical a, b
      a(b) = .true.
      if (a(.false.)) b = .true.
      end

with the following parse tree

      IF a[[((.false.))]]
        ASSIGN b .true.
      ENDIF

The problem is in gfc_conv_statement_function(), which apparently
can't deal with an actual named constant parameter for its argument.

Unfortunately, I still don't know how to fix this.

-- 


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

Reply via email to