Title: | Digital Ladebug debugger |
Moderator: | TLE::LUCIA |
Created: | Fri Feb 28 1992 |
Last Modified: | Fri Jun 06 1997 |
Last Successful Update: | Fri Jun 06 1997 |
Number of topics: | 969 |
Total number of notes: | 3959 |
[Unix v4.0a / f77 v4.1 / ladebug 4.0-27] A customer points out some unexplained behavior when running ladebug on a short f77 program. In his original (lengthy) application is a declaration of an integer array named "int". It apparently doesn't collide with the f77 intrinsic function 'int()' and compiles/links with no problems. But when he uses ladebug to examine values in that array, he gets the following error: ... (ladebug) p int(1) print int(1) ^ Unable to parse input as legal command or Fortran expression. (ladebug) Looks like the function 'int()' conflicts with some intrinsic info within ladebug -- unless someone can propose another reason for this behavior ? Unfortunately, he can't change the array name because he doesn't own the code. I reproduced the behavior here with a short example: # cat q.f program mytest integer a(100) integer int(100) do i=1,50 a(i)= i * 1 int(i) = i * 10 end do print *, "value of array element a(5):", a(5) print *, "value of array element int(5):", int(5) stop end # f77 -g q.f # a.out value of array element a(5): 5 value of array element int(5): 50 # Here's a log of my ladebug session: ----------------------------------- # f77 -g q.f # ladebug a.out Welcome to the Ladebug Debugger Version 4.0-27 ------------------ object file name: a.out Reading symbolic information ...done (ladebug) stop at 11 [#1: stop at "q.f":11 ] (ladebug) run [1] stopped at [mytest:11 0x120001594] 11 int(i) = i * 10 (ladebug) p a(1) 1 (ladebug) p int(1) print int(1) ^ Unable to parse input as legal command or Fortran expression. (ladebug) quit # So, are we looking at a limitation of ladebug ? Other than getting access to sources and renaming all the int() array references, might there be another workaround ? Thanks in advance for any information or pointers ! Steve Sheppard Digital Unix / Ultrix Applications Support Team [email protected]
T.R | Title | User | Personal Name | Date | Lines |
---|---|---|---|---|---|
853.1 | Can you see array int if you use upper case? | SUBPAC::FARICELLI | Wed Feb 26 1997 16:59 | 7 | |
Hmmm. Try accessing the array in using upper case: (ladebug) print INT(1) 10 (ladebug) whatis INT integer*4 INT(1:100) | |||||
853.2 | ...nope... | RHETT::SHEPPARD | Thu Feb 27 1997 09:47 | 54 | |
Okay, I tried that but it didn't help... Here are my results: % f77 -g q.f % ladebug a.out Welcome to the Ladebug Debugger Version 4.0-27 ------------------ object file name: a.out Reading symbolic information ...list 1-30 done (ladebug) list 1-30 1 program mytest 2 3 integer a(100) 4 integer int(100) 5 real k 6 7 k=3.333 8 9 do i=1,50 10 a(i)= i * 1 11 int(i) = i * 10 12 end do 13 14 print *, "value of array element a(5):", a(5) 15 print *, "value of array element int(5):", int(5) 16 17 stop 18 end (ladebug) stop at 11 [#1: stop at "q.f":11 ] (ladebug) run [1] stopped at [mytest:11 0x120001594] 11 int(i) = i * 10 (ladebug) p a(1) 1 (ladebug) p int(1) print int(1) ^ Unable to parse input as legal command or Fortran expression. (ladebug) p INT(1) print INT(1) ^ Unable to parse input as legal command or Fortran expression. (ladebug) whatis int() <function>* (ladebug) whatis INT() <function>* (ladebug) whatis int int int (ladebug) whatis INT int INT (ladebug) | |||||
853.3 | Rats... | SUBPAC::FARICELLI | Thu Feb 27 1997 10:29 | 7 | |
Sigh. I've got an older version of decladebug (Version 4.0-14A) on my workstation. Guess that's why it works for me. Perhaps Tim can comment. -- John Faricelli | |||||
853.4 | TLE::MURRAY | Wanfang Murray | Thu Feb 27 1997 11:49 | 7 | |
I don't remember we have changed anything here will afect this since 4.0-14. But, something must have changed :-). We will look into this. Wanfang | |||||
853.5 | 4.0-30 is no go | RHETT::HALETKY | Wed Mar 12 1997 13:41 | 7 | |
Any status on this? 4.0-30 still has problems. -e dhaletky |