aboutsummaryrefslogtreecommitdiff
path: root/libcpp
diff options
context:
space:
mode:
authorClaudiu Zissulescu <claziss@synopsys.com>2018-11-13 13:51:19 +0100
committerClaudiu Zissulescu <claziss@gcc.gnu.org>2018-11-13 13:51:19 +0100
commit3fd6ae8a2541dad32b03c4c039127f0651dbdf1f (patch)
tree87a6d61d752b24a10a840cdc55d7ac597f20e850 /libcpp
parent90b480138a5492776e9fab6e7f95aae874d6a0ea (diff)
downloadgcc-3fd6ae8a2541dad32b03c4c039127f0651dbdf1f.zip
gcc-3fd6ae8a2541dad32b03c4c039127f0651dbdf1f.tar.gz
gcc-3fd6ae8a2541dad32b03c4c039127f0651dbdf1f.tar.bz2
[ARC] Update EH code.
Our ABI says the blink is pushed first on stack followed by an unknown number of register saves, and finally by fp. Hence we cannot use the EH_RETURN_ADDRESS macro as the stack is not finalized at that moment. The alternative is to use the eh_return pattern and to initialize all the bits after register allocation when the stack layout is finalized. gcc/ xxxx-xx-xx Claudiu Zissulescu <claziss@synopsys.com> * config/arc/arc.c (arc_eh_return_address_location): Repurpose it to fit the eh_return pattern. * config/arc/arc.md (eh_return): Define. (VUNSPEC_ARC_EH_RETURN): Likewise. * config/arc/arc-protos.h (arc_eh_return_address_location): Match new implementation. * config/arc/arc.h (EH_RETURN_HANDLER_RTX): Remove it. testsuite/ xxxx-xx-xx Claudiu Zissulescu <claziss@synopsys.com> * gcc.target/arc/builtin_eh.c: New test. From-SVN: r266066
Diffstat (limited to 'libcpp')
0 files changed, 0 insertions, 0 deletions