Skip to content

Commit de60827

Browse files
Merge from 'master' to 'sycl-web' (#5)
CONFLICT (content): Merge conflict in clang/include/clang/Basic/DiagnosticDriverKinds.td
2 parents 6c15476 + eaf7329 commit de60827

File tree

112 files changed

+2626
-885
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

112 files changed

+2626
-885
lines changed

clang-tools-extra/clangd/SourceCode.cpp

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -633,6 +633,12 @@ std::vector<Range> collectIdentifierRanges(llvm::StringRef Identifier,
633633
return Ranges;
634634
}
635635

636+
bool isKeyword(llvm::StringRef NewName, const LangOptions &LangOpts) {
637+
// Keywords are initialized in constructor.
638+
clang::IdentifierTable KeywordsTable(LangOpts);
639+
return KeywordsTable.find(NewName) != KeywordsTable.end();
640+
}
641+
636642
namespace {
637643
struct NamespaceEvent {
638644
enum {

clang-tools-extra/clangd/SourceCode.h

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -248,6 +248,10 @@ struct SpelledWord {
248248
const LangOptions &LangOpts);
249249
};
250250

251+
/// Return true if the \p TokenName is in the list of reversed keywords of the
252+
/// language.
253+
bool isKeyword(llvm::StringRef TokenName, const LangOptions &LangOpts);
254+
251255
/// Heuristically determine namespaces visible at a point, without parsing Code.
252256
/// This considers using-directives and enclosing namespace-declarations that
253257
/// are visible (and not obfuscated) in the file itself (not headers).

clang-tools-extra/clangd/unittests/SourceCodeTests.cpp

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -789,6 +789,19 @@ TEST(SourceCodeTests, isHeaderFile) {
789789
EXPECT_TRUE(isHeaderFile("header.h", LangOpts));
790790
}
791791

792+
TEST(SourceCodeTests, isKeywords) {
793+
LangOptions LangOpts;
794+
LangOpts.CPlusPlus20 = true;
795+
EXPECT_TRUE(isKeyword("int", LangOpts));
796+
EXPECT_TRUE(isKeyword("return", LangOpts));
797+
EXPECT_TRUE(isKeyword("co_await", LangOpts));
798+
799+
// these are identifiers (not keywords!) with special meaning in some
800+
// contexts.
801+
EXPECT_FALSE(isKeyword("final", LangOpts));
802+
EXPECT_FALSE(isKeyword("override", LangOpts));
803+
}
804+
792805
} // namespace
793806
} // namespace clangd
794807
} // namespace clang

