This is the mail archive of the gdb-patches@sourceware.org mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH 00/23] Fortran dynamic array support


Hi,

sorry if it was discussed before but I have tried to rebase testcases from my
former/broken VLA implementation archer/jankratochvil/vla to this patchset of
yours and I have found some regressions.

I have updated the testcases which just now expect slightly different
equivalent output.

For some testcases which behaved IMO better with archer/jankratochvil/vla
but which work well enough with this patchset I have made there KFAILs (38).
	(gdb) p varx(1,5,17)
	Value out of range.
	But it would be more correct to say:
	$1 = <not allocated>

gdb.fortran/subrange.exp has been KFAILed as this patchset does not support
the user input syntax like: print alloc (2, 2:3)

Then remain some IMO real regressions:

FAIL: gdb.fortran/dynamic.exp: p varw filled
FAIL: gdb.arch/x86_64-vla-typedef.exp: p array[1]
FAIL: gdb.arch/x86_64-vla-typedef.exp: p array[2]
FAIL: gdb.arch/x86_64-vla-typedef.exp: p array[3]
FAIL: gdb.arch/x86_64-vla-typedef.exp: p array[4]
FAIL: gdb.fortran/string.exp: ptype f
FAIL: gdb.fortran/string.exp: ptype *f
FAIL: gdb.fortran/string.exp: p f
FAIL: gdb.fortran/string.exp: p *f re-set
FAIL: gdb.pascal/arrays.exp: Print dynamic array of string (GDB internal error)
FAIL: gdb.pascal/arrays.exp: Print static array of string (GDB internal error)

I guess you ignored Pascal so that is OK.

For the remaining FAIL cases maybe the DWARF or inferior data are wrong but
I cannot say so myself, have you investigated those?

For example the first one:
	p varw
	$23 = (( ( 6, 5, 1, 5, 5) ( 3, 3, 3, 5, 5) ( 5, 5, 5, 3, 3) ( 3, 5, 5, 5, 5) ) ( ( 3, 3, 3, 3, 3) ( 3, 3, 3, 3, 3) ( 3, 3, 3, 3, 3) ( 3, 3, 3, 3, 3) ) ( ( 5, 5, 5, 5, 5) ( 3, 3, 3, 5, 5) ( 5, 5, 5, 3, 3) ( 3, 5, 5, 5, 5) ) )
	(gdb) FAIL: gdb.fortran/dynamic.exp: p varw filled

seems to me obviously as a bug in GDB as the inferior does there
  varw(:, :, :) = 5                             ! vary-filled
  varw(1, 1, 1) = 6
plus GDB sets that '1' there but all the values '3' come from some
incompatible address calculation between GDB and gfortran-built inferior.

All has been tested on Fedora 20 x86_64 (gcc-4.8.2-7.fc20.x86_64).
Patchset has been applied to: gdb-7.7.90.20140613.tar.bz2
Maybe you have tested it with icc/ifort instead?


Thanks,
Jan

Attachment: gdb-archer-vla-tests.patch
Description: Text document


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]