[clang] Revert "[clang-repl] Pass triple to IncrementalCompilerBuilder as explicit argument" (PR #84261)

Stefan Gränitz via cfe-commits cfe-commits at lists.llvm.org
Wed Mar 6 16:01:00 PST 2024


https://github.com/weliveindetail created https://github.com/llvm/llvm-project/pull/84261

Reverts llvm/llvm-project#84174 due too sanitizer memory leak detection

>From efe6097aad69aba7d2421880305198bf09226db6 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Stefan=20Gr=C3=A4nitz?= <stefan.graenitz at gmail.com>
Date: Thu, 7 Mar 2024 01:00:03 +0100
Subject: [PATCH] =?UTF-8?q?Revert=20"[clang-repl]=20Expose=20setter=20for?=
 =?UTF-8?q?=20triple=20in=20IncrementalCompilerBuilder=20(=E2=80=A6"?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

This reverts commit 6494f9bb8ac1e6f7526b72ee07f71527b8e66066.
---
 clang/include/clang/Interpreter/Interpreter.h |  5 +--
 clang/lib/Interpreter/Interpreter.cpp         | 12 +++----
 clang/unittests/Interpreter/CMakeLists.txt    |  1 -
 .../IncrementalCompilerBuilderTest.cpp        | 35 -------------------
 4 files changed, 6 insertions(+), 47 deletions(-)
 delete mode 100644 clang/unittests/Interpreter/IncrementalCompilerBuilderTest.cpp

diff --git a/clang/include/clang/Interpreter/Interpreter.h b/clang/include/clang/Interpreter/Interpreter.h
index c8f932e95c4798..292fa566ae7037 100644
--- a/clang/include/clang/Interpreter/Interpreter.h
+++ b/clang/include/clang/Interpreter/Interpreter.h
@@ -48,8 +48,6 @@ class IncrementalCompilerBuilder {
     UserArgs = Args;
   }
 
-  void SetTargetTriple(std::string TT) { TargetTriple = TT; }
-
   // General C++
   llvm::Expected<std::unique_ptr<CompilerInstance>> CreateCpp();
 
@@ -64,12 +62,11 @@ class IncrementalCompilerBuilder {
 
 private:
   static llvm::Expected<std::unique_ptr<CompilerInstance>>
-  create(std::string TT, std::vector<const char *> &ClangArgv);
+  create(std::vector<const char *> &ClangArgv);
 
   llvm::Expected<std::unique_ptr<CompilerInstance>> createCuda(bool device);
 
   std::vector<const char *> UserArgs;
-  std::optional<std::string> TargetTriple;
 
   llvm::StringRef OffloadArch;
   llvm::StringRef CudaSDKPath;
diff --git a/clang/lib/Interpreter/Interpreter.cpp b/clang/lib/Interpreter/Interpreter.cpp
index 37696b28976428..9f97a3c6b0be9e 100644
--- a/clang/lib/Interpreter/Interpreter.cpp
+++ b/clang/lib/Interpreter/Interpreter.cpp
@@ -132,8 +132,7 @@ CreateCI(const llvm::opt::ArgStringList &Argv) {
 } // anonymous namespace
 
 llvm::Expected<std::unique_ptr<CompilerInstance>>
-IncrementalCompilerBuilder::create(std::string TT,
-                                   std::vector<const char *> &ClangArgv) {
+IncrementalCompilerBuilder::create(std::vector<const char *> &ClangArgv) {
 
   // If we don't know ClangArgv0 or the address of main() at this point, try
   // to guess it anyway (it's possible on some platforms).
@@ -163,7 +162,8 @@ IncrementalCompilerBuilder::create(std::string TT,
   TextDiagnosticBuffer *DiagsBuffer = new TextDiagnosticBuffer;
   DiagnosticsEngine Diags(DiagID, &*DiagOpts, DiagsBuffer);
 
-  driver::Driver Driver(/*MainBinaryName=*/ClangArgv[0], TT, Diags);
+  driver::Driver Driver(/*MainBinaryName=*/ClangArgv[0],
+                        llvm::sys::getProcessTriple(), Diags);
   Driver.setCheckInputsExist(false); // the input comes from mem buffers
   llvm::ArrayRef<const char *> RF = llvm::ArrayRef(ClangArgv);
   std::unique_ptr<driver::Compilation> Compilation(Driver.BuildCompilation(RF));
@@ -185,8 +185,7 @@ IncrementalCompilerBuilder::CreateCpp() {
   Argv.push_back("-xc++");
   Argv.insert(Argv.end(), UserArgs.begin(), UserArgs.end());
 
-  std::string TT = TargetTriple ? *TargetTriple : llvm::sys::getProcessTriple();
-  return IncrementalCompilerBuilder::create(TT, Argv);
+  return IncrementalCompilerBuilder::create(Argv);
 }
 
 llvm::Expected<std::unique_ptr<CompilerInstance>>
@@ -214,8 +213,7 @@ IncrementalCompilerBuilder::createCuda(bool device) {
 
   Argv.insert(Argv.end(), UserArgs.begin(), UserArgs.end());
 
-  std::string TT = TargetTriple ? *TargetTriple : llvm::sys::getProcessTriple();
-  return IncrementalCompilerBuilder::create(TT, Argv);
+  return IncrementalCompilerBuilder::create(Argv);
 }
 
 llvm::Expected<std::unique_ptr<CompilerInstance>>
diff --git a/clang/unittests/Interpreter/CMakeLists.txt b/clang/unittests/Interpreter/CMakeLists.txt
index 0ddedb283e07d1..712641afb976dd 100644
--- a/clang/unittests/Interpreter/CMakeLists.txt
+++ b/clang/unittests/Interpreter/CMakeLists.txt
@@ -7,7 +7,6 @@ set(LLVM_LINK_COMPONENTS
   )
 
 add_clang_unittest(ClangReplInterpreterTests
-  IncrementalCompilerBuilderTest.cpp
   IncrementalProcessingTest.cpp
   InterpreterTest.cpp
   CodeCompletionTest.cpp
diff --git a/clang/unittests/Interpreter/IncrementalCompilerBuilderTest.cpp b/clang/unittests/Interpreter/IncrementalCompilerBuilderTest.cpp
deleted file mode 100644
index 1cc0223465c8fa..00000000000000
--- a/clang/unittests/Interpreter/IncrementalCompilerBuilderTest.cpp
+++ /dev/null
@@ -1,35 +0,0 @@
-//=== unittests/Interpreter/IncrementalCompilerBuilderTest.cpp ------------===//
-//
-// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
-// See https://llvm.org/LICENSE.txt for license information.
-// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
-//
-//===----------------------------------------------------------------------===//
-
-#include "clang/Basic/TargetOptions.h"
-#include "clang/Frontend/CompilerInstance.h"
-#include "clang/Interpreter/Interpreter.h"
-#include "llvm/Support/Error.h"
-#include "gtest/gtest.h"
-
-using namespace llvm;
-using namespace clang;
-
-namespace {
-
-TEST(IncrementalCompilerBuilder, SetCompilerArgs) {
-  std::vector<const char *> ClangArgv = {"-Xclang", "-ast-dump-all"};
-  auto CB = clang::IncrementalCompilerBuilder();
-  CB.SetCompilerArgs(ClangArgv);
-  auto CI = cantFail(CB.CreateCpp());
-  EXPECT_TRUE(CI->getFrontendOpts().ASTDumpAll);
-}
-
-TEST(IncrementalCompilerBuilder, SetTargetTriple) {
-  auto CB = clang::IncrementalCompilerBuilder();
-  CB.SetTargetTriple("armv6-none-eabi");
-  auto CI = cantFail(CB.CreateCpp());
-  EXPECT_EQ(CI->getTargetOpts().Triple, "armv6-none-unknown-eabi");
-}
-
-} // end anonymous namespace



More information about the cfe-commits mailing list