summaryrefslogtreecommitdiffstats
path: root/clang/lib/Driver/Tools.h
diff options
context:
space:
mode:
authorDaniel Sanders <daniel.sanders@imgtec.com>2014-07-16 11:52:23 +0000
committerDaniel Sanders <daniel.sanders@imgtec.com>2014-07-16 11:52:23 +0000
commit379d44bfdf84c116a5fba4c2fabfd2ead3b9f0a4 (patch)
tree00d32dd5b9a7e0402d35eb9897c27c0e89d5e49e /clang/lib/Driver/Tools.h
parenta03624d8aba1f363f4920affca0d2d0769a99127 (diff)
downloadbcm5719-llvm-379d44bfdf84c116a5fba4c2fabfd2ead3b9f0a4.tar.gz
bcm5719-llvm-379d44bfdf84c116a5fba4c2fabfd2ead3b9f0a4.zip
[mips] Correct the invocation of GAS in several cases.
Summary: As a result of this patch, assembling an empty file with GCC and Clang (using GAS as the assembler) now produces identical objects. -mfp32/-mfpxx/-mfp64 now form a trinity of options. -mfpxx is the default when the triple vendor is 'img' or 'mti', the ABI is O32, and the CPU is between mips2 and mips32r2/mips64r2 (inclusive). -mno-shared is always given to the assembler to match the effect of -mabicalls (currently unimplemented but Clang acts as if it is given). Similarly, -call_nonpic is always given to match the effect of -mplt (also unimplemented and acts as if given) except when the ABI is 64 in which case -mplt has no effect so -KPIC is given instead. -mhard-float/-msoft-float are now passed on. -modd-spreg/-mno-odd-spreg are now passed on. -mno-mips16 is correctly passed on. The assembler option is -no-mips16 not -mno-mips16 Differential Revision: http://reviews.llvm.org/D4515 llvm-svn: 213138
Diffstat (limited to 'clang/lib/Driver/Tools.h')
-rw-r--r--clang/lib/Driver/Tools.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/clang/lib/Driver/Tools.h b/clang/lib/Driver/Tools.h
index bc7f58bfbe9..476c1872c80 100644
--- a/clang/lib/Driver/Tools.h
+++ b/clang/lib/Driver/Tools.h
@@ -219,6 +219,8 @@ namespace arm {
namespace mips {
bool hasMipsAbiArg(const llvm::opt::ArgList &Args, const char *Value);
bool isNaN2008(const llvm::opt::ArgList &Args, const llvm::Triple &Triple);
+ bool isFPXXDefault(const llvm::Triple &Triple, StringRef CPUName,
+ StringRef ABIName);
}
namespace darwin {
OpenPOWER on IntegriCloud