[clang] [Driver][AVR] Reject c/c++ compilation for avr1 devices (PR #111798)

David Spickett via cfe-commits cfe-commits at lists.llvm.org
Fri Oct 11 06:19:39 PDT 2024


================
@@ -400,6 +400,14 @@ void AVRToolChain::AddClangSystemIncludeArgs(const ArgList &DriverArgs,
 void AVRToolChain::addClangTargetOptions(
     const llvm::opt::ArgList &DriverArgs, llvm::opt::ArgStringList &CC1Args,
     Action::OffloadKind DeviceOffloadKind) const {
+  // Reject C/C++ compilation for avr1 devices.
+  const Driver &D = getDriver();
+  std::string CPU = getCPUName(D, DriverArgs, getTriple());
+  std::optional<StringRef> FamilyName = GetMCUFamilyName(CPU);
+  if (CPU == "avr1" || (FamilyName && FamilyName->compare("avr1") == 0))
----------------
DavidSpickett wrote:

I think you can use `==`, there is operator== for 2 StringRefs and an implicit constructor from char*.

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


More information about the cfe-commits mailing list