This is the mail archive of the
gdb@sourceware.org
mailing list for the GDB project.
Re: Variable Length Arrays (VLA) proposal
- From: Jan Kratochvil <jan dot kratochvil at redhat dot com>
- To: Keven Boell <keven dot boell at linux dot intel dot com>
- Cc: "Agovic, Sanimir" <sanimir dot agovic at intel dot com>, "gdb at sourceware dot org" <gdb at sourceware dot org>, "Boell, Keven" <keven dot boell at intel dot com>
- Date: Sun, 4 Aug 2013 21:33:23 +0200
- Subject: Re: Variable Length Arrays (VLA) proposal
- References: <0377C58828D86C4588AEEC42FC3B85A7176288F9 at IRSMSX105 dot ger dot corp dot intel dot com> <20130702133712 dot GA17311 at host2 dot jankratochvil dot net> <51D56B47 dot 9030506 at linux dot intel dot com>
On Thu, 04 Jul 2013 14:32:07 +0200, Keven Boell wrote:
> We've created some tests for the VLA features in Fortran and C in
> advance to test our future implementation against it. We used/split
> some of your tests from archer-jankratochvil-vla and added some more
> to cover more VLA use-cases, we want to fix/enable in GDB. Maybe you
> can have a look at them to see if we agree on the feature set in
> general, which will be available to the user afterwards.
>
> You can find them in our github repository (see the last few commits):
> https://github.com/ChristophTWeinmann/GDB/tree/vla-testbase
GIT URL: https://github.com/ChristophTWeinmann/GDB.git
> The tests are covering only Fortran and C at the moment.
Some of the files need CRLF->LF conversion.
> gdb/testsuite/gdb.base/vla-datatypes.exp
> gdb/testsuite/gdb.base/vla-multi.exp
> gdb/testsuite/gdb.base/vla-ptr.exp
> gdb/testsuite/gdb.fortran/vla-alloc-assoc.exp
> gdb/testsuite/gdb.fortran/vla-datatypes.exp
type = long [5]
(gdb) FAIL: gdb.base/vla-datatypes.exp: ptype long_vla
Expected "long int [5]", I use gcc-4.8.1-5.fc20.x86_64.
Such minor differences for different compilers are OK and common in GDB
testsuite.
> gdb/testsuite/gdb.fortran/vla-func.exp
> gdb/testsuite/gdb.fortran/vla-ptype-sub.exp
> gdb/testsuite/gdb.fortran/vla-ptype.exp
> gdb/testsuite/gdb.fortran/vla-type.exp
archer-jankratochvil-vla has some FAILs here for more compilated types, that
is a known bug of archer-jankratochvil-vla.
gdb.fortran/vla-value.exp
Why isn't prepare_for_testing used here?
gdb.fortran/vla.f90
Missing copyright header.
I did not check it but I guess these testcases / expect strings work only with
gfortran. If you are interested it would be sure great if they worked also
with iFort.
In general expect strings in testcases "\\$\\d+ = ..." are commonly simplified
to " = ..." (start of expect strings are not anchored by ^ even in gdb_test).
But it is up to the submitter, "\\$\\d+ = ..." is also fine.
In general 'untested' call is not needed after failed prepare_for_testing.
The same applies to failed 'runto MAIN__'.
The testcases are pre-approved for check-in. But you will also need to write
stub (just "*: New files." for everything) ChangeLog entry and post it to
gdb-patches. And if you like to check them in before the real VLA
implementation they would need KFAILs for everything (IMO not worth the work
to check in the testcases before the implementation).
Thanks,
Jan