summaryrefslogtreecommitdiffstats
path: root/clang/lib/Basic/Targets.cpp
diff options
context:
space:
mode:
authorJoerg Sonnenberger <joerg@bec.de>2016-03-07 17:19:15 +0000
committerJoerg Sonnenberger <joerg@bec.de>2016-03-07 17:19:15 +0000
commitd0be8dcbf847710c71bcbbc0188c72f1c6a5cfcb (patch)
treeff745b16ccad839e511f8da94ea0b8b4e8b36736 /clang/lib/Basic/Targets.cpp
parentb123c8b7e8945a967e59b0e359316890480b68f7 (diff)
downloadbcm5719-llvm-d0be8dcbf847710c71bcbbc0188c72f1c6a5cfcb.tar.gz
bcm5719-llvm-d0be8dcbf847710c71bcbbc0188c72f1c6a5cfcb.zip
Implement __builtin_eh_return_data_regno for SPARC and SPARC64.
llvm-svn: 262838
Diffstat (limited to 'clang/lib/Basic/Targets.cpp')
-rw-r--r--clang/lib/Basic/Targets.cpp6
1 files changed, 6 insertions, 0 deletions
diff --git a/clang/lib/Basic/Targets.cpp b/clang/lib/Basic/Targets.cpp
index 05694cc5a72..5d64aa8fecc 100644
--- a/clang/lib/Basic/Targets.cpp
+++ b/clang/lib/Basic/Targets.cpp
@@ -5952,6 +5952,12 @@ public:
SparcTargetInfo(const llvm::Triple &Triple)
: TargetInfo(Triple), SoftFloat(false) {}
+ int getEHDataRegisterNumber(unsigned RegNo) const override {
+ if (RegNo == 0) return 24;
+ if (RegNo == 1) return 25;
+ return -1;
+ }
+
bool handleTargetFeatures(std::vector<std::string> &Features,
DiagnosticsEngine &Diags) override {
// The backend doesn't actually handle soft float yet, but in case someone
OpenPOWER on IntegriCloud