ITEM: AW4688L

DBX problem for Toronto Labs




Response:

E: AIX 4.1 and 4.2, DBX, XLF 3.2 or HPF
D: Toronto Labs has submitted a testcase that shows a dbx problem.
   Toronto gave me the following information:

   Below is a testcase that shows a DBX problem. This problem can
be reproduced with the XLF 3.2 compiler as well as HPF.
Please OPEN a Sev 1 APAR against DBX in AIX 4.1 (and 4.2).
Our xlhpf v1.1 (GA's by end of Mar/96) will be without a debug
capability (i.e. pdbx uses dbx) on the SP2 without this fix.
Our latest xlf v3r2 is xlf 3.2.4.2 ptf.
We need the APAR number by Thursday Mar 14/96 to put in the README file.

This is an additional "pointer" problem which I believe is related
to the other(s) that we had Austin fix in the past under IX56185.
See the PAST apar description below (see bottom of this note).
I have included it below so that they can check whether the new fix
will still fix the old apar testcase.
That apar fix should have fixed this new testcase for which we are
requesting an apar.

All of these problems appear to be related to the *storage class* for
the descriptor of the pointer.  If the descriptor is in static storage,
dbx works O.K., if it is on the stack (see PAST apar below) doesn't
work, and if it is a reference parameter (see new apar code below) it
doesn't work.

Again, for this case, 'whatis' displays correct information for
"pdummy", but a 'print' of "pdummy" in dbx is not successful.

N: Create PMR and send to L3LIB for evaluation.

T: ---------------NEW dbx APAR code----------------------------------
Compile with : xlf -g
------------------------------------------------------------------
                program dbxptr

                interface
                  subroutine sam(p)
                  integer, pointer:: p(:)
                  end subroutine
                end interface
                integer, pointer :: p(:)

                allocate(p(4))
                do i = 1,4
                  p(i) = i
                enddo
                print *,p
                call sam(p)
                end

                subroutine sam(pdummy)
                integer, pointer :: pdummy(:)
                pdummy = -1                     ! problem looking at
                print *,pdummy                  ! value of pdummy, line19
               end
!-run dbxptr--
> dbxptr
 1 2 3 4
 -1 -1 -1 -1

!-- dbx session

> /bin/dbx dbxptr
Type 'help' for help.
(/bin/dbx) stop at 19
Y1" stop at "dbxptr.f":19
(/bin/dbx) run
 1 2 3 4Y1" stopped in sam at line 19 in file "dbxptr.f"
   19                   print *,pdummy                  ! value of pdummy
(/bin/dbx) print pdummy
"pdummy" is not active
(/bin/dbx) whatis pdummy
 (dummy argument)  integer*4 pointer pdummy(not associated)
(/bin/dbx) step
 -1 -1 -1 -1
stopped in sam at line 20 in file "dbxptr.f"
   20                  end
(/bin/dbx) quit
--------END ---NEW dbx APAR code----------------------------------



Support Line: DBX problem for Toronto Labs ITEM: AW4688L
Dated: May 1997 Category: N/A
This HTML file was generated 99/06/24~13:30:24
Comments or suggestions? Contact us