Class LlvmTarget
java.lang.Object
org.ek9lang.compiler.backend.llvm.LlvmTarget
- All Implemented Interfaces:
Target
- Direct Known Subclasses:
LlvmCppTarget
,LlvmGoTarget
Abstract Target for LLVM code output, can be for Go or C++ (with different Ek9 std library and
memory management.
i.e. this Target would produce LLVM Code that can be
converted to an executable by the llvm software. But still need to link to an appropriate GO or C++
Ek9 standard library that has appropriate implementation and suitable memory management.
But either way llvm is required, just the llvm instructions we create are slightly different based on
a Go target or a C++ target.
A check is undertaken to see if the 'clang' executable with the right version can be located and executed.
-
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface org.ek9lang.compiler.backend.Target
getArchitecture, isSupported
-
Field Details
-
clangExecutableSupported
protected static boolean clangExecutableSupported
-
-
Constructor Details
-
LlvmTarget
protected LlvmTarget()
-