[NFC] Use llvm::SmallVector to workaround XL compiler problem on AIX
authorXiangling Liao <Xiangling.Liao@ibm.com>
Tue, 9 Mar 2021 18:01:03 +0000 (13:01 -0500)
committerXiangling Liao <Xiangling.Liao@ibm.com>
Tue, 9 Mar 2021 18:03:52 +0000 (13:03 -0500)
LLVM is recommending to use SmallVector (that is, omitting the N), in the
absence of a well-motivated choice for the number of inlined elements N.

However, this doesn't work well with XL compiler on AIX since some header(s)
aren't properly picked up with it. We need to take a further look into the real
issue underneath and fix it in a later patch.

But currently we'd like to use this patch to unblock the build compiler issue
first.

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

clang/lib/CodeGen/CGStmtOpenMP.cpp

index 2eaa481..575d114 100644 (file)
@@ -1913,7 +1913,7 @@ static llvm::CallInst *
 emitCapturedStmtCall(CodeGenFunction &ParentCGF, EmittedClosureTy Cap,
                      llvm::ArrayRef<llvm::Value *> Args) {
   // Append the closure context to the argument.
-  SmallVector<llvm::Value *> EffectiveArgs;
+  llvm::SmallVector<llvm::Value *> EffectiveArgs;
   EffectiveArgs.reserve(Args.size() + 1);
   llvm::append_range(EffectiveArgs, Args);
   EffectiveArgs.push_back(Cap.second);