Add vector ABI tests to gnu_vector.exp
authorAndreas Arnez <arnez@linux.vnet.ibm.com>
Wed, 17 Jun 2015 09:17:07 +0000 (11:17 +0200)
committerAndreas Krebbel <krebbel@linux.vnet.ibm.com>
Wed, 17 Jun 2015 09:17:07 +0000 (11:17 +0200)
commite6c693af14c0488998a784d560b8cfbcf15db99a
treec170c9f069341d412937e81090672a2bbf0c4e06
parent490b7f752c8d0c91f8cdf53c3771d5be5cb9e7de
Add vector ABI tests to gnu_vector.exp

So far the gnu_vector test was limited to "static" aspects of GDB's
vector support, like evaluating vector-valued expressions.  This patch
enriches the test and adds checks for GDB's vector ABI support as well.
The new checks particularly verify inferior function calls with vector
arguments and GDB's handling of vector return values.

The test now attempts to compile for the target's "native" architecture,
such that a hardware vector ABI is used if available.

Since GDB has no vector ABI support for x86 and x86_64 targets, most of
the new checks are KFAILed there.

gdb/testsuite/ChangeLog:

* gdb.base/gnu_vector.c: Include stdarg.h and stdio.h.
(VECTOR): New macro.  Use it...
(int4, uint4, char4, float4, int2, longlong2, float2, double2):
...for these typedefs.
(int8, char1, int1, double1): New typedefs.
(struct just_int2, struct two_int2): New structures.
(add_some_intvecs, add_many_charvecs, add_various_floatvecs)
(add_structvecs, add_singlevecs): New functions.
(main): Call add_some_intvecs twice.
* gdb.base/gnu_vector.exp: Drop GCC version check; just attempt
the compile and exit upon failure.  Try compiling for the "native"
architecture.  Test inferior function calls with vector arguments
and vector return value handling with "finish" and "return".
gdb/testsuite/ChangeLog
gdb/testsuite/gdb.base/gnu_vector.c
gdb/testsuite/gdb.base/gnu_vector.exp