diff options
author | Chris Lattner <sabre@nondot.org> | 2009-09-23 06:06:36 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2009-09-23 06:06:36 +0000 |
commit | d545ad130180ba15c894cd137a457fcd30c75c73 (patch) | |
tree | de193ab75f61f82364ecabc326828a352224f05b /clang/lib/Basic/Targets.cpp | |
parent | f47afd707eea1b95311aefbfa608c40f1da46844 (diff) | |
download | bcm5719-llvm-d545ad130180ba15c894cd137a457fcd30c75c73.tar.gz bcm5719-llvm-d545ad130180ba15c894cd137a457fcd30c75c73.zip |
implement support for __builtin_eh_return_data_regno on x86-32 and x86-64.
This implements PR5034 and rdar://6836445.
llvm-svn: 82614
Diffstat (limited to 'clang/lib/Basic/Targets.cpp')
-rw-r--r-- | clang/lib/Basic/Targets.cpp | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/clang/lib/Basic/Targets.cpp b/clang/lib/Basic/Targets.cpp index f620581cb49..8c31dcb7c66 100644 --- a/clang/lib/Basic/Targets.cpp +++ b/clang/lib/Basic/Targets.cpp @@ -900,6 +900,12 @@ public: virtual const char *getVAListDeclaration() const { return "typedef char* __builtin_va_list;"; } + + int getEHDataRegisterNumber(unsigned RegNo) const { + if (RegNo == 0) return 0; + if (RegNo == 1) return 2; + return -1; + } }; } // end anonymous namespace @@ -990,6 +996,12 @@ public: "} __va_list_tag;" "typedef __va_list_tag __builtin_va_list[1];"; } + + int getEHDataRegisterNumber(unsigned RegNo) const { + if (RegNo == 0) return 0; + if (RegNo == 1) return 1; + return -1; + } }; } // end anonymous namespace |