[Bug fortran/54503] New: debug: Consider using the beginning of the main program as locus for the set_* calls
burnus at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Thu Sep 6 14:06:00 GMT 2012
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54503
Bug #: 54503
Summary: debug: Consider using the beginning of the main
program as locus for the set_* calls
Classification: Unclassified
Product: gcc
Version: 4.8.0
Status: UNCONFIRMED
Severity: enhancement
Priority: P3
Component: fortran
AssignedTo: unassigned@gcc.gnu.org
ReportedBy: burnus@gcc.gnu.org
Follow up to PR 54405
For the program
program essai_1
x = 1.0
end program
gfortran generates the following dump:
/************************************************/
[hjff.f90 : 3] {
real(kind=4) x;
[hjff.f90 : 2] x = 1.0e+0;
}
main (integer(kind=4) argc, character(kind=1) * * argv)
[hjff.f90 : 3] {
static integer(kind=4) options.0[7] = {68, 1023, 0, 0, 1, 1, 0};
[hjff.f90 : 3] _gfortran_set_args (argc, argv);
[hjff.f90 : 3] _gfortran_set_options (7, [hjff.f90 : 3] &options.0[0]);
[hjff.f90 : 3] essai_1 ();
[hjff.f90 : 3] return 0;
}
/************************************************/
Thus, if one sets a break point in "main", the position is 'end program'. If
one now steps ("s") through the program, one remains in that line for the
set_args/set_options calls, then one jumps to "MAIN__" alias "essai_1" in line
2 for the assignment - and for the rest, one remains as expected in line 3.
I wonder whether it wouldn't be more natural to have "main" and the set_*
functions with the locus of line 1 - and keep the "return 0" with the locus
line 3.
It's of low priority as doing a "n" won't do what users will expect either: It
jumps over the "essai_1()" call to the "return 0". Thus, it is only a minor
glitch.
More information about the Gcc-bugs
mailing list