From: Peter Jay Salzman <p@dirac.org>
To: gdb@sources.redhat.com
Subject: gdb with intel fortran compiler
Date: Wed, 25 Feb 2004 20:12:00 -0000 [thread overview]
Message-ID: <20040225200653.GA13223@pete.localdomain> (raw)
I found some curious behavior when using GDB with executables compiled
with Intel's fortran 90/95 compiler (ifort). I'm on Debian testing,
kernel 2.4.25, gdb 5.3-debian.
Here's my little "hello world" type program:
PROGRAM hello_world
integer, dimension(20) :: array = (/ (0, i=1,20) /)
do i=1, 20
if (i == 8) then
print *, "hello there, element 8!"
end if
array(i) = i
print *, "element ", i, ": ", array(i)
end do
END PROGRAM hello_world
I can't "list out of the box:
p@satan$ gdb a.out
(gdb) list
1 ../sysdeps/i386/elf/start.S: No such file or directory.
in ../sysdeps/i386/elf/start.S
but I can list the program by name:
(gdb) list hello_world
1 PROGRAM hello_world
2
3 integer, dimension(20) :: array = (/ (0, i=1,20) /)
*snip*
What is causing this, and what's start.S? Is there a way to make this
behavior "nicer"?
The other thing is that the GDB manual says that expressions are
evaluated as they normally are in whatever language you're using. I
this not to be true.
GDB doesn't like this expression in a conditional breakpoint:
(gdb) break 11 if i == 12
A parse error in expression, near `= 12'.
but it does like this one:
(gdb) break 11 if i = 12
Breakpoint 2 at 0x8049da9: file test.f90, line 11.
and it even works:
(gdb) run
Starting program: /home/p/a.out
[New Thread 16384 (LWP 19674)]
[Switching to Thread 16384 (LWP 19674)]
Breakpoint 2, hello_world () at test.f90:11
11 array(i) = i
(gdb) print i
$1 = 12
as promised, we broke at line 11, when i==12. The conditional operator
I used was "=". GDB didn't seem to know "==" which is what the Fortran
language uses for testing. GDB seemed to want the "=", which like in C,
is assignment in F90.
Is this a GDB bug? Is there a way to make expressions work the way they
should work when debugging a F90 executable?
Thanks,
Pete
--
Make everything as simple as possible, but no simpler. -- Albert Einstein
GPG Instructions: http://www.dirac.org/linux/gpg
GPG Fingerprint: B9F1 6CF3 47C4 7CD8 D33E 70A9 A3B9 1945 67EA 951D
next reply other threads:[~2004-02-25 20:12 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2004-02-25 20:12 Peter Jay Salzman [this message]
2004-02-25 20:26 ` Daniel Jacobowitz
2004-02-25 20:40 ` Peter Jay Salzman
2004-02-26 3:42 ` Daniel Jacobowitz
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20040225200653.GA13223@pete.localdomain \
--to=p@dirac.org \
--cc=gdb@sources.redhat.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox