This is the mail archive of the
gdb-patches@sourceware.org
mailing list for the GDB project.
Re: [PATCH 1/2] fort_dyn_array: add basic fortran dyn array support
- From: Yao Qi <qiyaoltc at gmail dot com>
- To: Keven Boell <keven dot boell at linux dot intel dot com>
- Cc: gdb-patches at sourceware dot org, Joel Brobecker <brobecker at adacore dot com>
- Date: Wed, 20 Jan 2016 10:18:50 +0000
- Subject: Re: [PATCH 1/2] fort_dyn_array: add basic fortran dyn array support
- Authentication-results: sourceware.org; auth=none
- References: <1435754532-17922-1-git-send-email-keven dot boell at intel dot com> <1435754532-17922-2-git-send-email-keven dot boell at intel dot com> <20150721180502 dot GN7406 at adacore dot com> <55C213C7 dot 7070202 at linux dot intel dot com> <20150805202301 dot GB14992 at adacore dot com> <51130 dot 172 dot 28 dot 205 dot 135 dot 1438861308 dot squirrel at linux dot intel dot com> <20150820125159 dot GD4571 at adacore dot com> <5617A6FB dot 4050407 at linux dot intel dot com>
Keven Boell <keven.boell@linux.intel.com> writes:
> Fortran provide types whose values may be dynamically allocated
> or associated with a variable under explicit program control.
> The purpose of this commit is
> * to read allocated/associated DWARF tags and store them in
> the dynamic property list of main_type.
> * enable GDB to print the value of a dynamic array in Fortran
> in case the type is allocated or associated (pointer to
> dynamic array).
>
> Examples:
> (gdb) p vla_not_allocated
> $1 = <not allocated>
>
> (gdb) p vla_allocated
> $1 = (1, 2, 3)
>
> (gdb) p vla_ptr_not_associated
> $1 = <not associated>
>
> (gdb) p vla_ptr_associated
> $1 = (1, 2, 3)
>
> Add basic test coverage for most dynamic array use-cases
> in Fortran.
> The commit contains the following tests:
> * Ensure that values of Fortran dynamic arrays
> can be evaluated correctly in various ways and states.
> * Ensure that Fortran primitives can be evaluated
> correctly when used as a dynamic array.
> * Dynamic arrays passed to subroutines and handled
> in different ways inside the routine.
> * Ensure that the ptype of dynamic arrays in
> Fortran can be printed in GDB correctly.
> * Ensure that dynamic arrays in different states
> (allocated/associated) can be evaluated.
> * Dynamic arrays passed to functions and returned from
> functions.
> * History values of dynamic arrays can be accessed and
> printed again with the correct values.
> * Dynamic array evaluations using MI protocol.
> * Sizeof output of dynamic arrays in various states.
>
> The patch was tested using the test suite on Ubuntu 12.04 64bit.
Hi Keven,
The test cases added by this commit fail on some other OS and targets,
see this thread, https://sourceware.org/ml/gdb-testers/2015-q4/msg02136.html
can you take a look?
--
Yao (éå)