diff options
author | Christian Pirker <cpirker@a-bix.com> | 2014-04-10 13:59:32 +0000 |
---|---|---|
committer | Christian Pirker <cpirker@a-bix.com> | 2014-04-10 13:59:32 +0000 |
commit | ba289f0c6406fb65b15e134656aa23e1eb3373b3 (patch) | |
tree | 8ab775efeb9a5eb9ed47fda9735da75872d04588 /clang/lib | |
parent | 02c2e25d74ff30fd5b2f1d70943548f0c9a15767 (diff) | |
download | llvm-ba289f0c6406fb65b15e134656aa23e1eb3373b3.zip llvm-ba289f0c6406fb65b15e134656aa23e1eb3373b3.tar.gz llvm-ba289f0c6406fb65b15e134656aa23e1eb3373b3.tar.bz2 |
ARM: Add command line option to select big or little endian
llvm-svn: 205967
Diffstat (limited to 'clang/lib')
-rw-r--r-- | clang/lib/Driver/ToolChain.cpp | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/clang/lib/Driver/ToolChain.cpp b/clang/lib/Driver/ToolChain.cpp index dd2a2bc..eefe487 100644 --- a/clang/lib/Driver/ToolChain.cpp +++ b/clang/lib/Driver/ToolChain.cpp @@ -205,6 +205,16 @@ std::string ToolChain::ComputeLLVMTriple(const ArgList &Args, bool IsBigEndian = getTriple().getArch() == llvm::Triple::armeb || getTriple().getArch() == llvm::Triple::thumbeb; + // Handle pseudo-target flags '-mlittle-endian'/'-EL' and + // '-mbig-endian'/'-EB'. + if (Arg *A = Args.getLastArg(options::OPT_mlittle_endian, + options::OPT_mbig_endian)) { + if (A->getOption().matches(options::OPT_mlittle_endian)) + IsBigEndian = false; + else + IsBigEndian = true; + } + // Thumb2 is the default for V7 on Darwin. // // FIXME: Thumb should just be another -target-feaure, not in the triple. |