<div dir="ltr"><div>@<a href="mailto:shuhong.liu@ibm.com">shuhong.liu@ibm.com</a>: I'm not sure what process you followed to commit this, but the commit message does not seem right. It might make sense to revert this and commit again with the proper message to make annotations from `git blame` work better.</div><div><br></div><div>-- HT<br> </div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Mon, Aug 10, 2020 at 10:33 AM Shuhong Liu via cfe-commits <<a href="mailto:cfe-commits@lists.llvm.org">cfe-commits@lists.llvm.org</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><br>
Author: Shuhong Liu<br>
Date: 2020-08-10T10:27:04-04:00<br>
New Revision: b129c9d81aff8ece71eb29df1e5f31136a48c040<br>
<br>
URL: <a href="https://github.com/llvm/llvm-project/commit/b129c9d81aff8ece71eb29df1e5f31136a48c040" rel="noreferrer" target="_blank">https://github.com/llvm/llvm-project/commit/b129c9d81aff8ece71eb29df1e5f31136a48c040</a><br>
DIFF: <a href="https://github.com/llvm/llvm-project/commit/b129c9d81aff8ece71eb29df1e5f31136a48c040.diff" rel="noreferrer" target="_blank">https://github.com/llvm/llvm-project/commit/b129c9d81aff8ece71eb29df1e5f31136a48c040.diff</a><br>
<br>
LOG: Author: Shuhong Liu <<a href="mailto:shuhong.liu@ibm.com" target="_blank">shuhong.liu@ibm.com</a>><br>
Date:   Mon Aug 10 10:31:50 2020 +0300<br>
<br>
    [AIX][Clang][Driver] Generate reference to the C++ library on the link step<br>
<br>
    Have the linker find libc++ on its search path by adding -lc++.<br>
<br>
    Reviewed by: daltenty, hubert.reinterpretcast, stevewan<br>
<br>
    Differential Revision: <a href="https://reviews.llvm.org/D85315" rel="noreferrer" target="_blank">https://reviews.llvm.org/D85315</a><br>
<br>
Added: <br>
<br>
<br>
Modified: <br>
    clang/lib/Driver/ToolChains/AIX.cpp<br>
    clang/lib/Driver/ToolChains/AIX.h<br>
    clang/test/Driver/aix-ld.c<br>
