[clang] [llvm] Triple: Forward declare Twine and remove include (PR #145685)

Andrew Rogers via cfe-commits cfe-commits at lists.llvm.org
Wed Jun 25 11:32:41 PDT 2025


================
@@ -349,7 +350,12 @@ class Triple {
   /// triple fields unknown.
   Triple() = default;
 
+  LLVM_ABI explicit Triple(std::string &&Str);
+  LLVM_ABI explicit Triple(StringRef Str) : Triple(Str.str()) {}
   LLVM_ABI explicit Triple(const Twine &Str);
+  LLVM_ABI explicit Triple(const char *Str) : Triple(std::string(Str)) {}
+  LLVM_ABI explicit Triple(const std::string &Str) : Triple(std::string(Str)) {}
----------------
andrurogerz wrote:

Yes, @compnerd is right. Please leave-off the `LLVM_ABI` annotation from any method defined entirely in the header.

We should eventually be able to flag this via a static analysis CI job.

https://github.com/llvm/llvm-project/pull/145685


More information about the cfe-commits mailing list