Reland "[clang-repl] Re-implement clang-interpreter as a test case."
authorVassil Vassilev <v.g.vassilev@gmail.com>
Tue, 5 Oct 2021 14:31:30 +0000 (14:31 +0000)
committerVassil Vassilev <v.g.vassilev@gmail.com>
Fri, 8 Oct 2021 06:04:39 +0000 (06:04 +0000)
commit1dba6b37bdc70210f75a480eff3715ebe1f1d8be
tree6b85bdc97bba3b17e2f70d96294eeaae692b69b3
parent0091e913ebfac1ec4a5185cc16e3eb7549149f91
Reland "[clang-repl] Re-implement clang-interpreter as a test case."

  Original commit message: "
    Original commit message: "
        Original commit message:"
          The current infrastructure in lib/Interpreter has a tool, clang-repl, very
          similar to clang-interpreter which also allows incremental compilation.

          This patch moves clang-interpreter as a test case and drops it as conditionally
          built example as we already have clang-repl in place.

          Differential revision: https://reviews.llvm.org/D107049
        "

        This patch also ignores ppc due to missing weak symbol for __gxx_personality_v0
        which may be a feature request for the jit infrastructure. Also, adds a missing
        build system dependency to the orc jit.
    "

    Additionally, this patch defines a custom exception type and thus avoids the
    requirement to include header <exception>, making it easier to deploy across
    systems without standard location of the c++ headers.
  "

  This patch also works around PR49692 and finds a way to use llvm::consumeError
  in rtti mode.

Differential revision: https://reviews.llvm.org/D107049
16 files changed:
clang/docs/ClangFormattedStatus.rst
clang/examples/CMakeLists.txt
clang/examples/clang-interpreter/CMakeLists.txt [deleted file]
clang/examples/clang-interpreter/README.txt [deleted file]
clang/examples/clang-interpreter/Test.cxx [deleted file]
clang/include/clang/Interpreter/Interpreter.h
clang/lib/Interpreter/IncrementalExecutor.cpp
clang/lib/Interpreter/IncrementalExecutor.h
clang/lib/Interpreter/Interpreter.cpp
clang/test/CMakeLists.txt
clang/test/Misc/interpreter.c [deleted file]
clang/test/lit.cfg.py
clang/unittests/Interpreter/CMakeLists.txt
clang/unittests/Interpreter/ExceptionTests/CMakeLists.txt [new file with mode: 0644]
clang/unittests/Interpreter/ExceptionTests/InterpreterExceptionTest.cpp [new file with mode: 0644]
clang/unittests/Interpreter/InterpreterTest.cpp