Added -float-abi and auto-detection logic for ARM.

Even though this argument design conflates two separate concepts
(ABI and hardware/software implementation), I chose to go
with it since users are liekly know it from GCC and the
combination of softloat operations with hardfloat ABI makes
no sense.

I didn't implement it for old LLVM versions, as ARM EABI
exception handling requires LLVM 3.3+ anyway, without which
LDC would be useless anyway.
This commit is contained in:
David Nadlinger
2013-05-10 22:56:52 +02:00
parent 2fb8d6d51b
commit 6a1bc70bd7
5 changed files with 189 additions and 7 deletions

View File

@@ -16,6 +16,7 @@
#define LDC_DRIVER_CL_OPTIONS_H
#include "mars.h"
#include "driver/target.h"
#include "llvm/Support/CodeGen.h"
#include "llvm/Support/CommandLine.h"
#include <deque>
@@ -60,6 +61,7 @@ namespace opts {
extern cl::opt<std::string> mTargetTriple;
extern cl::opt<llvm::Reloc::Model> mRelocModel;
extern cl::opt<llvm::CodeModel::Model> mCodeModel;
extern cl::opt<FloatABI::Type> mFloatABI;
extern cl::opt<bool, true> singleObj;
extern cl::opt<bool> linkonceTemplates;