<br>
Removed: <br>
<br>
<br>
<br>
################################################################################<br>
diff  --git a/clang/lib/Driver/ToolChains/AIX.cpp b/clang/lib/Driver/ToolChains/AIX.cpp<br>
index f9d8e18d6fd0..bc130a5557e9 100644<br>
--- a/clang/lib/Driver/ToolChains/AIX.cpp<br>
+++ b/clang/lib/Driver/ToolChains/AIX.cpp<br>
@@ -141,6 +141,9 @@ void aix::Linker::ConstructJob(Compilation &C, const JobAction &JA,<br>
   Args.AddAllArgs(CmdArgs, options::OPT_L);<br>
   ToolChain.AddFilePathLibArgs(Args, CmdArgs);<br>
<br>
+  if (getToolChain().ShouldLinkCXXStdlib(Args))<br>
+    getToolChain().AddCXXStdlibLibArgs(Args, CmdArgs);<br>
+<br>
   if (!Args.hasArg(options::OPT_nostdlib, options::OPT_nodefaultlibs)) {<br>
     // Support POSIX threads if "-pthreads" or "-pthread" is present.<br>
     if (Args.hasArg(options::OPT_pthreads, options::OPT_pthread))<br>
@@ -197,6 +200,23 @@ void AIX::AddClangSystemIncludeArgs(const ArgList &DriverArgs,<br>
   addSystemInclude(DriverArgs, CC1Args, UP.str());<br>
 }<br>
<br>
+void AIX::AddCXXStdlibLibArgs(const llvm::opt::ArgList &DriverArgs,<br>
+                              llvm::opt::ArgStringList &CC1Args) const {<br>
+  switch (GetCXXStdlibType(DriverArgs)) {<br>
+  case ToolChain::CST_Libcxx:<br>
+    CC1Args.push_back("-lc++");<br>
+    return;<br>
+  case ToolChain::CST_Libstdcxx:<br>
+    llvm::report_fatal_error("linking libstdc++ unimplemented on AIX");<br>
+  }<br>
+<br>
+  llvm_unreachable("Unexpected C++ library type; only libc++ is supported.");<br>
+}<br>
+<br>
+ToolChain::CXXStdlibType AIX::GetDefaultCXXStdlibType() const {<br>
+  return ToolChain::CST_Libcxx;<br>
+}<br>
+<br>
 auto AIX::buildAssembler() const -> Tool * { return new aix::Assembler(*this); }<br>
<br>
 auto AIX::buildLinker() const -> Tool * { return new aix::Linker(*this); }<br>
<br>
diff  --git a/clang/lib/Driver/ToolChains/AIX.h b/clang/lib/Driver/ToolChains/AIX.h<br>
index 942bb3cceb8a..f63b20da969e 100644<br>
--- a/clang/lib/Driver/ToolChains/AIX.h<br>
+++ b/clang/lib/Driver/ToolChains/AIX.h<br>
@@ -67,6 +67,11 @@ class LLVM_LIBRARY_VISIBILITY AIX : public ToolChain {<br>
   AddClangSystemIncludeArgs(const llvm::opt::ArgList &DriverArgs,<br>
                             llvm::opt::ArgStringList &CC1Args) const override;<br>
<br>
+  void AddCXXStdlibLibArgs(const llvm::opt::ArgList &Args,<br>
+                           llvm::opt::ArgStringList &CmdArgs) const override;<br>
+<br>
+  CXXStdlibType GetDefaultCXXStdlibType() const override;<br>
+<br>
 protected:<br>
   Tool *buildAssembler() const override;<br>
   Tool *buildLinker() const override;<br>
<br>
diff  --git a/clang/test/Driver/aix-ld.c b/clang/test/Driver/aix-ld.c<br>
index 59e35248af30..7b3710ca21ef 100644<br>
--- a/clang/test/Driver/aix-ld.c<br>
+++ b/clang/test/Driver/aix-ld.c<br>
@@ -15,6 +15,7 @@<br>
 // CHECK-LD32:     "-bpT:0x10000000" "-bpD:0x20000000"<br>
 // CHECK-LD32:     "[[SYSROOT]]/usr/lib{{/|\\\\}}crt0.o"<br>
 // CHECK-LD32:     "-L[[SYSROOT]]/usr/lib"<br>
+// CHECK-LD32-NOT: "-lc++"<br>
 // CHECK-LD32:     "-lc"<br>
<br>
 // Check powerpc64-ibm-aix7.1.0.0, 64-bit.<br>
@@ -31,6 +32,7 @@<br>
 // CHECK-LD64:     "-bpT:0x100000000" "-bpD:0x110000000"<br>
 // CHECK-LD64:     "[[SYSROOT]]/usr/lib{{/|\\\\}}crt0_64.o"<br>
 // CHECK-LD64:     "-L[[SYSROOT]]/usr/lib"<br>
+// CHECK-LD64-NOT: "-lc++"<br>
 // CHECK-LD64:     "-lc"<br>
<br>
 // Check powerpc-ibm-aix7.1.0.0, 32-bit. Enable POSIX thread support.<br>
@@ -48,6 +50,7 @@<br>
 // CHECK-LD32-PTHREAD:     "-bpT:0x10000000" "-bpD:0x20000000"<br>
 // CHECK-LD32-PTHREAD:     "[[SYSROOT]]/usr/lib{{/|\\\\}}crt0.o"<br>
 // CHECK-LD32-PTHREAD:     "-L[[SYSROOT]]/usr/lib"<br>
+// CHECK-LD32-PTHREAD-NOT: "-lc++"<br>
 // CHECK-LD32-PTHREAD:     "-lpthreads"<br>
 // CHECK-LD32-PTHREAD:     "-lc"<br>
<br>
@@ -66,6 +69,7 @@<br>
 // CHECK-LD64-PTHREAD:     "-bpT:0x100000000" "-bpD:0x110000000"<br>
 // CHECK-LD64-PTHREAD:     "[[SYSROOT]]/usr/lib{{/|\\\\}}crt0_64.o"<br>
 // CHECK-LD64-PTHREAD:     "-L[[SYSROOT]]/usr/lib"<br>
+// CHECK-LD64-PTHREAD-NOT: "-lc++"<br>
 // CHECK-LD64-PTHREAD:     "-lpthreads"<br>
 // CHECK-LD64-PTHREAD:     "-lc"<br>
<br>
@@ -84,6 +88,7 @@<br>
 // CHECK-LD32-PROF:     "-bpT:0x10000000" "-bpD:0x20000000"<br>
 // CHECK-LD32-PROF:     "[[SYSROOT]]/usr/lib{{/|\\\\}}mcrt0.o"<br>
 // CHECK-LD32-PROF:     "-L[[SYSROOT]]/usr/lib"<br>
+// CHECK-LD32-PROF-NOT: "-lc++"<br>
 // CHECK-LD32-PROF:     "-lc"<br>
<br>
 // Check powerpc64-ibm-aix7.1.0.0, 64-bit. Enable g-profiling.<br>
@@ -101,6 +106,7 @@<br>
 // CHECK-LD64-GPROF:     "-bpT:0x100000000" "-bpD:0x110000000"<br>
 // CHECK-LD64-GPROF:     "[[SYSROOT]]/usr/lib{{/|\\\\}}gcrt0_64.o"<br>
 // CHECK-LD64-GPROF:     "-L[[SYSROOT]]/usr/lib"<br>
+// CHECK-LD64-GPROF-NOT: "-lc++"<br>
 // CHECK-LD64-GPROF:     "-lc"<br>
<br>
 // Check powerpc-ibm-aix7.1.0.0, 32-bit. Static linking.<br>
@@ -118,6 +124,7 @@<br>
 // CHECK-LD32-STATIC:     "-bpT:0x10000000" "-bpD:0x20000000"<br>
 // CHECK-LD32-STATIC:     "[[SYSROOT]]/usr/lib{{/|\\\\}}crt0.o"<br>
 // CHECK-LD32-STATIC:     "-L[[SYSROOT]]/usr/lib"<br>
+// CHECK-LD32-STATIC-NOT: "-lc++"<br>
 // CHECK-LD32-STATIC:     "-lc"<br>
<br>
 // Check powerpc-ibm-aix7.1.0.0, 32-bit. Library search path.<br>
@@ -136,6 +143,7 @@<br>
 // CHECK-LD32-LIBP:     "[[SYSROOT]]/usr/lib{{/|\\\\}}crt0.o"<br>
 // CHECK-LD32-LIBP:     "-L[[SYSROOT]]/powerpc-ibm-aix7.1.0.0"<br>
 // CHECK-LD32-LIBP:     "-L[[SYSROOT]]/usr/lib"<br>
+// CHECK-LD32-LIBP-NOT: "-lc++"<br>
 // CHECK-LD32-LIBP:     "-lc"<br>
<br>
 // Check powerpc-ibm-aix7.1.0.0, 32-bit. nostdlib.<br>
@@ -154,6 +162,7 @@<br>
 // CHECK-LD32-NO-STD-LIB:     "-bpT:0x10000000" "-bpD:0x20000000"<br>
 // CHECK-LD32-NO-STD-LIB-NOT: "[[SYSROOT]]/usr/lib{{/|\\\\}}crt0.o"<br>
 // CHECK-LD32-NO-STD-LIB:     "-L[[SYSROOT]]/usr/lib"<br>
+// CHECK-LD32-NO-STD-LIB-NOT: "-lc++"<br>
 // CHECK-LD32-NO-STD-LIB-NOT: "-lpthreads"<br>
 // CHECK-LD32-NO-STD-LIB-NOT: "-lc"<br>
<br>
@@ -173,14 +182,15 @@<br>
 // CHECK-LD64-NO-DEFAULT-LIBS:     "-bpT:0x100000000" "-bpD:0x110000000"<br>
 // CHECK-LD64-NO-DEFAULT-LIBS:     "[[SYSROOT]]/usr/lib{{/|\\\\}}crt0_64.o"<br>
 // CHECK-LD64-NO-DEFAULT-LIBS:     "-L[[SYSROOT]]/usr/lib"<br>
+// CHECK-LD64-NO-DEFAULT-LIBS-NOT: "-lc++"<br>
 // CHECK-LD64-NO-DEFAULT-LIBS-NOT: "-lpthreads"<br>
 // CHECK-LD64-NO-DEFAULT-LIBS-NOT: "-lc"<br>
<br>
 // Check powerpc-ibm-aix7.1.0.0, 32-bit. 'bcdtors' and argument order.<br>
 // RUN: %clangxx -no-canonical-prefixes %s 2>&1 -### \<br>
-// RUN:          -Wl,-bnocdtors \<br>
-// RUN:          -target powerpc-ibm-aix7.1.0.0 \<br>
-// RUN:          --sysroot %S/Inputs/aix_ppc_tree \<br>
+// RUN:        -Wl,-bnocdtors \<br>
+// RUN:        -target powerpc-ibm-aix7.1.0.0 \<br>
+// RUN:        --sysroot %S/Inputs/aix_ppc_tree \<br>
 // RUN:   | FileCheck --check-prefix=CHECK-LD32-CXX-ARG-ORDER %s<br>
 // CHECK-LD32-CXX-ARG-ORDER:     {{.*}}clang{{.*}}" "-cc1" "-triple" "powerpc-ibm-aix7.1.0.0"<br>
 // CHECK-LD32-CXX-ARG-ORDER:     "-isysroot" "[[SYSROOT:[^"]+]]"<br>
@@ -192,3 +202,146 @@<br>
 // CHECK-LD32-CXX-ARG-ORDER:     "-bcdtors:all:0:s"<br>
 // CHECK-LD32-CXX-ARG-ORDER:     "-bnocdtors"<br>
 // CHECK-LD32-CXX-ARG-ORDER-NOT: "-bcdtors:all:0:s"<br>
+// CHECK-LD32-CXX-ARG-ORDER:     "-lc++"<br>
+// CHECK-LD32-CXX-ARG-ORDER:     "-lc"<br>
+<br>
+// Check powerpc-ibm-aix7.1.0.0, 32-bit. lc++ and lc order.<br>
+// RUN: %clangxx -no-canonical-prefixes %s 2>&1 -### \<br>
+// RUN:        -target powerpc-ibm-aix7.1.0.0 \<br>
+// RUN:        --sysroot %S/Inputs/aix_ppc_tree \<br>
+// RUN:   | FileCheck --check-prefix=CHECK-LD32-CXX-ARG-LCXX %s<br>
+// CHECK-LD32-CXX-ARG-LCXX:     {{.*}}clang{{.*}}" "-cc1" "-triple" "powerpc-ibm-aix7.1.0.0"<br>
+// CHECK-LD32-CXX-ARG-LCXX:     "-isysroot" "[[SYSROOT:[^"]+]]"<br>
+// CHECK-LD32-CXX-ARG-LCXX:     "{{.*}}ld{{(.exe)?}}"<br>
+// CHECK-LD32-CXX-ARG-LCXX:     "-b32"<br>
+// CHECK-LD32-CXX-ARG-LCXX:     "-bpT:0x10000000" "-bpD:0x20000000"<br>
+// CHECK-LD32-CXX-ARG-LCXX:     "[[SYSROOT]]/usr/lib{{/|\\\\}}crt0.o"<br>
+// CHECK-LD32-CXX-ARG-LCXX:     "-L[[SYSROOT]]/usr/lib"<br>
+// CHECK-LD32-CXX-ARG-LCXX:     "-lc++"<br>
+// CHECK-LD32-CXX-ARG-LCXX:     "-lc"<br>
+<br>
+// Check powerpc64-ibm-aix7.1.0.0, 64-bit. lc++ and lc order.<br>
+// RUN: %clangxx -no-canonical-prefixes %s 2>&1 -### \<br>
+// RUN:        -target powerpc64-ibm-aix7.1.0.0 \<br>
+// RUN:        --sysroot %S/Inputs/aix_ppc_tree \<br>
+// RUN:   | FileCheck --check-prefix=CHECK-LD64-CXX-ARG-LCXX %s<br>
+// CHECK-LD64-CXX-ARG-LCXX:     {{.*}}clang{{.*}}" "-cc1" "-triple" "powerpc64-ibm-aix7.1.0.0"<br>
+// CHECK-LD64-CXX-ARG-LCXX:     "-isysroot" "[[SYSROOT:[^"]+]]"<br>
+// CHECK-LD64-CXX-ARG-LCXX:     "{{.*}}ld{{(.exe)?}}"<br>
+// CHECK-LD64-CXX-ARG-LCXX:     "-b64"<br>
+// CHECK-LD64-CXX-ARG-LCXX:     "-bpT:0x100000000" "-bpD:0x110000000"<br>
+// CHECK-LD64-CXX-ARG-LCXX:     "[[SYSROOT]]/usr/lib{{/|\\\\}}crt0_64.o"<br>
+// CHECK-LD64-CXX-ARG-LCXX:     "-L[[SYSROOT]]/usr/lib"<br>
+// CHECK-LD64-CXX-ARG-LCXX:     "-lc++"<br>
+// CHECK-LD64-CXX-ARG-LCXX:     "-lc"<br>
+<br>
+// Check powerpc-ibm-aix7.1.0.0, 32-bit. -nodefaultlibs.<br>
+// RUN: %clangxx -no-canonical-prefixes %s 2>&1 -### \<br>
+// RUN:        -nodefaultlibs \<br>
+// RUN:        -target powerpc-ibm-aix7.1.0.0 \<br>
+// RUN:        --sysroot %S/Inputs/aix_ppc_tree \<br>
+// RUN:   | FileCheck --check-prefix=CHECK-LD32-NODEFLIB-LCXX %s<br>
+// CHECK-LD32-NODEFLIB-LCXX:     {{.*}}clang{{.*}}" "-cc1" "-triple" "powerpc-ibm-aix7.1.0.0"<br>
+// CHECK-LD32-NODEFLIB-LCXX:     "-isysroot" "[[SYSROOT:[^"]+]]"<br>
+// CHECK-LD32-NODEFLIB-LCXX:     "{{.*}}ld{{(.exe)?}}"<br>
+// CHECK-LD32-NODEFLIB-LCXX:     "-b32"<br>
+// CHECK-LD32-NODEFLIB-LCXX:     "-bpT:0x10000000" "-bpD:0x20000000"<br>
+// CHECK-LD32-NODEFLIB-LCXX:     "[[SYSROOT]]/usr/lib{{/|\\\\}}crt0.o"<br>
+// CHECK-LD32-NODEFLIB-LCXX:     "-L[[SYSROOT]]/usr/lib"<br>
+// CHECK-LD32-NODEFLIB-LCXX-NOT: "-lc++"<br>
+// CHECK-LD32-NODEFLIB-LCXX-NOT: "-lc"<br>
+<br>
+// Check powerpc64-ibm-aix7.1.0.0, 64-bit. -nodefaultlibs.<br>
+// RUN: %clangxx -no-canonical-prefixes %s 2>&1 -### \<br>
+// RUN:        -nodefaultlibs \<br>
+// RUN:        -target powerpc64-ibm-aix7.1.0.0 \<br>
+// RUN:        --sysroot %S/Inputs/aix_ppc_tree \<br>
+// RUN:   | FileCheck --check-prefix=CHECK-LD64-NODEFLIB-LCXX %s<br>
+// CHECK-LD64-NODEFLIB-LCXX:     {{.*}}clang{{.*}}" "-cc1" "-triple" "powerpc64-ibm-aix7.1.0.0"<br>
+// CHECK-LD64-NODEFLIB-LCXX:     "-isysroot" "[[SYSROOT:[^"]+]]"<br>
+// CHECK-LD64-NODEFLIB-LCXX:     "{{.*}}ld{{(.exe)?}}"<br>
+// CHECK-LD64-NODEFLIB-LCXX:     "-b64"<br>
+// CHECK-LD64-NODEFLIB-LCXX:     "-bpT:0x100000000" "-bpD:0x110000000"<br>
+// CHECK-LD64-NODEFLIB-LCXX:     "[[SYSROOT]]/usr/lib{{/|\\\\}}crt0_64.o"<br>
+// CHECK-LD64-NODEFLIB-LCXX:     "-L[[SYSROOT]]/usr/lib"<br>
+// CHECK-LD64-NODEFLIB-LCXX-NOT: "-lc++"<br>
+// CHECK-LD64-NODEFLIB-LCXX-NOT: "-lc"<br>
+<br>
+// Check powerpc-ibm-aix7.1.0.0, 32-bit. -nostdlib.<br>
+// RUN: %clangxx -no-canonical-prefixes %s 2>&1 -### \<br>
+// RUN:        -nostdlib \<br>
+// RUN:        -target powerpc-ibm-aix7.1.0.0 \<br>
+// RUN:        --sysroot %S/Inputs/aix_ppc_tree \<br>
+// RUN:   | FileCheck --check-prefix=CHECK-LD32-NOSTDLIB-LCXX %s<br>
+// CHECK-LD32-NOSTDLIB-LCXX:     {{.*}}clang{{.*}}" "-cc1" "-triple" "powerpc-ibm-aix7.1.0.0"<br>
+// CHECK-LD32-NOSTDLIB-LCXX:     "-isysroot" "[[SYSROOT:[^"]+]]"<br>
+// CHECK-LD32-NOSTDLIB-LCXX:     "{{.*}}ld{{(.exe)?}}"<br>
+// CHECK-LD32-NOSTDLIB-LCXX:     "-b32"<br>
+// CHECK-LD32-NOSTDLIB-LCXX:     "-bpT:0x10000000" "-bpD:0x20000000"<br>
+// CHECK-LD32-NOSTDLIB-LCXX-NOT: "[[SYSROOT]]/usr/lib{{/|\\\\}}crt0.o"<br>
+// CHECK-LD32-NOSTDLIB-LCXX:     "-L[[SYSROOT]]/usr/lib"<br>
+// CHECK-LD32-NOSTDLIB-LCXX-NOT: "-lc++"<br>
+// CHECK-LD32-NOSTDLIB-LCXX-NOT: "-lc"<br>
+<br>
+// Check powerpc64-ibm-aix7.1.0.0, 64-bit. -nostdlib.<br>
+// RUN: %clangxx -no-canonical-prefixes %s 2>&1 -### \<br>
+// RUN:        -nostdlib \<br>
+// RUN:        -target powerpc64-ibm-aix7.1.0.0 \<br>
+// RUN:        --sysroot %S/Inputs/aix_ppc_tree \<br>
+// RUN:   | FileCheck --check-prefix=CHECK-LD64-NOSTDLIB-LCXX %s<br>
+// CHECK-LD64-NOSTDLIB-LCXX:     {{.*}}clang{{.*}}" "-cc1" "-triple" "powerpc64-ibm-aix7.1.0.0"<br>
+// CHECK-LD64-NOSTDLIB-LCXX:     "-isysroot" "[[SYSROOT:[^"]+]]"<br>
+// CHECK-LD64-NOSTDLIB-LCXX:     "{{.*}}ld{{(.exe)?}}"<br>
+// CHECK-LD64-NOSTDLIB-LCXX:     "-b64"<br>
+// CHECK-LD64-NOSTDLIB-LCXX:     "-bpT:0x100000000" "-bpD:0x110000000"<br>
+// CHECK-LD64-NOSTDLIB-LCXX-NOT: "[[SYSROOT]]/usr/lib{{/|\\\\}}crt0_64.o"<br>
+// CHECK-LD64-NOSTDLIB-LCXX:     "-L[[SYSROOT]]/usr/lib"<br>
+// CHECK-LD64-NOSTDLIB-LCXX-NOT: "-lc++"<br>
+// CHECK-LD64-NOSTDLIB-LCXX-NOT: "-lc"<br>
+<br>
+// Check powerpc-ibm-aix7.1.0.0, 32-bit. -nostdlib++.<br>
+// RUN: %clangxx -no-canonical-prefixes %s 2>&1 -### \<br>
+// RUN:        -nostdlib++ \<br>
+// RUN:        -target powerpc-ibm-aix7.1.0.0 \<br>
+// RUN:        --sysroot %S/Inputs/aix_ppc_tree \<br>
+// RUN:   | FileCheck --check-prefix=CHECK-LD32-NOSTDLIBXX-LCXX %s<br>
+// CHECK-LD32-NOSTDLIBXX-LCXX:     {{.*}}clang{{.*}}" "-cc1" "-triple" "powerpc-ibm-aix7.1.0.0"<br>
+// CHECK-LD32-NOSTDLIBXX-LCXX:     "-isysroot" "[[SYSROOT:[^"]+]]"<br>
+// CHECK-LD32-NOSTDLIBXX-LCXX:     "{{.*}}ld{{(.exe)?}}"<br>
+// CHECK-LD32-NOSTDLIBXX-LCXX:     "-b32"<br>
+// CHECK-LD32-NOSTDLIBXX-LCXX:     "-bpT:0x10000000" "-bpD:0x20000000"<br>
+// CHECK-LD32-NOSTDLIBXX-LCXX:     "[[SYSROOT]]/usr/lib{{/|\\\\}}crt0.o"<br>
+// CHECK-LD32-NOSTDLIBXX-LCXX:     "-L[[SYSROOT]]/usr/lib"<br>
+// CHECK-LD32-NOSTDLIBXX-LCXX-NOT: "-lc++"<br>
+// CHECK-LD32-NOSTDLIBXX-LCXX:     "-lc"<br>
+<br>
+// Check powerpc64-ibm-aix7.1.0.0, 64-bit. -nostdlib++.<br>
+// RUN: %clangxx -no-canonical-prefixes %s 2>&1 -### \<br>
+// RUN:        -nostdlib++ \<br>
+// RUN:        -target powerpc64-ibm-aix7.1.0.0 \<br>
+// RUN:        --sysroot %S/Inputs/aix_ppc_tree \<br>
+// RUN:   | FileCheck --check-prefix=CHECK-LD64-NOSTDLIBXX-LCXX %s<br>
+// CHECK-LD64-NOSTDLIBXX-LCXX:     {{.*}}clang{{.*}}" "-cc1" "-triple" "powerpc64-ibm-aix7.1.0.0"<br>
+// CHECK-LD64-NOSTDLIBXX-LCXX:     "-isysroot" "[[SYSROOT:[^"]+]]"<br>
+// CHECK-LD64-NOSTDLIBXX-LCXX:     "{{.*}}ld{{(.exe)?}}"<br>
+// CHECK-LD64-NOSTDLIBXX-LCXX:     "-b64"<br>
+// CHECK-LD64-NOSTDLIBXX-LCXX:     "-bpT:0x100000000" "-bpD:0x110000000"<br>
+// CHECK-LD64-NOSTDLIBXX-LCXX:     "[[SYSROOT]]/usr/lib{{/|\\\\}}crt0_64.o"<br>
+// CHECK-LD64-NOSTDLIBXX-LCXX:     "-L[[SYSROOT]]/usr/lib"<br>
+// CHECK-LD64-NOSTDLIBXX-LCXX-NOT: "-lc++"<br>
+// CHECK-LD64-NOSTDLIBXX-LCXX:     "-lc"<br>
+<br>
+// Check powerpc-ibm-aix7.1.0.0, 32-bit. -stdlib=libstdc++ invokes fatal error.<br>
+// RUN: not --crash %clangxx -no-canonical-prefixes %s 2>&1 -### \<br>
+// RUN:        -target powerpc-ibm-aix7.1.0.0 \<br>
+// RUN:        -stdlib=libstdc++ \<br>
+// RUN:        --sysroot %S/Inputs/aix_ppc_tree \<br>
+// RUN:   | FileCheck --check-prefix=CHECK-LD-LIBSTDCXX %s<br>
+<br>
+// Check powerpc64-ibm-aix7.1.0.0, 64-bit. -stdlib=libstdc++ invokes fatal error.<br>
+// RUN: not --crash %clangxx -no-canonical-prefixes %s 2>&1 -### \<br>
+// RUN:        -target powerpc64-ibm-aix7.1.0.0 \<br>
+// RUN:        -stdlib=libstdc++ \<br>
+// RUN:        --sysroot %S/Inputs/aix_ppc_tree \<br>
+// RUN:   | FileCheck --check-prefix=CHECK-LD-LIBSTDCXX %s<br>
+// CHECK-LD-LIBSTDCXX: LLVM ERROR: linking libstdc++ unimplemented on AIX<br>
<br>
<br>
<br>
_______________________________________________<br>
cfe-commits mailing list<br>
<a href="mailto:cfe-commits@lists.llvm.org" target="_blank">cfe-commits@lists.llvm.org</a><br>
<a href="https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits" rel="noreferrer" target="_blank">https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits</a><br>
</blockquote></div>