[AIX] Diagnose thinLTO usage in clang on AIX.
authorWael Yehia <wyehia@ca.ibm.com>
Mon, 19 Apr 2021 16:01:19 +0000 (16:01 +0000)
committerWael Yehia <wyehia@ca.ibm.com>
Mon, 19 Apr 2021 16:39:48 +0000 (16:39 +0000)
Reviewed By: Xiangling Liao

Differential Revision: https://reviews.llvm.org/D100350

clang/lib/Driver/Driver.cpp
clang/test/Driver/aix-unsupported-features.c [new file with mode: 0644]

index 39a630a..9a1b106 100644 (file)
@@ -3998,10 +3998,13 @@ void Driver::BuildJobs(Compilation &C) const {
   }
 
   const llvm::Triple &RawTriple = C.getDefaultToolChain().getTriple();
-  if (RawTriple.isOSAIX())
+  if (RawTriple.isOSAIX()) {
     if (Arg *A = C.getArgs().getLastArg(options::OPT_G))
       Diag(diag::err_drv_unsupported_opt_for_target)
           << A->getSpelling() << RawTriple.str();
+    if (LTOMode == LTOK_Thin)
+      Diag(diag::err_drv_clang_unsupported) << "thinLTO on AIX";
+  }
 
   // Collect the list of architectures.
   llvm::StringSet<> ArchNames;
diff --git a/clang/test/Driver/aix-unsupported-features.c b/clang/test/Driver/aix-unsupported-features.c
new file mode 100644 (file)
index 0000000..0004575
--- /dev/null
@@ -0,0 +1,7 @@
+// RUN: %clang -target powerpc-ibm-aix-xcoff -### -flto=thin 2>&1 %s | \
+// RUN:   FileCheck --check-prefix=CHECKTHINLTO %s
+// RUN: %clang -target powerpc64-ibm-aix-xcoff -### -flto=thin 2>&1 %s | \
+// RUN:   FileCheck --check-prefix=CHECKTHINLTO %s
+
+// CHECKTHINLTO: error: the clang compiler does not support 'thinLTO on AIX'
+