Class LlvmTarget

java.lang.Object
org.ek9lang.compiler.backend.llvm.LlvmTarget
All Implemented Interfaces:
Target
Direct Known Subclasses:
LlvmCppTarget, LlvmGoTarget

public abstract class LlvmTarget extends Object implements Target
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 Details

    • clangExecutableSupported

      protected static boolean clangExecutableSupported
  • Constructor Details

    • LlvmTarget

      protected LlvmTarget()