clang-tools-extra/clangd/unittests/TypeHierarchyTests.cpp

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -29,11 +29,8 @@ namespace {
2929

3030
using ::testing::AllOf;
3131
using ::testing::ElementsAre;
32-
using ::testing::Eq;
3332
using ::testing::Field;
34-
using ::testing::IsEmpty;
3533
using ::testing::Matcher;
36-
using ::testing::Pointee;
3734
using ::testing::UnorderedElementsAre;
3835

3936
// GMock helpers for matching TypeHierarchyItem.

clang/include/clang/Basic/DiagnosticDriverKinds.td

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -265,6 +265,7 @@ def err_drv_no_neon_modifier : Error<"[no]neon is not accepted as modifier, plea
265265
def err_drv_invalid_omp_target : Error<"OpenMP target is invalid: '%0'">;
266266
def err_drv_invalid_sycl_target : Error<"SYCL target is invalid: '%0'">;
267267
def err_drv_option_conflict : Error<"The option %0 conflicts with %1">;
268+
def err_drv_incompatible_omp_arch : Error<"OpenMP target architecture '%0' pointer size is incompatible with host '%1'">;
268269
def err_drv_omp_host_ir_file_not_found : Error<
269270
"The provided host compiler IR file '%0' is required to generate code for OpenMP target regions but cannot be found.">;
270271
def err_drv_omp_host_target_not_supported : Error<

clang/lib/AST/ASTStructuralEquivalence.cpp

Lines changed: 3 additions & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -1256,48 +1256,9 @@ static bool IsStructurallyEquivalent(StructuralEquivalenceContext &Context,
12561256
return false;
12571257
}
12581258

1259-
if (Field1->isBitField() != Field2->isBitField()) {
1260-
if (Context.Complain) {
1261-
Context.Diag2(
1262-
Owner2->getLocation(),
1263-
Context.getApplicableDiagnostic(diag::err_odr_tag_type_inconsistent))
1264-
<< Context.ToCtx.getTypeDeclType(Owner2);
1265-
if (Field1->isBitField()) {
1266-
Context.Diag1(Field1->getLocation(), diag::note_odr_bit_field)
1267-
<< Field1->getDeclName() << Field1->getType()
1268-
<< Field1->getBitWidthValue(Context.FromCtx);
1269-
Context.Diag2(Field2->getLocation(), diag::note_odr_not_bit_field)
1270-
<< Field2->getDeclName();
1271-
} else {
1272-
Context.Diag2(Field2->getLocation(), diag::note_odr_bit_field)
1273-
<< Field2->getDeclName() << Field2->getType()
1274-
<< Field2->getBitWidthValue(Context.ToCtx);
1275-
Context.Diag1(Field1->getLocation(), diag::note_odr_not_bit_field)
1276-
<< Field1->getDeclName();
1277-
}
1278-
}
1279-
return false;
1280-
}
1281-
1282-
if (Field1->isBitField()) {
1283-
// Make sure that the bit-fields are the same length.
1284-
unsigned Bits1 = Field1->getBitWidthValue(Context.FromCtx);
1285-
unsigned Bits2 = Field2->getBitWidthValue(Context.ToCtx);
1286-
1287-
if (Bits1 != Bits2) {
1288-
if (Context.Complain) {
1289-
Context.Diag2(Owner2->getLocation(),
1290-
Context.getApplicableDiagnostic(
1291-
diag::err_odr_tag_type_inconsistent))
1292-
<< Context.ToCtx.getTypeDeclType(Owner2);
1293-
Context.Diag2(Field2->getLocation(), diag::note_odr_bit_field)
1294-
<< Field2->getDeclName() << Field2->getType() << Bits2;
1295-
Context.Diag1(Field1->getLocation(), diag::note_odr_bit_field)
1296-
<< Field1->getDeclName() << Field1->getType() << Bits1;
1297-
}
1298-
return false;
1299-
}
1300-
}
1259+
if (Field1->isBitField())
1260+
return IsStructurallyEquivalent(Context, Field1->getBitWidth(),
1261+
Field2->getBitWidth());
13011262

13021263
return true;
13031264
}

clang/lib/AST/ComputeDependence.cpp

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -466,10 +466,12 @@ ExprDependence clang::computeDependence(DeclRefExpr *E, const ASTContext &Ctx) {
466466
: Var->getType()->isIntegralOrEnumerationType()) &&
467467
(Var->getType().isConstQualified() ||
468468
Var->getType()->isReferenceType())) {
469-
if (const Expr *Init = Var->getAnyInitializer())
470-
if (Init->isValueDependent()) {
469+
if (const Expr *Init = Var->getAnyInitializer()) {
470+
if (Init->isValueDependent())
471471
Deps |= ExprDependence::ValueInstantiation;
472-
}
472+
if (Init->containsErrors())
473+
Deps |= ExprDependence::Error;
474+
}
473475
}
474476

475477
// (VD) - FIXME: Missing from the standard:

