[ARM] Fix endless recursion on calculating CPRC candidate
authorYao Qi <yao.qi@linaro.org>
Tue, 5 Jul 2016 14:29:20 +0000 (15:29 +0100)
committerYao Qi <yao.qi@linaro.org>
Wed, 6 Jul 2016 07:24:35 +0000 (08:24 +0100)
commit1040b979bc46474530fa4fee397b8acc460c01e9
treeead2680821410ae5d67e754d9a6b5f9256742f6b
parent42d940118a6372d6e85f71a54fed75fdf5c606bd
[ARM] Fix endless recursion on calculating CPRC candidate

When GDB determines whether type T can be part of candidate for
passing and returning in VFP registers, it calls
arm_vfp_cprc_sub_candidate recursively.  However, if type T has
self-reference field, like,

class C
{
  static C s;
};

arm_vfp_cprc_sub_candidate won't return.  This fix is to skip calling
arm_vfp_cprc_sub_candidate if the field is static.

gdb:

2016-07-06  Yao Qi  <yao.qi@linaro.org>

* arm-tdep.c (arm_vfp_cprc_sub_candidate): Don't call
arm_vfp_cprc_sub_candidate for static field.
gdb/ChangeLog
gdb/arm-tdep.c