aboutsummaryrefslogtreecommitdiffstats
path: root/src/ortho/llvm4-nodebug/llvm-cbindings.cpp
diff options
context:
space:
mode:
authorTristan Gingold <tgingold@free.fr>2018-12-31 18:35:49 +0100
committerTristan Gingold <tgingold@free.fr>2018-12-31 18:35:49 +0100
commit1185783f6e8c1d65bf1207028dfe6f5163e188b5 (patch)
tree9f9567d9dc5e3699192360ec13515dd90ba763bc /src/ortho/llvm4-nodebug/llvm-cbindings.cpp
parent3882e494edd4515b085657a66bd1e20c8e7ade01 (diff)
downloadghdl-1185783f6e8c1d65bf1207028dfe6f5163e188b5.tar.gz
ghdl-1185783f6e8c1d65bf1207028dfe6f5163e188b5.tar.bz2
ghdl-1185783f6e8c1d65bf1207028dfe6f5163e188b5.zip
ortho/llvm4-nodebug: normalize the default target on llvm 7.0+
For #724
Diffstat (limited to 'src/ortho/llvm4-nodebug/llvm-cbindings.cpp')
-rw-r--r--src/ortho/llvm4-nodebug/llvm-cbindings.cpp21
1 files changed, 21 insertions, 0 deletions
diff --git a/src/ortho/llvm4-nodebug/llvm-cbindings.cpp b/src/ortho/llvm4-nodebug/llvm-cbindings.cpp
index 4a61ad552..e0ae23198 100644
--- a/src/ortho/llvm4-nodebug/llvm-cbindings.cpp
+++ b/src/ortho/llvm4-nodebug/llvm-cbindings.cpp
@@ -18,6 +18,9 @@
#include "llvm-c/Target.h"
#include "llvm/IR/Type.h"
#include "llvm/IR/LLVMContext.h"
+#include "llvm/Config/llvm-config.h"
+#include "llvm-c/TargetMachine.h"
+#include "llvm-c/Core.h"
using namespace llvm;
@@ -35,4 +38,22 @@ LLVMInitializeNativeAsmPrinter_noinline (void)
LLVMInitializeNativeAsmPrinter();
}
+char *
+LLVMGetDefaultNormalizedTargetTriple(void)
+{
+ char *triple;
+ triple = LLVMGetDefaultTargetTriple();
+
+#if LLVM_VERSION_MAJOR >= 7
+ {
+ char *res;
+ res = LLVMNormalizeTargetTriple(triple);
+ LLVMDisposeMessage(triple);
+ return res;
+ }
+#else
+ return triple;
+#endif
+}
+
}