clang/lib/Frontend/CompilerInvocation.cpp

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3229,6 +3229,14 @@ static void ParseLangArgs(LangOptions &Opts, ArgList &Args, InputKind IK,
32293229
TT.getArch() == llvm::Triple::x86 ||
32303230
TT.getArch() == llvm::Triple::x86_64))
32313231
Diags.Report(diag::err_drv_invalid_omp_target) << A->getValue(i);
3232+
else if ((T.isArch64Bit() && TT.isArch32Bit()) ||
3233+
(T.isArch64Bit() && TT.isArch16Bit()) ||
3234+
(T.isArch32Bit() && TT.isArch64Bit()) ||
3235+
(T.isArch32Bit() && TT.isArch16Bit()) ||
3236+
(T.isArch16Bit() && TT.isArch32Bit()) ||
3237+
(T.isArch16Bit() && TT.isArch64Bit()))
3238+
Diags.Report(diag::err_drv_incompatible_omp_arch)
3239+
<< A->getValue(i) << T.str();
32323240
else
32333241
Opts.OMPTargetTriples.push_back(TT);
32343242
}

clang/lib/Parse/ParseStmtAsm.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -581,7 +581,7 @@ StmtResult Parser::ParseMicrosoftAsmStatement(SourceLocation AsmLoc) {
581581
std::unique_ptr<llvm::MCSubtargetInfo> STI(
582582
TheTarget->createMCSubtargetInfo(TT, TO.CPU, FeaturesStr));
583583
// Target MCTargetDesc may not be linked in clang-based tools.
584-
if (!MAI || !MII | !MOFI || !STI) {
584+
if (!MAI || !MII || !MOFI || !STI) {
585585
Diag(AsmLoc, diag::err_msasm_unable_to_create_target)
586586
<< "target MC unavailable";
587587
return EmptyStmt();

clang/lib/Sema/SemaOverload.cpp

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12880,7 +12880,12 @@ static QualType chooseRecoveryType(OverloadCandidateSet &CS,
1288012880
for (const auto &C : CS)
1288112881
ConsiderCandidate(C);
1288212882

12883-
return Result.getValueOr(QualType());
12883+
if (!Result)
12884+
return QualType();
12885+
auto Value = Result.getValue();
12886+
if (Value.isNull() || Value->isUndeducedType())
12887+
return QualType();
12888+
return Value;
1288412889
}
1288512890

1288612891
/// FinishOverloadedCallExpr - given an OverloadCandidateSet, builds and returns

clang/test/AST/ast-dump-recovery.cpp

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -126,6 +126,12 @@ void test(int x) {
126126
// CHECK-NEXT:| `-UnresolvedLookupExpr {{.*}} 'invalid'
127127
struct alignas(invalid()) Aligned {};
128128

129+
auto f();
130+
int f(double);
131+
// CHECK: VarDecl {{.*}} unknown_type_call 'int'
132+
// CHECK-NEXT: `-RecoveryExpr {{.*}} '<dependent type>'
133+
int unknown_type_call = f(0, 0);
134+
129135
void InvalidInitalizer(int x) {
130136
struct Bar { Bar(); };
131137
// CHECK: `-VarDecl {{.*}} a1 'Bar'

clang/test/ASTMerge/struct/test.c

Lines changed: 1 addition & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -21,16 +21,6 @@
2121
// CHECK: struct1.c:27:8: note: no corresponding field here
2222
// CHECK: struct2.c:24:31: warning: external variable 'x4' declared with incompatible types in different translation units ('struct S4' vs. 'struct S4')
2323
// CHECK: struct1.c:27:22: note: declared here with type 'struct S4'
24-
// CHECK: struct1.c:33:8: warning: type 'struct S6' has incompatible definitions in different translation units
25-
// CHECK: struct1.c:33:33: note: bit-field 'j' with type 'unsigned int' and length 8 here
26-
// CHECK: struct2.c:30:33: note: field 'j' is not a bit-field
27-
// CHECK: struct2.c:30:38: warning: external variable 'x6' declared with incompatible types in different translation units ('struct S6' vs. 'struct S6')
28-
// CHECK: struct1.c:33:42: note: declared here with type 'struct S6'
29-
// CHECK: struct1.c:36:8: warning: type 'struct S7' has incompatible definitions in different translation units
30-
// CHECK: struct1.c:36:33: note: bit-field 'j' with type 'unsigned int' and length 8 here
31-
// CHECK: struct2.c:33:33: note: bit-field 'j' with type 'unsigned int' and length 16 here
32-
// CHECK: struct2.c:33:43: warning: external variable 'x7' declared with incompatible types in different translation units ('struct S7' vs. 'struct S7')
33-
// CHECK: struct1.c:36:42: note: declared here with type 'struct S7'
3424
// CHECK: struct1.c:56:10: warning: type 'struct DeeperError' has incompatible definitions in different translation units
3525
// CHECK: struct1.c:56:35: note: field 'f' has type 'int' here
3626
// CHECK: struct2.c:53:37: note: field 'f' has type 'float' here
@@ -52,4 +42,4 @@
5242
// CHECK: struct2.c:129:9: note: field 'S' has type 'struct (anonymous struct at [[PATH_TO_INPUTS]]struct2.c:127:7)' here
5343
// CHECK: struct2.c:138:3: warning: external variable 'x16' declared with incompatible types in different translation units ('struct DeepUnnamedError' vs. 'struct DeepUnnamedError')
5444
// CHECK: struct1.c:141:3: note: declared here with type 'struct DeepUnnamedError'
55-
// CHECK: 20 warnings generated
45+
// CHECK: 17 warnings generated

clang/test/OpenMP/distribute_parallel_for_if_codegen.cpp

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,19 @@
1-
// RUN: %clang_cc1 -verify -fopenmp -fopenmp-version=45 -fopenmp-targets=powerpc64le-ibm-linux-gnu -x c++ -triple %itanium_abi_triple -emit-llvm %s -o - | FileCheck %s
2-
// RUN: %clang_cc1 -fopenmp -fopenmp-version=45 -fopenmp-targets=powerpc64le-ibm-linux-gnu -x c++ -std=c++11 -triple %itanium_abi_triple -emit-pch -o %t %s
3-
// RUN: %clang_cc1 -fopenmp -fopenmp-version=45 -fopenmp-targets=powerpc64le-ibm-linux-gnu -x c++ -triple %itanium_abi_triple -std=c++11 -include-pch %t -verify %s -emit-llvm -o - | FileCheck %s
1+
// RUN: %clang_cc1 -verify -fopenmp -fopenmp-version=45 -fopenmp-targets=%omp_powerpc_triple -x c++ -triple %itanium_abi_triple -emit-llvm %s -o - | FileCheck %s
2+
// RUN: %clang_cc1 -fopenmp -fopenmp-version=45 -fopenmp-targets=%omp_powerpc_triple -x c++ -std=c++11 -triple %itanium_abi_triple -emit-pch -o %t %s
3+
// RUN: %clang_cc1 -fopenmp -fopenmp-version=45 -fopenmp-targets=%omp_powerpc_triple -x c++ -triple %itanium_abi_triple -std=c++11 -include-pch %t -verify %s -emit-llvm -o - | FileCheck %s
44

5-
// RUN: %clang_cc1 -verify -fopenmp-simd -fopenmp-version=45 -fopenmp-targets=powerpc64le-ibm-linux-gnu -x c++ -triple %itanium_abi_triple -emit-llvm %s -o - | FileCheck --check-prefix SIMD-ONLY0 %s
6-
// RUN: %clang_cc1 -fopenmp-simd -fopenmp-version=45 -fopenmp-targets=powerpc64le-ibm-linux-gnu -x c++ -std=c++11 -triple %itanium_abi_triple -emit-pch -o %t %s
7-
// RUN: %clang_cc1 -fopenmp-simd -fopenmp-version=45 -fopenmp-targets=powerpc64le-ibm-linux-gnu -x c++ -triple %itanium_abi_triple -std=c++11 -include-pch %t -verify %s -emit-llvm -o - | FileCheck --check-prefix SIMD-ONLY0 %s
5+
// RUN: %clang_cc1 -verify -fopenmp-simd -fopenmp-version=45 -fopenmp-targets=%omp_powerpc_triple -x c++ -triple %itanium_abi_triple -emit-llvm %s -o - | FileCheck --check-prefix SIMD-ONLY0 %s
6+
// RUN: %clang_cc1 -fopenmp-simd -fopenmp-version=45 -fopenmp-targets=%omp_powerpc_triple -x c++ -std=c++11 -triple %itanium_abi_triple -emit-pch -o %t %s
7+
// RUN: %clang_cc1 -fopenmp-simd -fopenmp-version=45 -fopenmp-targets=%omp_powerpc_triple -x c++ -triple %itanium_abi_triple -std=c++11 -include-pch %t -verify %s -emit-llvm -o - | FileCheck --check-prefix SIMD-ONLY0 %s
88
// SIMD-ONLY0-NOT: {{__kmpc|__tgt}}
99

10-
// RUN: %clang_cc1 -verify -fopenmp -fopenmp-targets=powerpc64le-ibm-linux-gnu -x c++ -triple %itanium_abi_triple -emit-llvm %s -o - | FileCheck %s
11-
// RUN: %clang_cc1 -fopenmp -fopenmp-targets=powerpc64le-ibm-linux-gnu -x c++ -std=c++11 -triple %itanium_abi_triple -emit-pch -o %t %s
12-
// RUN: %clang_cc1 -fopenmp -fopenmp-targets=powerpc64le-ibm-linux-gnu -x c++ -triple %itanium_abi_triple -std=c++11 -include-pch %t -verify %s -emit-llvm -o - | FileCheck %s
10+
// RUN: %clang_cc1 -verify -fopenmp -fopenmp-targets=%omp_powerpc_triple -x c++ -triple %itanium_abi_triple -emit-llvm %s -o - | FileCheck %s
11+
// RUN: %clang_cc1 -fopenmp -fopenmp-targets=%omp_powerpc_triple -x c++ -std=c++11 -triple %itanium_abi_triple -emit-pch -o %t %s
12+
// RUN: %clang_cc1 -fopenmp -fopenmp-targets=%omp_powerpc_triple -x c++ -triple %itanium_abi_triple -std=c++11 -include-pch %t -verify %s -emit-llvm -o - | FileCheck %s
1313

14-
// RUN: %clang_cc1 -verify -fopenmp-simd -fopenmp-targets=powerpc64le-ibm-linux-gnu -x c++ -triple %itanium_abi_triple -emit-llvm %s -o - | FileCheck --check-prefix SIMD-ONLY0 %s
15-
// RUN: %clang_cc1 -fopenmp-simd -fopenmp-targets=powerpc64le-ibm-linux-gnu -x c++ -std=c++11 -triple %itanium_abi_triple -emit-pch -o %t %s
16-
// RUN: %clang_cc1 -fopenmp-simd -fopenmp-targets=powerpc64le-ibm-linux-gnu -x c++ -triple %itanium_abi_triple -std=c++11 -include-pch %t -verify %s -emit-llvm -o - | FileCheck --check-prefix SIMD-ONLY0 %s
14+
// RUN: %clang_cc1 -verify -fopenmp-simd -fopenmp-targets=%omp_powerpc_triple -x c++ -triple %itanium_abi_triple -emit-llvm %s -o - | FileCheck --check-prefix SIMD-ONLY0 %s
15+
// RUN: %clang_cc1 -fopenmp-simd -fopenmp-targets=%omp_powerpc_triple -x c++ -std=c++11 -triple %itanium_abi_triple -emit-pch -o %t %s
16+
// RUN: %clang_cc1 -fopenmp-simd -fopenmp-targets=%omp_powerpc_triple -x c++ -triple %itanium_abi_triple -std=c++11 -include-pch %t -verify %s -emit-llvm -o - | FileCheck --check-prefix SIMD-ONLY0 %s
1717
// SIMD-ONLY0-NOT: {{__kmpc|__tgt}}
1818

1919
// expected-no-diagnostics

clang/test/OpenMP/distribute_parallel_for_num_threads_codegen.cpp

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,19 @@
1-
// RUN: %clang_cc1 -verify -fopenmp -fopenmp-version=45 -fopenmp-targets=powerpc64le-ibm-linux-gnu -x c++ -triple %itanium_abi_triple -emit-llvm %s -fexceptions -fcxx-exceptions -o - | FileCheck %s
2-
// RUN: %clang_cc1 -fopenmp -fopenmp-version=45 -fopenmp-targets=powerpc64le-ibm-linux-gnu -x c++ -std=c++11 -triple %itanium_abi_triple -fexceptions -fcxx-exceptions -emit-pch -o %t %s
3-
// RUN: %clang_cc1 -fopenmp -fopenmp-version=45 -fopenmp-targets=powerpc64le-ibm-linux-gnu -x c++ -triple %itanium_abi_triple -fexceptions -fcxx-exceptions -std=c++11 -include-pch %t -verify %s -emit-llvm -o - | FileCheck %s
1+
// RUN: %clang_cc1 -verify -fopenmp -fopenmp-version=45 -fopenmp-targets=%omp_powerpc_triple -x c++ -triple %itanium_abi_triple -emit-llvm %s -fexceptions -fcxx-exceptions -o - | FileCheck %s
2+
// RUN: %clang_cc1 -fopenmp -fopenmp-version=45 -fopenmp-targets=%omp_powerpc_triple -x c++ -std=c++11 -triple %itanium_abi_triple -fexceptions -fcxx-exceptions -emit-pch -o %t %s
3+
// RUN: %clang_cc1 -fopenmp -fopenmp-version=45 -fopenmp-targets=%omp_powerpc_triple -x c++ -triple %itanium_abi_triple -fexceptions -fcxx-exceptions -std=c++11 -include-pch %t -verify %s -emit-llvm -o - | FileCheck %s
44

5-
// RUN: %clang_cc1 -verify -fopenmp-simd -fopenmp-version=45 -fopenmp-targets=powerpc64le-ibm-linux-gnu -x c++ -triple %itanium_abi_triple -emit-llvm %s -fexceptions -fcxx-exceptions -o - | FileCheck --check-prefix SIMD-ONLY0 %s
6-
// RUN: %clang_cc1 -fopenmp-simd -fopenmp-version=45 -fopenmp-targets=powerpc64le-ibm-linux-gnu -x c++ -std=c++11 -triple %itanium_abi_triple -fexceptions -fcxx-exceptions -emit-pch -o %t %s
7-
// RUN: %clang_cc1 -fopenmp-simd -fopenmp-version=45 -fopenmp-targets=powerpc64le-ibm-linux-gnu -x c++ -triple %itanium_abi_triple -fexceptions -fcxx-exceptions -std=c++11 -include-pch %t -verify %s -emit-llvm -o - | FileCheck --check-prefix SIMD-ONLY0 %s
5+
// RUN: %clang_cc1 -verify -fopenmp-simd -fopenmp-version=45 -fopenmp-targets=%omp_powerpc_triple -x c++ -triple %itanium_abi_triple -emit-llvm %s -fexceptions -fcxx-exceptions -o - | FileCheck --check-prefix SIMD-ONLY0 %s
6+
// RUN: %clang_cc1 -fopenmp-simd -fopenmp-version=45 -fopenmp-targets=%omp_powerpc_triple -x c++ -std=c++11 -triple %itanium_abi_triple -fexceptions -fcxx-exceptions -emit-pch -o %t %s
7+
// RUN: %clang_cc1 -fopenmp-simd -fopenmp-version=45 -fopenmp-targets=%omp_powerpc_triple -x c++ -triple %itanium_abi_triple -fexceptions -fcxx-exceptions -std=c++11 -include-pch %t -verify %s -emit-llvm -o - | FileCheck --check-prefix SIMD-ONLY0 %s
88
// SIMD-ONLY0-NOT: {{__kmpc|__tgt}}
99

10-
// RUN: %clang_cc1 -verify -fopenmp -fopenmp-targets=powerpc64le-ibm-linux-gnu -x c++ -triple %itanium_abi_triple -emit-llvm %s -fexceptions -fcxx-exceptions -o - | FileCheck %s
11-
// RUN: %clang_cc1 -fopenmp -fopenmp-targets=powerpc64le-ibm-linux-gnu -x c++ -std=c++11 -triple %itanium_abi_triple -fexceptions -fcxx-exceptions -emit-pch -o %t %s
12-
// RUN: %clang_cc1 -fopenmp -fopenmp-targets=powerpc64le-ibm-linux-gnu -x c++ -triple %itanium_abi_triple -fexceptions -fcxx-exceptions -std=c++11 -include-pch %t -verify %s -emit-llvm -o - | FileCheck %s
10+
// RUN: %clang_cc1 -verify -fopenmp -fopenmp-targets=%omp_powerpc_triple -x c++ -triple %itanium_abi_triple -emit-llvm %s -fexceptions -fcxx-exceptions -o - | FileCheck %s
11+
// RUN: %clang_cc1 -fopenmp -fopenmp-targets=%omp_powerpc_triple -x c++ -std=c++11 -triple %itanium_abi_triple -fexceptions -fcxx-exceptions -emit-pch -o %t %s
12+
// RUN: %clang_cc1 -fopenmp -fopenmp-targets=%omp_powerpc_triple -x c++ -triple %itanium_abi_triple -fexceptions -fcxx-exceptions -std=c++11 -include-pch %t -verify %s -emit-llvm -o - | FileCheck %s
1313

14-
// RUN: %clang_cc1 -verify -fopenmp-simd -fopenmp-targets=powerpc64le-ibm-linux-gnu -x c++ -triple %itanium_abi_triple -emit-llvm %s -fexceptions -fcxx-exceptions -o - | FileCheck --check-prefix SIMD-ONLY0 %s
15-
// RUN: %clang_cc1 -fopenmp-simd -fopenmp-targets=powerpc64le-ibm-linux-gnu -x c++ -std=c++11 -triple %itanium_abi_triple -fexceptions -fcxx-exceptions -emit-pch -o %t %s
16-
// RUN: %clang_cc1 -fopenmp-simd -fopenmp-targets=powerpc64le-ibm-linux-gnu -x c++ -triple %itanium_abi_triple -fexceptions -fcxx-exceptions -std=c++11 -include-pch %t -verify %s -emit-llvm -o - | FileCheck --check-prefix SIMD-ONLY0 %s
14+
// RUN: %clang_cc1 -verify -fopenmp-simd -fopenmp-targets=%omp_powerpc_triple -x c++ -triple %itanium_abi_triple -emit-llvm %s -fexceptions -fcxx-exceptions -o - | FileCheck --check-prefix SIMD-ONLY0 %s
15+
// RUN: %clang_cc1 -fopenmp-simd -fopenmp-targets=%omp_powerpc_triple -x c++ -std=c++11 -triple %itanium_abi_triple -fexceptions -fcxx-exceptions -emit-pch -o %t %s
16+
// RUN: %clang_cc1 -fopenmp-simd -fopenmp-targets=%omp_powerpc_triple -x c++ -triple %itanium_abi_triple -fexceptions -fcxx-exceptions -std=c++11 -include-pch %t -verify %s -emit-llvm -o - | FileCheck --check-prefix SIMD-ONLY0 %s
1717
// SIMD-ONLY0-NOT: {{__kmpc|__tgt}}
1818

1919
// expected-no-diagnostics

0 commit comments

Comments
 (0)