Subject: Re: Comments on comprehensive test

From: Zheng Gengbing <[email-masked]>
Date: Fri, 3 May 1996 17:04:53 +0800 (EAT)

On Thu, 2 May 1996, Guansong Zhang wrote:

> 
> >
> > ! Lxy2 CHARACTER (KIND = 1), POINTER :: obj16 (:) * 2, obj17 * 2
> >
> >        This error is  caused by the modify_type_len() added by PKU.
> >
> 
> Please notice this, if PKU decide they still need the old form, let's consider
> this as limitation of declaration for the moment.
> 

	This core dump is because Zheng Qian add STAR_LIST , I have said this
will cause some unknown troubles in hpf2dep , hpfcc . Can we deal this in 
another way ?

> >
> > !Lxy6  var105 => fun12 ()
> >
> >        In pointer_assignment target is variable or expr.Need I add the
> >        this form?
> 
> This again is also something new to me, I asked the developer of the test
> suite, his answer is yes. He pointed out fun12 is a function with pointer as
> return type, (defined on line 644). Besids compiler on IBM parse this. So I
> think this should be added if it cause no conflicts.
>

	In fact HIT have already implemented this . It is the func12() that
cause the error . HIT do not support empty dummy function refrence.
Try  func12(3) , it will pass .

> 
> >
> > !Lxy 7  1190 END DO doc1
> > !Lxy 8  1200 END DO
> > !Lxy 9  1210 END DO doc2
> >
> >         This is becuse the label_do doesn't permit "label enddo".
> 
> We can consider this as a limitation for the moment.
> 
> Here I will say a little more about my yesterday's changing method.
> 
> test1.f90:1190 continue  !zgs  1190 END DO doc1
> test1.f90:1200 continue  !zgs  1200 END DO
> test1.f90:1210 continue !zgs   1210 END DO doc2
> 
> This indicated I use continue to substitute ENDDO, but when I use compiler on
> IBM to compile this program again, I find a mistake. Do construct with name
> (not label) must be ended with ENDDO. So the 1st and 3rd change of the above is
> not enough, it also neet to delete the name the do. The following is the new
> changing methods concerned with this:
> 
> % grep zgs test1.f90
> ...
> test1.f90:doc1 : DO var121 = 1, 3, 2 !zgs  doc1 : DO 1190, var121 = 1, 3, 2
> test1.f90:END DO doc1    !zgs  1190 END DO doc1
> test1.f90:1200 continue  !zgs  1200 END DO
> test1.f90:  doc2 : DO ! zgs 1210
> test1.f90:END DO doc2   !zgs   1210 END DO doc2
> ...
> 
> PKU may notice this problem, I got the following comments today,
> 
> > 	3.  Fatal error :
> > 	     Since enddo cannot allowed in do construct ,
> > 		nonblock do construct can not be passed. that's because
> > 		the do_term_action_stmt cannot be continue stmt.
> >                 such as:
> >                 do 10 , i=1,49
> >                  do 10, j=1,50
> >
> >                 10 enddo          // cannot be continue stmt .
> 
> But I don't think here is a good example, in fact the following program
> 
>         program a
>         do 10 , i=1,49
>         do 10 , j=1,49
> 10      continue
>         end
> 
> can be passed by both IBM compiler and our frontend (both 1.34 and 1.38).
> 

	In my book , there is a explicit forbidden use of continue stmt in
do_term_action_stmt . (R829)

***************************************************************************
*     Zheng Gengbin                 *                                     *
*                                   *                                     *
*  Dept. of Computer Science        *  Phone:  86-10-2585088              *
*         & Technology              *  Email:                             *
*                                   *      [email-masked]   *
*  Peking University P.R.China      *  Mail:                              *
*                                   *      Room 1077 ,Building 47,        *
*                                   *      Peking University, P.R.China   *
***************************************************************************

---

From: Zheng Gengbing <[email-masked]>
Date: Fri, 3 May 1996 17:19:35 +0800 (EAT)

> this as limitation of declaration for the moment.

	It's ok now .