[OpenACC] Fixup previous-clause diagnostics
Brought up in a previous review as a TODO, we could be better about how
we highlight what hte previous clause was, and how to show that the
'device_type' is the one being targetted. This patch rewords the
diagnostics and updates a massive number of tests.
diff --git a/clang/include/clang/Basic/DiagnosticSemaKinds.td b/clang/include/clang/Basic/DiagnosticSemaKinds.td
index 060ad60..e5a7cdc 100644
--- a/clang/include/clang/Basic/DiagnosticSemaKinds.td
+++ b/clang/include/clang/Basic/DiagnosticSemaKinds.td
@@ -13009,14 +13009,10 @@
def err_acc_duplicate_clause_disallowed
: Error<"OpenACC '%1' clause cannot appear more than once on a '%0' "
"directive">;
-def note_acc_previous_clause_here : Note<"previous clause is here">;
-// TODO(OpenACC): Combine these with the one above, and decide between a
-// 'select' to split between showing the clause name, or just always printing
-// the name.
-def note_acc_previous_named_clause_here : Note<"previous '%0' clause is here">;
-def note_acc_device_type_here
+def note_acc_previous_clause_here : Note<"previous '%0' clause is here">;
+def note_acc_active_applies_clause_here
: Note<"%enum_select<ACCDeviceTypeApp>{%Active{active}|%Applies{which "
- "applies to}}0 'device_type' clause here">;
+ "applies to}}0 '%1' clause here">;
def note_acc_previous_expr_here : Note<"previous expression is here">;
def note_acc_previous_reference : Note<"previous reference is here">;
def err_acc_branch_in_out_compute_construct
@@ -13267,7 +13263,7 @@
"permitted to refer to the same function">;
def err_acc_duplicate_unnamed_bind
: Error<"OpenACC 'bind' clause on a declaration must bind to the same name "
- "as previous bind clauses">;
+ "as previous 'bind' clauses">;
def warn_acc_confusing_routine_name
: Warning<"OpenACC 'routine' directive with a name refers to a function "
"with the same name as the function on the following line; this "
diff --git a/clang/lib/Sema/SemaOpenACC.cpp b/clang/lib/Sema/SemaOpenACC.cpp
index 071dd55..cd04599 100644
--- a/clang/lib/Sema/SemaOpenACC.cpp
+++ b/clang/lib/Sema/SemaOpenACC.cpp
@@ -2259,7 +2259,8 @@
(*cast<OpenACCBindClause>(*BindItr)) !=
(*cast<OpenACCBindClause>(*OtherBindItr))) {
Diag((*BindItr)->getBeginLoc(), diag::err_acc_duplicate_unnamed_bind);
- Diag((*OtherBindItr)->getEndLoc(), diag::note_acc_previous_clause_here);
+ Diag((*OtherBindItr)->getEndLoc(), diag::note_acc_previous_clause_here)
+ << (*BindItr)->getClauseKind();
return;
}
}
@@ -2273,7 +2274,8 @@
if (auto *RA = dyn_cast<OpenACCRoutineAnnotAttr>(A);
RA && RA->getRange().getEnd().isValid()) {
Diag((*BindItr)->getBeginLoc(), diag::err_acc_duplicate_bind);
- Diag(RA->getRange().getEnd(), diag::note_acc_previous_clause_here);
+ Diag(RA->getRange().getEnd(), diag::note_acc_previous_clause_here)
+ << "bind";
return;
}
}
@@ -2318,7 +2320,8 @@
if (OtherBindItr != RA->Clauses.end()) {
Diag((*BindItr)->getBeginLoc(), diag::err_acc_duplicate_bind);
Diag((*OtherBindItr)->getEndLoc(),
- diag::note_acc_previous_clause_here);
+ diag::note_acc_previous_clause_here)
+ << (*BindItr)->getClauseKind();
return nullptr;
}
}
@@ -2326,7 +2329,8 @@
if (auto *RA = dyn_cast<OpenACCRoutineAnnotAttr>(A);
RA && RA->getRange().getEnd().isValid()) {
Diag((*BindItr)->getBeginLoc(), diag::err_acc_duplicate_bind);
- Diag(RA->getRange().getEnd(), diag::note_acc_previous_clause_here);
+ Diag(RA->getRange().getEnd(), diag::note_acc_previous_clause_here)
+ << (*BindItr)->getClauseKind();
return nullptr;
}
}
diff --git a/clang/lib/Sema/SemaOpenACCClause.cpp b/clang/lib/Sema/SemaOpenACCClause.cpp
index ee0d217..5a33535 100644
--- a/clang/lib/Sema/SemaOpenACCClause.cpp
+++ b/clang/lib/Sema/SemaOpenACCClause.cpp
@@ -127,7 +127,9 @@
S.Diag(NewClause.getBeginLoc(), diag::err_acc_clause_after_device_type)
<< NewClause.getClauseKind() << DeviceTypeClause.getClauseKind()
<< NewClause.getDirectiveKind();
- S.Diag(DeviceTypeClause.getBeginLoc(), diag::note_acc_previous_clause_here);
+ S.Diag(DeviceTypeClause.getBeginLoc(),
+ diag::note_acc_active_applies_clause_here)
+ << diag::ACCDeviceTypeApp::Active << DeviceTypeClause.getClauseKind();
return true;
}
@@ -164,7 +166,8 @@
SemaRef.Diag(Clause.getBeginLoc(), diag::err_acc_clause_cannot_combine)
<< Clause.getClauseKind() << (*Itr)->getClauseKind()
<< Clause.getDirectiveKind();
- SemaRef.Diag((*Itr)->getBeginLoc(), diag::note_acc_previous_clause_here);
+ SemaRef.Diag((*Itr)->getBeginLoc(), diag::note_acc_previous_clause_here)
+ << (*Itr)->getClauseKind();
return true;
}
@@ -250,7 +253,8 @@
<< (*ExistingProhibitedClause)->getClauseKind()
<< Clause.getDirectiveKind();
SemaRef.Diag((*ExistingProhibitedClause)->getBeginLoc(),
- diag::note_acc_previous_clause_here);
+ diag::note_acc_previous_clause_here)
+ << (*ExistingProhibitedClause)->getClauseKind();
return true;
}
@@ -268,9 +272,12 @@
diag::err_acc_clause_routine_cannot_combine_before_device_type)
<< Clause.getClauseKind() << (*BeforeDeviceType)->getClauseKind();
SemaRef.Diag((*BeforeDeviceType)->getBeginLoc(),
- diag::note_acc_previous_clause_here);
+ diag::note_acc_previous_clause_here)
+ << (*BeforeDeviceType)->getClauseKind();
SemaRef.Diag((*FirstDeviceType)->getBeginLoc(),
- diag::note_acc_previous_clause_here);
+ diag::note_acc_active_applies_clause_here)
+ << diag::ACCDeviceTypeApp::Active
+ << (*FirstDeviceType)->getClauseKind();
return true;
}
@@ -298,9 +305,11 @@
<< Clause.getClauseKind()
<< (*ExistingProhibitedSinceLastDevice)->getClauseKind();
SemaRef.Diag((*ExistingProhibitedSinceLastDevice)->getBeginLoc(),
- diag::note_acc_previous_clause_here);
+ diag::note_acc_previous_clause_here)
+ << (*ExistingProhibitedSinceLastDevice)->getClauseKind();
SemaRef.Diag((*LastDeviceType)->getBeginLoc(),
- diag::note_acc_previous_clause_here);
+ diag::note_acc_active_applies_clause_here)
+ << diag::ACCDeviceTypeApp::Active << (*LastDeviceType)->getClauseKind();
return true;
}
@@ -354,13 +363,17 @@
diag::err_acc_clause_since_last_device_type)
<< Clause.getClauseKind() << Clause.getDirectiveKind()
<< (LastDeviceTypeItr != ExistingClauses.rend());
+
SemaRef.Diag((*LastSinceDevTy)->getBeginLoc(),
- diag::note_acc_previous_clause_here);
+ diag::note_acc_previous_clause_here)
+ << (*LastSinceDevTy)->getClauseKind();
// Mention the last device_type as well.
if (LastDeviceTypeItr != ExistingClauses.rend())
SemaRef.Diag((*LastDeviceTypeItr)->getBeginLoc(),
- diag::note_acc_previous_clause_here);
+ diag::note_acc_active_applies_clause_here)
+ << diag::ACCDeviceTypeApp::Active
+ << (*LastDeviceTypeItr)->getClauseKind();
return true;
}
@@ -417,16 +430,18 @@
: "*");
// mention the active device type.
SemaRef.Diag(ActiveDeviceTypeClause.getBeginLoc(),
- diag::note_acc_device_type_here)
- << diag::ACCDeviceTypeApp::Active;
+ diag::note_acc_active_applies_clause_here)
+ << diag::ACCDeviceTypeApp::Active
+ << ActiveDeviceTypeClause.getClauseKind();
// mention the previous clause.
SemaRef.Diag((*CurClauseKindItr)->getBeginLoc(),
- diag::note_acc_previous_named_clause_here)
+ diag::note_acc_previous_clause_here)
<< (*CurClauseKindItr)->getClauseKind();
// mention the previous device type.
SemaRef.Diag(CurDeviceTypeClause.getBeginLoc(),
- diag::note_acc_device_type_here)
- << diag::ACCDeviceTypeApp::Applies;
+ diag::note_acc_active_applies_clause_here)
+ << diag::ACCDeviceTypeApp::Applies
+ << CurDeviceTypeClause.getClauseKind();
return true;
}
}
@@ -527,7 +542,8 @@
llvm::find_if(ExistingClauses, llvm::IsaPred<OpenACCSelfClause>);
if (Itr != ExistingClauses.end()) {
SemaRef.Diag(Clause.getBeginLoc(), diag::warn_acc_if_self_conflict);
- SemaRef.Diag((*Itr)->getBeginLoc(), diag::note_acc_previous_clause_here);
+ SemaRef.Diag((*Itr)->getBeginLoc(), diag::note_acc_previous_clause_here)
+ << (*Itr)->getClauseKind();
}
}
@@ -550,7 +566,8 @@
llvm::find_if(ExistingClauses, llvm::IsaPred<OpenACCIfClause>);
if (Itr != ExistingClauses.end()) {
SemaRef.Diag(Clause.getBeginLoc(), diag::warn_acc_if_self_conflict);
- SemaRef.Diag((*Itr)->getBeginLoc(), diag::note_acc_previous_clause_here);
+ SemaRef.Diag((*Itr)->getBeginLoc(), diag::note_acc_previous_clause_here)
+ << (*Itr)->getClauseKind();
}
return OpenACCSelfClause::Create(
Ctx, Clause.getBeginLoc(), Clause.getLParenLoc(),
@@ -599,9 +616,11 @@
<< OpenACCClauseKind::Reduction << OpenACCClauseKind::Gang
<< Clause.getDirectiveKind() << /*is on combined directive=*/1;
SemaRef.Diag((*ReductionClauseItr)->getBeginLoc(),
- diag::note_acc_previous_clause_here);
+ diag::note_acc_previous_clause_here)
+ << (*ReductionClauseItr)->getClauseKind();
SemaRef.Diag((*GangClauseItr)->getBeginLoc(),
- diag::note_acc_previous_clause_here);
+ diag::note_acc_previous_clause_here)
+ << (*GangClauseItr)->getClauseKind();
return nullptr;
}
}
@@ -621,7 +640,8 @@
<< /*>1 arg in first loc=*/1 << Clause.getClauseKind()
<< Clause.getDirectiveKind() << OpenACCClauseKind::Reduction;
SemaRef.Diag((*Parallel)->getBeginLoc(),
- diag::note_acc_previous_clause_here);
+ diag::note_acc_previous_clause_here)
+ << (*Parallel)->getClauseKind();
return nullptr;
}
}
@@ -639,7 +659,8 @@
diag::err_acc_num_arg_conflict_reverse)
<< OpenACCClauseKind::NumGangs << OpenACCClauseKind::Gang
<< /*Num argument*/ 1;
- SemaRef.Diag(GC->getBeginLoc(), diag::note_acc_previous_clause_here);
+ SemaRef.Diag(GC->getBeginLoc(), diag::note_acc_previous_clause_here)
+ << GC->getClauseKind();
return nullptr;
}
}
@@ -669,7 +690,8 @@
diag::err_acc_num_arg_conflict_reverse)
<< OpenACCClauseKind::NumWorkers << OpenACCClauseKind::Worker
<< /*num argument*/ 0;
- SemaRef.Diag(WC->getBeginLoc(), diag::note_acc_previous_clause_here);
+ SemaRef.Diag(WC->getBeginLoc(), diag::note_acc_previous_clause_here)
+ << WC->getClauseKind();
return nullptr;
}
}
@@ -701,7 +723,8 @@
diag::err_acc_num_arg_conflict_reverse)
<< OpenACCClauseKind::VectorLength << OpenACCClauseKind::Vector
<< /*num argument*/ 0;
- SemaRef.Diag(VC->getBeginLoc(), diag::note_acc_previous_clause_here);
+ SemaRef.Diag(VC->getBeginLoc(), diag::note_acc_previous_clause_here)
+ << VC->getClauseKind();
return nullptr;
}
}
@@ -1190,7 +1213,8 @@
<< HasAssocKind(DK, AssocKind) << AssocKind
<< OpenACCClauseKind::NumGangs;
- S.Diag((*Itr)->getBeginLoc(), diag::note_acc_previous_clause_here);
+ S.Diag((*Itr)->getBeginLoc(), diag::note_acc_previous_clause_here)
+ << (*Itr)->getClauseKind();
return ExprError();
}
return ExprResult{E};
@@ -1268,7 +1292,8 @@
<< SemaRef.getActiveComputeConstructInfo().Kind
<< OpenACCClauseKind::VectorLength;
SemaRef.Diag((*Itr)->getBeginLoc(),
- diag::note_acc_previous_clause_here);
+ diag::note_acc_previous_clause_here)
+ << (*Itr)->getClauseKind();
IntExpr = nullptr;
}
@@ -1289,8 +1314,8 @@
SemaRef.getActiveComputeConstructInfo().Kind)
<< SemaRef.getActiveComputeConstructInfo().Kind
<< OpenACCClauseKind::VectorLength;
- SemaRef.Diag((*Itr)->getBeginLoc(),
- diag::note_acc_previous_clause_here);
+ SemaRef.Diag((*Itr)->getBeginLoc(), diag::note_acc_previous_clause_here)
+ << (*Itr)->getClauseKind();
IntExpr = nullptr;
}
@@ -1319,7 +1344,8 @@
<< OpenACCClauseKind::Vector << OpenACCClauseKind::Vector
<< /*skip kernels construct info*/ 0;
SemaRef.Diag(SemaRef.LoopVectorClauseLoc,
- diag::note_acc_previous_clause_here);
+ diag::note_acc_previous_clause_here)
+ << "vector";
return nullptr;
}
}
@@ -1366,7 +1392,8 @@
<< SemaRef.getActiveComputeConstructInfo().Kind
<< OpenACCClauseKind::NumWorkers;
SemaRef.Diag((*Itr)->getBeginLoc(),
- diag::note_acc_previous_clause_here);
+ diag::note_acc_previous_clause_here)
+ << (*Itr)->getClauseKind();
IntExpr = nullptr;
}
@@ -1394,8 +1421,8 @@
SemaRef.getActiveComputeConstructInfo().Kind)
<< SemaRef.getActiveComputeConstructInfo().Kind
<< OpenACCClauseKind::NumWorkers;
- SemaRef.Diag((*Itr)->getBeginLoc(),
- diag::note_acc_previous_clause_here);
+ SemaRef.Diag((*Itr)->getBeginLoc(), diag::note_acc_previous_clause_here)
+ << (*Itr)->getClauseKind();
IntExpr = nullptr;
}
@@ -1414,7 +1441,8 @@
<< OpenACCClauseKind::Worker << OpenACCClauseKind::Worker
<< /*skip kernels construct info*/ 0;
SemaRef.Diag(SemaRef.LoopWorkerClauseLoc,
- diag::note_acc_previous_clause_here);
+ diag::note_acc_previous_clause_here)
+ << "worker";
return nullptr;
}
@@ -1428,7 +1456,8 @@
<< OpenACCClauseKind::Worker << OpenACCClauseKind::Vector
<< /*skip kernels construct info*/ 0;
SemaRef.Diag(SemaRef.LoopVectorClauseLoc,
- diag::note_acc_previous_clause_here);
+ diag::note_acc_previous_clause_here)
+ << "vector";
return nullptr;
}
}
@@ -1472,9 +1501,11 @@
<< Clause.getDirectiveKind()
<< isOpenACCCombinedDirectiveKind(Clause.getDirectiveKind());
SemaRef.Diag((*ReductionClauseItr)->getBeginLoc(),
- diag::note_acc_previous_clause_here);
+ diag::note_acc_previous_clause_here)
+ << (*ReductionClauseItr)->getClauseKind();
SemaRef.Diag((*NumGangsClauseItr)->getBeginLoc(),
- diag::note_acc_previous_clause_here);
+ diag::note_acc_previous_clause_here)
+ << (*NumGangsClauseItr)->getClauseKind();
return nullptr;
}
}
@@ -1524,7 +1555,8 @@
<< /*kernels construct info*/ 1
<< SemaRef.LoopGangClauseOnKernel.DirKind;
SemaRef.Diag(SemaRef.LoopGangClauseOnKernel.Loc,
- diag::note_acc_previous_clause_here);
+ diag::note_acc_previous_clause_here)
+ << "gang";
return nullptr;
}
@@ -1538,7 +1570,8 @@
<< OpenACCClauseKind::Gang << OpenACCClauseKind::Worker
<< /*!kernels construct info*/ 0;
SemaRef.Diag(SemaRef.LoopWorkerClauseLoc,
- diag::note_acc_previous_clause_here);
+ diag::note_acc_previous_clause_here)
+ << "worker";
return nullptr;
}
@@ -1552,7 +1585,8 @@
<< OpenACCClauseKind::Gang << OpenACCClauseKind::Vector
<< /*!kernels construct info*/ 0;
SemaRef.Diag(SemaRef.LoopVectorClauseLoc,
- diag::note_acc_previous_clause_here);
+ diag::note_acc_previous_clause_here)
+ << "vector";
return nullptr;
}
}
@@ -1592,7 +1626,8 @@
SemaRef.Diag(Clause.getBeginLoc(), diag::err_acc_clause_cannot_combine)
<< Clause.getClauseKind() << (*Itr)->getClauseKind()
<< Clause.getDirectiveKind();
- SemaRef.Diag((*Itr)->getBeginLoc(), diag::note_acc_previous_clause_here);
+ SemaRef.Diag((*Itr)->getBeginLoc(), diag::note_acc_previous_clause_here)
+ << (*Itr)->getClauseKind();
return nullptr;
}
}
@@ -1631,9 +1666,11 @@
<< Clause.getDirectiveKind()
<< isOpenACCCombinedDirectiveKind(Clause.getDirectiveKind());
SemaRef.Diag((*GangClauseItr)->getBeginLoc(),
- diag::note_acc_previous_clause_here);
+ diag::note_acc_previous_clause_here)
+ << (*GangClauseItr)->getClauseKind();
SemaRef.Diag((*NumGangsClauseItr)->getBeginLoc(),
- diag::note_acc_previous_clause_here);
+ diag::note_acc_previous_clause_here)
+ << (*NumGangsClauseItr)->getClauseKind();
return nullptr;
}
}
@@ -1673,7 +1710,8 @@
diag::err_acc_reduction_num_gangs_conflict)
<< /*>1 arg in first loc=*/0 << Clause.getClauseKind()
<< Clause.getDirectiveKind() << OpenACCClauseKind::NumGangs;
- SemaRef.Diag(NGC->getBeginLoc(), diag::note_acc_previous_clause_here);
+ SemaRef.Diag(NGC->getBeginLoc(), diag::note_acc_previous_clause_here)
+ << NGC->getClauseKind();
return nullptr;
}
}
@@ -1891,7 +1929,8 @@
if (areVarsEqual(VarExpr, OldVarExpr)) {
Diag(VarExpr->getExprLoc(), diag::err_reduction_op_mismatch)
<< ReductionOp << RClause->getReductionOp();
- Diag(OldVarExpr->getExprLoc(), diag::note_acc_previous_clause_here);
+ Diag(OldVarExpr->getExprLoc(), diag::note_acc_previous_clause_here)
+ << RClause->getClauseKind();
return ExprError();
}
}
@@ -2033,7 +2072,8 @@
Diag(DimVal->getBeginLoc(), diag::err_acc_gang_reduction_conflict)
<< /*gang/reduction=*/0 << DirKind;
Diag((*ReductionItr)->getBeginLoc(),
- diag::note_acc_previous_clause_here);
+ diag::note_acc_previous_clause_here)
+ << (*ReductionItr)->getClauseKind();
return nullptr;
}
}
@@ -2068,7 +2108,8 @@
DimVal && DimVal->getResultAsAPSInt() > 1) {
Diag(BeginLoc, diag::err_acc_gang_reduction_conflict)
<< /*reduction/gang=*/1 << DirectiveKind;
- Diag(GangClause->getBeginLoc(), diag::note_acc_previous_clause_here);
+ Diag(GangClause->getBeginLoc(), diag::note_acc_previous_clause_here)
+ << GangClause->getClauseKind();
return nullptr;
}
}
diff --git a/clang/lib/Sema/SemaOpenACCClauseAppertainment.cpp b/clang/lib/Sema/SemaOpenACCClauseAppertainment.cpp
index 6069c77..9b40446 100644
--- a/clang/lib/Sema/SemaOpenACCClauseAppertainment.cpp
+++ b/clang/lib/Sema/SemaOpenACCClauseAppertainment.cpp
@@ -179,7 +179,7 @@
return false;
Diag(ClauseLoc, diag::err_acc_duplicate_clause_disallowed) << DK << CK;
- Diag((*Res)->getBeginLoc(), diag::note_acc_previous_clause_here);
+ Diag((*Res)->getBeginLoc(), diag::note_acc_previous_clause_here) << CK;
return true;
}
@@ -202,7 +202,8 @@
if (Lists.AllowedExclusive.isSet(dealiasClauseKind(C->getClauseKind()))) {
Diag(ClauseLoc, diag::err_acc_clause_cannot_combine)
<< CK << C->getClauseKind() << DK;
- Diag(C->getBeginLoc(), diag::note_acc_previous_clause_here);
+ Diag(C->getBeginLoc(), diag::note_acc_previous_clause_here)
+ << C->getClauseKind();
return true;
}
diff --git a/clang/test/ParserOpenACC/parse-clauses.c b/clang/test/ParserOpenACC/parse-clauses.c
index 716d9cf..52d5828 100644
--- a/clang/test/ParserOpenACC/parse-clauses.c
+++ b/clang/test/ParserOpenACC/parse-clauses.c
@@ -28,41 +28,41 @@
#pragma acc host_data if_present, if_present
// expected-error@+4{{OpenACC clause 'independent' may not appear on the same construct as a 'seq' clause on a 'loop' construct}}
- // expected-note@+3{{previous clause is here}}
+ // expected-note@+3{{previous 'seq' clause is here}}
// expected-error@+2{{OpenACC clause 'auto' may not appear on the same construct as a 'seq' clause on a 'loop' construct}}
- // expected-note@+1{{previous clause is here}}
+ // expected-note@+1{{previous 'seq' clause is here}}
#pragma acc loop seq independent auto
for(int i = 0; i < 5;++i) {}
// expected-error@+4{{OpenACC clause 'independent' may not appear on the same construct as a 'seq' clause on a 'loop' construct}}
- // expected-note@+3{{previous clause is here}}
+ // expected-note@+3{{previous 'seq' clause is here}}
// expected-error@+2{{OpenACC clause 'auto' may not appear on the same construct as a 'seq' clause on a 'loop' construct}}
- // expected-note@+1{{previous clause is here}}
+ // expected-note@+1{{previous 'seq' clause is here}}
#pragma acc loop seq, independent auto
for(int i = 0; i < 5;++i) {}
// expected-error@+4{{OpenACC clause 'independent' may not appear on the same construct as a 'seq' clause on a 'loop' construct}}
- // expected-note@+3{{previous clause is here}}
+ // expected-note@+3{{previous 'seq' clause is here}}
// expected-error@+2{{OpenACC clause 'auto' may not appear on the same construct as a 'seq' clause on a 'loop' construct}}
- // expected-note@+1{{previous clause is here}}
+ // expected-note@+1{{previous 'seq' clause is here}}
#pragma acc loop seq independent, auto
for(int i = 0; i < 5;++i) {}
// expected-error@+3{{OpenACC clause 'independent' may not appear on the same construct as a 'seq' clause on a 'kernels loop' construct}}
// expected-error@+2{{OpenACC clause 'auto' may not appear on the same construct as a 'seq' clause on a 'kernels loop' construct}}
- // expected-note@+1 2{{previous clause is here}}
+ // expected-note@+1 2{{previous 'seq' clause is here}}
#pragma acc kernels loop seq independent auto
for(int i = 0; i < 5;++i) {}
// expected-error@+3{{OpenACC clause 'independent' may not appear on the same construct as a 'seq' clause on a 'serial loop' construct}}
// expected-error@+2{{OpenACC clause 'auto' may not appear on the same construct as a 'seq' clause on a 'serial loop' construct}}
- // expected-note@+1 2{{previous clause is here}}
+ // expected-note@+1 2{{previous 'seq' clause is here}}
#pragma acc serial loop seq, independent auto
for(int i = 0; i < 5;++i) {}
// expected-error@+3{{OpenACC clause 'independent' may not appear on the same construct as a 'seq' clause on a 'parallel loop' construct}}
// expected-error@+2{{OpenACC clause 'auto' may not appear on the same construct as a 'seq' clause on a 'parallel loop' construct}}
- // expected-note@+1 2{{previous clause is here}}
+ // expected-note@+1 2{{previous 'seq' clause is here}}
#pragma acc parallel loop seq independent, auto
for(int i = 0; i < 5;++i) {}
@@ -1326,16 +1326,16 @@
}
// expected-error@+4{{OpenACC clause 'seq' may not appear on the same construct as a 'worker' clause on a 'routine' construct}}
- // expected-note@+3{{previous clause is here}}
+ // expected-note@+3{{previous 'worker' clause is here}}
// expected-error@+2{{OpenACC clause 'vector' may not appear on the same construct as a 'worker' clause on a 'routine' construct}}
- // expected-note@+1{{previous clause is here}}
+ // expected-note@+1{{previous 'worker' clause is here}}
#pragma acc routine worker, vector, seq, nohost
void bar();
// expected-error@+4{{OpenACC clause 'seq' may not appear on the same construct as a 'worker' clause on a 'routine' construct}}
- // expected-note@+3{{previous clause is here}}
+ // expected-note@+3{{previous 'worker' clause is here}}
// expected-error@+2{{OpenACC clause 'vector' may not appear on the same construct as a 'worker' clause on a 'routine' construct}}
- // expected-note@+1{{previous clause is here}}
+ // expected-note@+1{{previous 'worker' clause is here}}
#pragma acc routine(bar) worker, vector, seq, nohost
diff --git a/clang/test/SemaOpenACC/atomic-construct.cpp b/clang/test/SemaOpenACC/atomic-construct.cpp
index 83fbc4b..eba2559 100644
--- a/clang/test/SemaOpenACC/atomic-construct.cpp
+++ b/clang/test/SemaOpenACC/atomic-construct.cpp
@@ -66,7 +66,7 @@
x = v;
// expected-error@+2{{OpenACC 'if' clause cannot appear more than once on a 'atomic' directive}}
- // expected-note@+1{{previous clause is here}}
+ // expected-note@+1{{previous 'if' clause is here}}
#pragma acc atomic read if(x) if (v)
x = v;
}
diff --git a/clang/test/SemaOpenACC/combined-construct-auto_seq_independent-clauses.c b/clang/test/SemaOpenACC/combined-construct-auto_seq_independent-clauses.c
index 5c64c62..6d5c916 100644
--- a/clang/test/SemaOpenACC/combined-construct-auto_seq_independent-clauses.c
+++ b/clang/test/SemaOpenACC/combined-construct-auto_seq_independent-clauses.c
@@ -9,27 +9,27 @@
for(unsigned i = 0; i < 5; ++i);
// expected-error@+2{{OpenACC clause 'seq' may not appear on the same construct as a 'auto' clause on a 'parallel loop' construct}}
- // expected-note@+1{{previous clause is here}}
+ // expected-note@+1{{previous 'auto' clause is here}}
#pragma acc parallel loop auto seq
for(unsigned i = 0; i < 5; ++i);
// expected-error@+2{{OpenACC clause 'independent' may not appear on the same construct as a 'auto' clause on a 'parallel loop' construct}}
- // expected-note@+1{{previous clause is here}}
+ // expected-note@+1{{previous 'auto' clause is here}}
#pragma acc parallel loop auto independent
for(unsigned i = 0; i < 5; ++i);
// expected-error@+2{{OpenACC clause 'auto' may not appear on the same construct as a 'seq' clause on a 'parallel loop' construct}}
- // expected-note@+1{{previous clause is here}}
+ // expected-note@+1{{previous 'seq' clause is here}}
#pragma acc parallel loop seq auto
for(unsigned i = 0; i < 5; ++i);
// expected-error@+2{{OpenACC clause 'independent' may not appear on the same construct as a 'seq' clause on a 'parallel loop' construct}}
- // expected-note@+1{{previous clause is here}}
+ // expected-note@+1{{previous 'seq' clause is here}}
#pragma acc parallel loop seq independent
for(unsigned i = 0; i < 5; ++i);
// expected-error@+2{{OpenACC clause 'auto' may not appear on the same construct as a 'independent' clause on a 'parallel loop' construct}}
- // expected-note@+1{{previous clause is here}}
+ // expected-note@+1{{previous 'independent' clause is here}}
#pragma acc parallel loop independent auto
for(unsigned i = 0; i < 5; ++i);
// expected-error@+2{{OpenACC clause 'seq' may not appear on the same construct as a 'independent' clause on a 'parallel loop' construct}}
- // expected-note@+1{{previous clause is here}}
+ // expected-note@+1{{previous 'independent' clause is here}}
#pragma acc parallel loop independent seq
for(unsigned i = 0; i < 5; ++i);
@@ -508,15 +508,15 @@
// 'seq' cannot be combined with 'gang', 'worker' or 'vector'
// expected-error@+2{{OpenACC clause 'gang' may not appear on the same construct as a 'seq' clause on a 'parallel loop' construct}}
- // expected-note@+1{{previous clause is here}}
+ // expected-note@+1{{previous 'seq' clause is here}}
#pragma acc parallel loop seq gang
for(unsigned i = 0; i < 5; ++i);
// expected-error@+2{{OpenACC clause 'worker' may not appear on the same construct as a 'seq' clause on a 'parallel loop' construct}}
- // expected-note@+1{{previous clause is here}}
+ // expected-note@+1{{previous 'seq' clause is here}}
#pragma acc parallel loop seq worker
for(unsigned i = 0; i < 5; ++i);
// expected-error@+2{{OpenACC clause 'vector' may not appear on the same construct as a 'seq' clause on a 'parallel loop' construct}}
- // expected-note@+1{{previous clause is here}}
+ // expected-note@+1{{previous 'seq' clause is here}}
#pragma acc parallel loop seq vector
for(unsigned i = 0; i < 5; ++i);
// expected-error@+1{{OpenACC 'finalize' clause is not valid on 'parallel loop' directive}}
@@ -631,15 +631,15 @@
for(unsigned i = 0; i < 5; ++i);
// expected-error@+2{{OpenACC clause 'seq' may not appear on the same construct as a 'gang' clause on a 'parallel loop' construct}}
- // expected-note@+1{{previous clause is here}}
+ // expected-note@+1{{previous 'gang' clause is here}}
#pragma acc parallel loop gang seq
for(unsigned i = 0; i < 5; ++i);
// expected-error@+2{{OpenACC clause 'seq' may not appear on the same construct as a 'worker' clause on a 'parallel loop' construct}}
- // expected-note@+1{{previous clause is here}}
+ // expected-note@+1{{previous 'worker' clause is here}}
#pragma acc parallel loop worker seq
for(unsigned i = 0; i < 5; ++i);
// expected-error@+2{{OpenACC clause 'seq' may not appear on the same construct as a 'vector' clause on a 'parallel loop' construct}}
- // expected-note@+1{{previous clause is here}}
+ // expected-note@+1{{previous 'vector' clause is here}}
#pragma acc parallel loop vector seq
for(unsigned i = 0; i < 5; ++i);
// expected-error@+1{{OpenACC 'finalize' clause is not valid on 'parallel loop' directive}}
diff --git a/clang/test/SemaOpenACC/combined-construct-default-clause.c b/clang/test/SemaOpenACC/combined-construct-default-clause.c
index 2d77faa..ffa7fda 100644
--- a/clang/test/SemaOpenACC/combined-construct-default-clause.c
+++ b/clang/test/SemaOpenACC/combined-construct-default-clause.c
@@ -5,19 +5,19 @@
for(int i = 5; i < 10;++i);
// expected-error@+2{{OpenACC 'default' clause cannot appear more than once on a 'serial loop' directive}}
- // expected-note@+1{{previous clause is here}}
+ // expected-note@+1{{previous 'default' clause is here}}
#pragma acc serial loop default(present) self default(none)
for(int i = 5; i < 10;++i);
int i;
// expected-error@+2{{OpenACC 'default' clause cannot appear more than once on a 'kernels loop' directive}}
- // expected-note@+1{{previous clause is here}}
+ // expected-note@+1{{previous 'default' clause is here}}
#pragma acc kernels loop self default(present) present(i) default(none) copy(i)
for(int i = 5; i < 10;++i);
// expected-error@+2{{OpenACC 'default' clause cannot appear more than once on a 'parallel loop' directive}}
- // expected-note@+1{{previous clause is here}}
+ // expected-note@+1{{previous 'default' clause is here}}
#pragma acc parallel loop self default(present) private(i) default(none) copy(i)
for(int i = 0; i < 5; ++i);
diff --git a/clang/test/SemaOpenACC/combined-construct-default-clause.cpp b/clang/test/SemaOpenACC/combined-construct-default-clause.cpp
index 60c4d21..b933e36 100644
--- a/clang/test/SemaOpenACC/combined-construct-default-clause.cpp
+++ b/clang/test/SemaOpenACC/combined-construct-default-clause.cpp
@@ -8,17 +8,17 @@
int i;
// expected-error@+2{{OpenACC 'default' clause cannot appear more than once on a 'parallel loop' directive}}
- // expected-note@+1{{previous clause is here}}
+ // expected-note@+1{{previous 'default' clause is here}}
#pragma acc parallel loop default(present) async default(none)
for (unsigned I = 0; I < 5; ++I);
// expected-error@+2{{OpenACC 'default' clause cannot appear more than once on a 'serial loop' directive}}
- // expected-note@+1{{previous clause is here}}
+ // expected-note@+1{{previous 'default' clause is here}}
#pragma acc serial loop async default(present) copy(i) default(none) self
for (unsigned I = 0; I < 5; ++I);
// expected-error@+2{{OpenACC 'default' clause cannot appear more than once on a 'kernels loop' directive}}
- // expected-note@+1{{previous clause is here}}
+ // expected-note@+1{{previous 'default' clause is here}}
#pragma acc kernels loop async default(present) copy(i) default(none) self
for (unsigned I = 0; I < 5; ++I);
diff --git a/clang/test/SemaOpenACC/combined-construct-device_type-clause.c b/clang/test/SemaOpenACC/combined-construct-device_type-clause.c
index 92174b2..7bc8efb 100644
--- a/clang/test/SemaOpenACC/combined-construct-device_type-clause.c
+++ b/clang/test/SemaOpenACC/combined-construct-device_type-clause.c
@@ -60,37 +60,37 @@
#pragma acc serial loop device_type(*) nohost
for(int i = 0; i < 5; ++i);
// expected-error@+2{{OpenACC clause 'default' may not follow a 'device_type' clause in a 'kernels loop' construct}}
- // expected-note@+1{{previous clause is here}}
+ // expected-note@+1{{active 'device_type' clause here}}
#pragma acc kernels loop device_type(*) default(none)
for(int i = 0; i < 5; ++i);
// expected-error@+2{{OpenACC clause 'if' may not follow a 'device_type' clause in a 'parallel loop' construct}}
- // expected-note@+1{{previous clause is here}}
+ // expected-note@+1{{active 'device_type' clause here}}
#pragma acc parallel loop device_type(*) if(1)
for(int i = 0; i < 5; ++i);
// expected-error@+2{{OpenACC clause 'self' may not follow a 'device_type' clause in a 'serial loop' construct}}
- // expected-note@+1{{previous clause is here}}
+ // expected-note@+1{{active 'device_type' clause here}}
#pragma acc serial loop device_type(*) self
for(int i = 0; i < 5; ++i);
int Var;
int *VarPtr;
// expected-error@+2{{OpenACC clause 'copy' may not follow a 'device_type' clause in a 'kernels loop' construct}}
- // expected-note@+1{{previous clause is here}}
+ // expected-note@+1{{active 'device_type' clause here}}
#pragma acc kernels loop device_type(*) copy(Var)
for(int i = 0; i < 5; ++i);
// expected-error@+2{{OpenACC clause 'pcopy' may not follow a 'device_type' clause in a 'parallel loop' construct}}
- // expected-note@+1{{previous clause is here}}
+ // expected-note@+1{{active 'device_type' clause here}}
#pragma acc parallel loop device_type(*) pcopy(Var)
for(int i = 0; i < 5; ++i);
// expected-error@+2{{OpenACC clause 'present_or_copy' may not follow a 'device_type' clause in a 'serial loop' construct}}
- // expected-note@+1{{previous clause is here}}
+ // expected-note@+1{{active 'device_type' clause here}}
#pragma acc serial loop device_type(*) present_or_copy(Var)
for(int i = 0; i < 5; ++i);
// expected-error@+1{{OpenACC 'use_device' clause is not valid on 'kernels loop' directive}}
#pragma acc kernels loop device_type(*) use_device(Var)
for(int i = 0; i < 5; ++i);
// expected-error@+2{{OpenACC clause 'attach' may not follow a 'device_type' clause in a 'parallel loop' construct}}
- // expected-note@+1{{previous clause is here}}
+ // expected-note@+1{{active 'device_type' clause here}}
#pragma acc parallel loop device_type(*) attach(Var)
for(int i = 0; i < 5; ++i);
// expected-error@+1{{OpenACC 'delete' clause is not valid on 'serial loop' directive}}
@@ -103,14 +103,14 @@
#pragma acc parallel loop device_type(*) device(VarPtr)
for(int i = 0; i < 5; ++i);
// expected-error@+2{{OpenACC clause 'deviceptr' may not follow a 'device_type' clause in a 'serial loop' construct}}
- // expected-note@+1{{previous clause is here}}
+ // expected-note@+1{{active 'device_type' clause here}}
#pragma acc serial loop device_type(*) deviceptr(VarPtr)
for(int i = 0; i < 5; ++i);
// expected-error@+1{{OpenACC 'device_resident' clause is not valid on 'kernels loop' directive}}
#pragma acc kernels loop device_type(*) device_resident(VarPtr)
for(int i = 0; i < 5; ++i);
// expected-error@+2{{OpenACC clause 'firstprivate' may not follow a 'device_type' clause in a 'parallel loop' construct}}
- // expected-note@+1{{previous clause is here}}
+ // expected-note@+1{{active 'device_type' clause here}}
#pragma acc parallel loop device_type(*) firstprivate(Var)
for(int i = 0; i < 5; ++i);
// expected-error@+1{{OpenACC 'host' clause is not valid on 'serial loop' directive}}
@@ -120,55 +120,55 @@
#pragma acc parallel loop device_type(*) link(Var)
for(int i = 0; i < 5; ++i);
// expected-error@+2{{OpenACC clause 'no_create' may not follow a 'device_type' clause in a 'serial loop' construct}}
- // expected-note@+1{{previous clause is here}}
+ // expected-note@+1{{active 'device_type' clause here}}
#pragma acc serial loop device_type(*) no_create(Var)
for(int i = 0; i < 5; ++i);
// expected-error@+2{{OpenACC clause 'present' may not follow a 'device_type' clause in a 'kernels loop' construct}}
- // expected-note@+1{{previous clause is here}}
+ // expected-note@+1{{active 'device_type' clause here}}
#pragma acc kernels loop device_type(*) present(Var)
for(int i = 0; i < 5; ++i);
// expected-error@+2{{OpenACC clause 'private' may not follow a 'device_type' clause in a 'parallel loop' construct}}
- // expected-note@+1{{previous clause is here}}
+ // expected-note@+1{{active 'device_type' clause here}}
#pragma acc parallel loop device_type(*) private(Var)
for(int i = 0; i < 5; ++i);
// expected-error@+2{{OpenACC clause 'copyout' may not follow a 'device_type' clause in a 'serial loop' construct}}
- // expected-note@+1{{previous clause is here}}
+ // expected-note@+1{{active 'device_type' clause here}}
#pragma acc serial loop device_type(*) copyout(Var)
for(int i = 0; i < 5; ++i);
// expected-error@+2{{OpenACC clause 'pcopyout' may not follow a 'device_type' clause in a 'serial loop' construct}}
- // expected-note@+1{{previous clause is here}}
+ // expected-note@+1{{active 'device_type' clause here}}
#pragma acc serial loop device_type(*) pcopyout(Var)
for(int i = 0; i < 5; ++i);
// expected-error@+2{{OpenACC clause 'present_or_copyout' may not follow a 'device_type' clause in a 'parallel loop' construct}}
- // expected-note@+1{{previous clause is here}}
+ // expected-note@+1{{active 'device_type' clause here}}
#pragma acc parallel loop device_type(*) present_or_copyout(Var)
for(int i = 0; i < 5; ++i);
// expected-error@+2{{OpenACC clause 'copyin' may not follow a 'device_type' clause in a 'serial loop' construct}}
- // expected-note@+1{{previous clause is here}}
+ // expected-note@+1{{active 'device_type' clause here}}
#pragma acc serial loop device_type(*) copyin(Var)
for(int i = 0; i < 5; ++i);
// expected-error@+2{{OpenACC clause 'pcopyin' may not follow a 'device_type' clause in a 'serial loop' construct}}
- // expected-note@+1{{previous clause is here}}
+ // expected-note@+1{{active 'device_type' clause here}}
#pragma acc serial loop device_type(*) pcopyin(Var)
for(int i = 0; i < 5; ++i);
// expected-error@+2{{OpenACC clause 'present_or_copyin' may not follow a 'device_type' clause in a 'parallel loop' construct}}
- // expected-note@+1{{previous clause is here}}
+ // expected-note@+1{{active 'device_type' clause here}}
#pragma acc parallel loop device_type(*) present_or_copyin(Var)
for(int i = 0; i < 5; ++i);
// expected-error@+2{{OpenACC clause 'create' may not follow a 'device_type' clause in a 'serial loop' construct}}
- // expected-note@+1{{previous clause is here}}
+ // expected-note@+1{{active 'device_type' clause here}}
#pragma acc serial loop device_type(*) create(Var)
for(int i = 0; i < 5; ++i);
// expected-error@+2{{OpenACC clause 'pcreate' may not follow a 'device_type' clause in a 'serial loop' construct}}
- // expected-note@+1{{previous clause is here}}
+ // expected-note@+1{{active 'device_type' clause here}}
#pragma acc serial loop device_type(*) pcreate(Var)
for(int i = 0; i < 5; ++i);
// expected-error@+2{{OpenACC clause 'present_or_create' may not follow a 'device_type' clause in a 'parallel loop' construct}}
- // expected-note@+1{{previous clause is here}}
+ // expected-note@+1{{active 'device_type' clause here}}
#pragma acc parallel loop device_type(*) present_or_create(Var)
for(int i = 0; i < 5; ++i);
// expected-error@+2{{OpenACC clause 'reduction' may not follow a 'device_type' clause in a 'serial loop' construct}}
- // expected-note@+1{{previous clause is here}}
+ // expected-note@+1{{active 'device_type' clause here}}
#pragma acc serial loop device_type(*) reduction(+:Var)
for(int i = 0; i < 5; ++i);
#pragma acc serial loop device_type(*) collapse(1)
diff --git a/clang/test/SemaOpenACC/combined-construct-gang-clause.cpp b/clang/test/SemaOpenACC/combined-construct-gang-clause.cpp
index c5346c4..ba4e85b 100644
--- a/clang/test/SemaOpenACC/combined-construct-gang-clause.cpp
+++ b/clang/test/SemaOpenACC/combined-construct-gang-clause.cpp
@@ -182,7 +182,7 @@
for(int i = 0; i < 5; ++i);
// expected-error@+2{{'num_gangs' clause not allowed on a 'kernels loop' construct that has a 'gang' clause with a 'num' argument}}
- // expected-note@+1{{previous clause is here}}
+ // expected-note@+1{{previous 'gang' clause is here}}
#pragma acc kernels loop gang(t) num_gangs(t)
for(int i = 0; i < 5; ++i);
@@ -192,17 +192,17 @@
for(int i = 0; i < 5; ++i);
// expected-error@+2{{'num' argument to 'gang' clause not allowed on a 'kernels loop' construct that has a 'num_gangs' clause}}
- // expected-note@+1{{previous clause is here}}
+ // expected-note@+1{{previous 'num_gangs' clause is here}}
#pragma acc kernels loop num_gangs(t) gang(t)
for(int i = 0; i < 5; ++i);
// expected-error@+2{{'num_gangs' clause not allowed on a 'kernels loop' construct that has a 'gang' clause with a 'num' argument}}
- // expected-note@+1{{previous clause is here}}
+ // expected-note@+1{{previous 'gang' clause is here}}
#pragma acc kernels loop gang(num:t) num_gangs(t)
for(int i = 0; i < 5; ++i);
// expected-error@+2{{'num' argument to 'gang' clause not allowed on a 'kernels loop' construct that has a 'num_gangs' clause}}
- // expected-note@+1{{previous clause is here}}
+ // expected-note@+1{{previous 'num_gangs' clause is here}}
#pragma acc kernels loop num_gangs(t) gang(num:t)
for(int i = 0; i < 5; ++i);
}
@@ -219,22 +219,22 @@
for(int i = 0; i < 5; ++i);
// expected-error@+2{{'num_gangs' clause not allowed on a 'kernels loop' construct that has a 'gang' clause with a 'num' argument}}
- // expected-note@+1{{previous clause is here}}
+ // expected-note@+1{{previous 'gang' clause is here}}
#pragma acc kernels loop gang(t) num_gangs(t)
for(int i = 0; i < 5; ++i);
// expected-error@+2{{'num' argument to 'gang' clause not allowed on a 'kernels loop' construct that has a 'num_gangs' clause}}
- // expected-note@+1{{previous clause is here}}
+ // expected-note@+1{{previous 'num_gangs' clause is here}}
#pragma acc kernels loop num_gangs(t) gang(t)
for(int i = 0; i < 5; ++i);
// expected-error@+2{{'num_gangs' clause not allowed on a 'kernels loop' construct that has a 'gang' clause with a 'num' argument}}
- // expected-note@+1{{previous clause is here}}
+ // expected-note@+1{{previous 'gang' clause is here}}
#pragma acc kernels loop gang(num:t) num_gangs(t)
for(int i = 0; i < 5; ++i);
// expected-error@+2{{'num' argument to 'gang' clause not allowed on a 'kernels loop' construct that has a 'num_gangs' clause}}
- // expected-note@+1{{previous clause is here}}
+ // expected-note@+1{{previous 'num_gangs' clause is here}}
#pragma acc kernels loop num_gangs(t) gang(num:t)
for(int i = 0; i < 5; ++i);
@@ -260,7 +260,7 @@
#pragma acc kernels loop gang(num:1)
for(int i = 0; i < 5; ++i) {
// expected-error@+2{{loop with a 'gang' clause may not exist in the region of a 'gang' clause on a 'kernels loop' construct}}
- // expected-note@-3{{previous clause is here}}
+ // expected-note@-3{{previous 'gang' clause is here}}
#pragma acc loop gang(static:1)
for(int i = 0; i < 5; ++i);
}
diff --git a/clang/test/SemaOpenACC/combined-construct-num_gangs-clause.c b/clang/test/SemaOpenACC/combined-construct-num_gangs-clause.c
index cd06f5e..4a22102 100644
--- a/clang/test/SemaOpenACC/combined-construct-num_gangs-clause.c
+++ b/clang/test/SemaOpenACC/combined-construct-num_gangs-clause.c
@@ -14,24 +14,24 @@
for(int i = 5; i < 10;++i);
// expected-error@+2{{OpenACC 'num_gangs' clause cannot appear more than once on a 'kernels loop' directive}}
- // expected-note@+1{{previous clause is here}}
+ // expected-note@+1{{previous 'num_gangs' clause is here}}
#pragma acc kernels loop num_gangs(1) num_gangs(2)
for(int i = 5; i < 10;++i);
// expected-error@+2{{OpenACC 'num_gangs' clause cannot appear more than once on a 'parallel loop' directive}}
- // expected-note@+1{{previous clause is here}}
+ // expected-note@+1{{previous 'num_gangs' clause is here}}
#pragma acc parallel loop num_gangs(1) num_gangs(2)
for(int i = 5; i < 10;++i);
// expected-error@+3{{OpenACC 'num_gangs' clause cannot appear more than once in a 'device_type' region on a 'kernels loop' directive}}
- // expected-note@+2{{previous clause is here}}
- // expected-note@+1{{previous clause is here}}
+ // expected-note@+2{{previous 'num_gangs' clause is here}}
+ // expected-note@+1{{active 'device_type' clause here}}
#pragma acc kernels loop num_gangs(1) device_type(*) num_gangs(1) num_gangs(2)
for(int i = 5; i < 10;++i);
// expected-error@+3{{OpenACC 'num_gangs' clause cannot appear more than once in a 'device_type' region on a 'parallel loop' directive}}
- // expected-note@+2{{previous clause is here}}
- // expected-note@+1{{previous clause is here}}
+ // expected-note@+2{{previous 'num_gangs' clause is here}}
+ // expected-note@+1{{active 'device_type' clause here}}
#pragma acc parallel loop device_type(*) num_gangs(1) num_gangs(2)
for(int i = 5; i < 10;++i);
diff --git a/clang/test/SemaOpenACC/combined-construct-num_workers-clause.c b/clang/test/SemaOpenACC/combined-construct-num_workers-clause.c
index c3b648e..0ff623c 100644
--- a/clang/test/SemaOpenACC/combined-construct-num_workers-clause.c
+++ b/clang/test/SemaOpenACC/combined-construct-num_workers-clause.c
@@ -14,24 +14,24 @@
for(int i = 5; i < 10;++i);
// expected-error@+2{{OpenACC 'num_workers' clause cannot appear more than once on a 'kernels loop' directive}}
- // expected-note@+1{{previous clause is here}}
+ // expected-note@+1{{previous 'num_workers' clause is here}}
#pragma acc kernels loop num_workers(1) num_workers(2)
for(int i = 5; i < 10;++i);
// expected-error@+2{{OpenACC 'num_workers' clause cannot appear more than once on a 'parallel loop' directive}}
- // expected-note@+1{{previous clause is here}}
+ // expected-note@+1{{previous 'num_workers' clause is here}}
#pragma acc parallel loop num_workers(1) num_workers(2)
for(int i = 5; i < 10;++i);
// expected-error@+3{{OpenACC 'num_workers' clause cannot appear more than once in a 'device_type' region on a 'kernels loop' directive}}
- // expected-note@+2{{previous clause is here}}
- // expected-note@+1{{previous clause is here}}
+ // expected-note@+2{{previous 'num_workers' clause is here}}
+ // expected-note@+1{{active 'device_type' clause here}}
#pragma acc kernels loop num_workers(1) device_type(*) num_workers(1) num_workers(2)
for(int i = 5; i < 10;++i);
// expected-error@+3{{OpenACC 'num_workers' clause cannot appear more than once in a 'device_type' region on a 'parallel loop' directive}}
- // expected-note@+2{{previous clause is here}}
- // expected-note@+1{{previous clause is here}}
+ // expected-note@+2{{previous 'num_workers' clause is here}}
+ // expected-note@+1{{active 'device_type' clause here}}
#pragma acc parallel loop device_type(*) num_workers(1) num_workers(2)
for(int i = 5; i < 10;++i);
diff --git a/clang/test/SemaOpenACC/combined-construct-reduction-clause.cpp b/clang/test/SemaOpenACC/combined-construct-reduction-clause.cpp
index 082f1ed..7b1a61e 100644
--- a/clang/test/SemaOpenACC/combined-construct-reduction-clause.cpp
+++ b/clang/test/SemaOpenACC/combined-construct-reduction-clause.cpp
@@ -47,14 +47,14 @@
#pragma acc kernels loop reduction(+:Parm) num_gangs(I)
for(int i = 0; i < 5; ++i);
// expected-error@+2{{OpenACC 'num_gangs' clause with more than 1 argument may not appear on a 'parallel loop' construct with a 'reduction' clause}}
- // expected-note@+1{{previous clause is here}}
+ // expected-note@+1{{previous 'reduction' clause is here}}
#pragma acc parallel loop reduction(+:Parm) num_gangs(I, I)
for(int i = 0; i < 5; ++i);
#pragma acc kernels loop num_gangs(I) reduction(+:Parm)
for(int i = 0; i < 5; ++i);
// expected-error@+2{{OpenACC 'reduction' clause may not appear on a 'parallel loop' construct with a 'num_gangs' clause with more than 1 argument}}
- // expected-note@+1{{previous clause is here}}
+ // expected-note@+1{{previous 'num_gangs' clause is here}}
#pragma acc parallel loop num_gangs(I, I) reduction(+:Parm)
for(int i = 0; i < 5; ++i);
@@ -62,13 +62,13 @@
#pragma acc parallel loop gang(dim:1) reduction(+:Parm)
for(int i = 0; i < 5; ++i);
// expected-error@+2{{OpenACC 'reduction' clause cannot appear on the same 'parallel loop' construct as a 'gang' clause with a 'dim' value greater than 1}}
- // expected-note@+1{{previous clause is here}}
+ // expected-note@+1{{previous 'gang' clause is here}}
#pragma acc parallel loop gang(dim:2) reduction(+:Parm)
for(int i = 0; i < 5; ++i);
#pragma acc parallel loop reduction(+:Parm) gang(dim:1)
for(int i = 0; i < 5; ++i);
// expected-error@+2{{OpenACC 'gang' clause with a 'dim' value greater than 1 cannot appear on the same 'parallel loop' construct as a 'reduction' clause}}
- // expected-note@+1{{previous clause is here}}
+ // expected-note@+1{{previous 'reduction' clause is here}}
#pragma acc parallel loop reduction(+:Parm) gang(dim:2)
for(int i = 0; i < 5; ++i);
@@ -88,31 +88,31 @@
for(int i = 0; i < 5; ++i);
// expected-error@+2{{OpenACC 'reduction' clause may not appear on a 'parallel loop' construct with a 'num_gangs' clause with more than 1 argument}}
- // expected-note@+1{{previous clause is here}}
+ // expected-note@+1{{previous 'num_gangs' clause is here}}
#pragma acc parallel loop num_gangs(I, I) reduction(+:Parm) gang
for(int i = 0; i < 5; ++i);
// expected-error@+3{{OpenACC 'reduction' clause cannot appear on the same 'parallel loop' construct as a 'gang' clause and a 'num_gangs' clause with more than one argument}}
- // expected-note@+2{{previous clause is here}}
- // expected-note@+1{{previous clause is here}}
+ // expected-note@+2{{previous 'num_gangs' clause is here}}
+ // expected-note@+1{{previous 'gang' clause is here}}
#pragma acc parallel loop num_gangs(I, I) gang reduction(+:Parm)
for(int i = 0; i < 5; ++i);
// expected-error@+2{{OpenACC 'num_gangs' clause with more than 1 argument may not appear on a 'parallel loop' construct with a 'reduction' clause}}
- // expected-note@+1{{previous clause is here}}
+ // expected-note@+1{{previous 'reduction' clause is here}}
#pragma acc parallel loop reduction(+:Parm) num_gangs(I, I) gang
for(int i = 0; i < 5; ++i);
// expected-error@+3{{OpenACC 'reduction' clause cannot appear on the same 'parallel loop' construct as a 'gang' clause and a 'num_gangs' clause with more than one argument}}
- // expected-note@+2{{previous clause is here}}
- // expected-note@+1{{previous clause is here}}
+ // expected-note@+2{{previous 'reduction' clause is here}}
+ // expected-note@+1{{previous 'gang' clause is here}}
#pragma acc parallel loop reduction(+:Parm) gang num_gangs(I, I)
for(int i = 0; i < 5; ++i);
// expected-error@+3{{OpenACC 'reduction' clause cannot appear on the same 'parallel loop' construct as a 'gang' clause and a 'num_gangs' clause with more than one argument}}
- // expected-note@+2{{previous clause is here}}
- // expected-note@+1{{previous clause is here}}
+ // expected-note@+2{{previous 'gang' clause is here}}
+ // expected-note@+1{{previous 'num_gangs' clause is here}}
#pragma acc parallel loop gang num_gangs(I, I) reduction(+:Parm)
for(int i = 0; i < 5; ++i);
// expected-error@+3{{OpenACC 'reduction' clause cannot appear on the same 'parallel loop' construct as a 'gang' clause and a 'num_gangs' clause with more than one argument}}
- // expected-note@+2{{previous clause is here}}
- // expected-note@+1{{previous clause is here}}
+ // expected-note@+2{{previous 'reduction' clause is here}}
+ // expected-note@+1{{previous 'gang' clause is here}}
#pragma acc parallel loop gang reduction(+:Parm) num_gangs(I, I)
for(int i = 0; i < 5; ++i);
@@ -132,14 +132,14 @@
#pragma acc parallel loop reduction(+:I)
for(int i = 0; i < 5; ++i) {
// expected-error@+2{{OpenACC 'reduction' variable must have the same operator in all nested constructs (& vs +)}}
- // expected-note@-3{{previous clause is here}}
+ // expected-note@-3{{previous 'reduction' clause is here}}
#pragma acc loop reduction(&:I)
for(int i = 0; i < 5; ++i);
}
#pragma acc parallel loop reduction(+:I)
for(int i = 0; i < 5; ++i) {
// expected-error@+2{{OpenACC 'reduction' variable must have the same operator in all nested constructs (& vs +)}}
- // expected-note@-3{{previous clause is here}}
+ // expected-note@-3{{previous 'reduction' clause is here}}
#pragma acc parallel reduction(&:I)
for(int i = 0; i < 5; ++i);
}
@@ -147,14 +147,14 @@
#pragma acc parallel loop reduction(+:I)
for(int i = 0; i < 5; ++i) {
// expected-error@+2{{OpenACC 'reduction' variable must have the same operator in all nested constructs (& vs +)}}
- // expected-note@-3{{previous clause is here}}
+ // expected-note@-3{{previous 'reduction' clause is here}}
#pragma acc parallel loop reduction(&:I)
for(int i = 0; i < 5; ++i);
}
#pragma acc loop reduction(+:I)
for(int i = 0; i < 5; ++i) {
// expected-error@+2{{OpenACC 'reduction' variable must have the same operator in all nested constructs (& vs +)}}
- // expected-note@-3{{previous clause is here}}
+ // expected-note@-3{{previous 'reduction' clause is here}}
#pragma acc parallel loop reduction(&:I)
for(int i = 0; i < 5; ++i);
}
@@ -162,7 +162,7 @@
#pragma acc parallel reduction(+:I)
for(int i = 0; i < 5; ++i) {
// expected-error@+2{{OpenACC 'reduction' variable must have the same operator in all nested constructs (& vs +)}}
- // expected-note@-3{{previous clause is here}}
+ // expected-note@-3{{previous 'reduction' clause is here}}
#pragma acc parallel loop reduction(&:I)
for(int i = 0; i < 5; ++i);
}
diff --git a/clang/test/SemaOpenACC/combined-construct-self-clause.c b/clang/test/SemaOpenACC/combined-construct-self-clause.c
index 39ad85e..d1c3c9d 100644
--- a/clang/test/SemaOpenACC/combined-construct-self-clause.c
+++ b/clang/test/SemaOpenACC/combined-construct-self-clause.c
@@ -33,22 +33,22 @@
void WarnMaybeNotUsed(int val1, int val2) {
// expected-warning@+2{{OpenACC construct 'self' has no effect when an 'if' clause evaluates to true}}
- // expected-note@+1{{previous clause is here}}
+ // expected-note@+1{{previous 'self' clause is here}}
#pragma acc parallel loop self if(val1)
for (unsigned i = 0; i < 5; ++i);
// expected-warning@+2{{OpenACC construct 'self' has no effect when an 'if' clause evaluates to true}}
- // expected-note@+1{{previous clause is here}}
+ // expected-note@+1{{previous 'self' clause is here}}
#pragma acc serial loop self(val1) if(val1)
for (unsigned i = 0; i < 5; ++i);
// expected-warning@+2{{OpenACC construct 'self' has no effect when an 'if' clause evaluates to true}}
- // expected-note@+1{{previous clause is here}}
+ // expected-note@+1{{previous 'if' clause is here}}
#pragma acc kernels loop if(val1) self
for (unsigned i = 0; i < 5; ++i);
// expected-warning@+2{{OpenACC construct 'self' has no effect when an 'if' clause evaluates to true}}
- // expected-note@+1{{previous clause is here}}
+ // expected-note@+1{{previous 'if' clause is here}}
#pragma acc parallel loop if(val1) self(val2)
for (unsigned i = 0; i < 5; ++i);
diff --git a/clang/test/SemaOpenACC/combined-construct-self-clause.cpp b/clang/test/SemaOpenACC/combined-construct-self-clause.cpp
index 73f5a55..716bc75 100644
--- a/clang/test/SemaOpenACC/combined-construct-self-clause.cpp
+++ b/clang/test/SemaOpenACC/combined-construct-self-clause.cpp
@@ -33,22 +33,22 @@
template<typename T>
void WarnMaybeNotUsed() {
// expected-warning@+2{{OpenACC construct 'self' has no effect when an 'if' clause evaluates to true}}
- // expected-note@+1{{previous clause is here}}
+ // expected-note@+1{{previous 'self' clause is here}}
#pragma acc parallel loop self if(T::B)
for (unsigned i = 0; i < 5; ++i);
// expected-warning@+2{{OpenACC construct 'self' has no effect when an 'if' clause evaluates to true}}
- // expected-note@+1{{previous clause is here}}
+ // expected-note@+1{{previous 'self' clause is here}}
#pragma acc kernels loop self(T::B) if(T::B)
for (unsigned i = 0; i < 5; ++i);
// expected-warning@+2{{OpenACC construct 'self' has no effect when an 'if' clause evaluates to true}}
- // expected-note@+1{{previous clause is here}}
+ // expected-note@+1{{previous 'if' clause is here}}
#pragma acc serial loop if(T::B) self
for (unsigned i = 0; i < 5; ++i);
// expected-warning@+2{{OpenACC construct 'self' has no effect when an 'if' clause evaluates to true}}
- // expected-note@+1{{previous clause is here}}
+ // expected-note@+1{{previous 'if' clause is here}}
#pragma acc parallel loop if(T::B) self(T::B)
for (unsigned i = 0; i < 5; ++i);
@@ -58,37 +58,37 @@
// expected-error@+4{{no member named 'Invalid' in 'HasBool'}}
// expected-note@#NOT_USED_INST{{in instantiation of function template specialization 'WarnMaybeNotUsed<HasBool>' requested here}}
// expected-warning@+2{{OpenACC construct 'self' has no effect when an 'if' clause evaluates to true}}
- // expected-note@+1{{previous clause is here}}
+ // expected-note@+1{{previous 'self' clause is here}}
#pragma acc parallel loop self if(T::Invalid)
for (unsigned i = 0; i < 5; ++i);
// expected-error@+3{{no member named 'Invalid' in 'HasBool'}}
// expected-warning@+2{{OpenACC construct 'self' has no effect when an 'if' clause evaluates to true}}
- // expected-note@+1{{previous clause is here}}
+ // expected-note@+1{{previous 'self' clause is here}}
#pragma acc serial loop self(T::Invalid) if(T::B)
for (unsigned i = 0; i < 5; ++i);
// expected-error@+3{{no member named 'Invalid' in 'HasBool'}}
// expected-warning@+2{{OpenACC construct 'self' has no effect when an 'if' clause evaluates to true}}
- // expected-note@+1{{previous clause is here}}
+ // expected-note@+1{{previous 'self' clause is here}}
#pragma acc kernels loop self(T::B) if(T::Invalid)
for (unsigned i = 0; i < 5; ++i);
// expected-error@+3{{no member named 'Invalid' in 'HasBool'}}
// expected-warning@+2{{OpenACC construct 'self' has no effect when an 'if' clause evaluates to true}}
- // expected-note@+1{{previous clause is here}}
+ // expected-note@+1{{previous 'if' clause is here}}
#pragma acc parallel loop if(T::Invalid) self
for (unsigned i = 0; i < 5; ++i);
// expected-error@+3{{no member named 'Invalid' in 'HasBool'}}
// expected-warning@+2{{OpenACC construct 'self' has no effect when an 'if' clause evaluates to true}}
- // expected-note@+1{{previous clause is here}}
+ // expected-note@+1{{previous 'if' clause is here}}
#pragma acc parallel loop if(T::Invalid) self(T::B)
for (unsigned i = 0; i < 5; ++i);
// expected-error@+3{{no member named 'Invalid' in 'HasBool'}}
// expected-warning@+2{{OpenACC construct 'self' has no effect when an 'if' clause evaluates to true}}
- // expected-note@+1{{previous clause is here}}
+ // expected-note@+1{{previous 'if' clause is here}}
#pragma acc parallel loop if(T::B) self(T::Invalid)
for (unsigned i = 0; i < 5; ++i);
}
diff --git a/clang/test/SemaOpenACC/combined-construct-vector-clause.cpp b/clang/test/SemaOpenACC/combined-construct-vector-clause.cpp
index f96a36c..85a7148 100644
--- a/clang/test/SemaOpenACC/combined-construct-vector-clause.cpp
+++ b/clang/test/SemaOpenACC/combined-construct-vector-clause.cpp
@@ -39,12 +39,12 @@
for(int j = 0; j < 5; ++j);
// expected-error@+2{{'vector_length' clause not allowed on a 'kernels loop' construct that has a 'vector' clause with an argument}}
- // expected-note@+1{{previous clause is here}}
+ // expected-note@+1{{previous 'vector' clause is here}}
#pragma acc kernels loop vector(I) vector_length(t)
for(int j = 0; j < 5; ++j);
// expected-error@+2{{'length' argument to 'vector' clause not allowed on a 'kernels loop' construct that has a 'vector_length' clause}}
- // expected-note@+1{{previous clause is here}}
+ // expected-note@+1{{previous 'vector_length' clause is here}}
#pragma acc kernels loop vector_length(t) vector(I)
for(int j = 0; j < 5; ++j);
@@ -53,7 +53,7 @@
// expected-error@+4{{loop with a 'vector' clause may not exist in the region of a 'vector' clause}}
// expected-error@+3{{loop with a 'worker' clause may not exist in the region of a 'vector' clause}}
// expected-error@+2{{loop with a 'gang' clause may not exist in the region of a 'vector' clause}}
- // expected-note@-5 3{{previous clause is here}}
+ // expected-note@-5 3{{previous 'vector' clause is here}}
#pragma acc loop vector worker, gang
for(int j = 0; j < 5; ++j);
}
@@ -125,12 +125,12 @@
for(int j = 0; j < 5; ++j);
// expected-error@+2{{'vector_length' clause not allowed on a 'kernels loop' construct that has a 'vector' clause with an argument}}
- // expected-note@+1{{previous clause is here}}
+ // expected-note@+1{{previous 'vector' clause is here}}
#pragma acc kernels loop vector(I) vector_length(t)
for(int j = 0; j < 5; ++j);
// expected-error@+2{{'length' argument to 'vector' clause not allowed on a 'kernels loop' construct that has a 'vector_length' clause}}
- // expected-note@+1{{previous clause is here}}
+ // expected-note@+1{{previous 'vector_length' clause is here}}
#pragma acc kernels loop vector_length(t) vector(I)
for(int j = 0; j < 5; ++j);
@@ -139,7 +139,7 @@
// expected-error@+4{{loop with a 'vector' clause may not exist in the region of a 'vector' clause}}
// expected-error@+3{{loop with a 'worker' clause may not exist in the region of a 'vector' clause}}
// expected-error@+2{{loop with a 'gang' clause may not exist in the region of a 'vector' clause}}
- // expected-note@-5 3{{previous clause is here}}
+ // expected-note@-5 3{{previous 'vector' clause is here}}
#pragma acc loop vector worker, gang
for(int j = 0; j < 5; ++j);
}
diff --git a/clang/test/SemaOpenACC/combined-construct-vector_length-clause.c b/clang/test/SemaOpenACC/combined-construct-vector_length-clause.c
index 72ab012..27a4817 100644
--- a/clang/test/SemaOpenACC/combined-construct-vector_length-clause.c
+++ b/clang/test/SemaOpenACC/combined-construct-vector_length-clause.c
@@ -14,24 +14,24 @@
for(int i = 5; i < 10;++i);
// expected-error@+2{{OpenACC 'vector_length' clause cannot appear more than once on a 'kernels loop' directive}}
- // expected-note@+1{{previous clause is here}}
+ // expected-note@+1{{previous 'vector_length' clause is here}}
#pragma acc kernels loop vector_length(1) vector_length(2)
for(int i = 5; i < 10;++i);
// expected-error@+2{{OpenACC 'vector_length' clause cannot appear more than once on a 'parallel loop' directive}}
- // expected-note@+1{{previous clause is here}}
+ // expected-note@+1{{previous 'vector_length' clause is here}}
#pragma acc parallel loop vector_length(1) vector_length(2)
for(int i = 5; i < 10;++i);
// expected-error@+3{{OpenACC 'vector_length' clause cannot appear more than once in a 'device_type' region on a 'kernels loop' directive}}
- // expected-note@+2{{previous clause is here}}
- // expected-note@+1{{previous clause is here}}
+ // expected-note@+2{{previous 'vector_length' clause is here}}
+ // expected-note@+1{{active 'device_type' clause here}}
#pragma acc kernels loop vector_length(1) device_type(*) vector_length(1) vector_length(2)
for(int i = 5; i < 10;++i);
// expected-error@+3{{OpenACC 'vector_length' clause cannot appear more than once in a 'device_type' region on a 'parallel loop' directive}}
- // expected-note@+2{{previous clause is here}}
- // expected-note@+1{{previous clause is here}}
+ // expected-note@+2{{previous 'vector_length' clause is here}}
+ // expected-note@+1{{active 'device_type' clause here}}
#pragma acc parallel loop device_type(*) vector_length(1) vector_length(2)
for(int i = 5; i < 10;++i);
diff --git a/clang/test/SemaOpenACC/combined-construct-worker-clause.cpp b/clang/test/SemaOpenACC/combined-construct-worker-clause.cpp
index 1351f9e..da0769d 100644
--- a/clang/test/SemaOpenACC/combined-construct-worker-clause.cpp
+++ b/clang/test/SemaOpenACC/combined-construct-worker-clause.cpp
@@ -40,12 +40,12 @@
for(int i = 0; i < 5; ++i);
// expected-error@+2{{'num' argument to 'worker' clause not allowed on a 'kernels loop' construct that has a 'num_workers' clause}}
- // expected-note@+1{{previous clause is here}}
+ // expected-note@+1{{previous 'num_workers' clause is here}}
#pragma acc kernels loop num_workers(1) worker(num:I)
for(int i = 0; i < 5; ++i);
// expected-error@+2{{'num_workers' clause not allowed on a 'kernels loop' construct that has a 'worker' clause with an argument}}
- // expected-note@+1{{previous clause is here}}
+ // expected-note@+1{{previous 'worker' clause is here}}
#pragma acc kernels loop worker(num:I) num_workers(1)
for(int i = 0; i < 5; ++i);
}
@@ -91,12 +91,12 @@
for(int i = 0; i < 5; ++i);
// expected-error@+2{{'num' argument to 'worker' clause not allowed on a 'kernels loop' construct that has a 'num_workers' clause}}
- // expected-note@+1{{previous clause is here}}
+ // expected-note@+1{{previous 'num_workers' clause is here}}
#pragma acc kernels loop num_workers(1) worker(num:I)
for(int i = 0; i < 5; ++i);
// expected-error@+2{{'num_workers' clause not allowed on a 'kernels loop' construct that has a 'worker' clause with an argument}}
- // expected-note@+1{{previous clause is here}}
+ // expected-note@+1{{previous 'worker' clause is here}}
#pragma acc kernels loop worker(num:I) num_workers(1)
for(int i = 0; i < 5; ++i);
@@ -115,7 +115,7 @@
#pragma acc kernels loop num_workers(1)
for(int i = 0; i < 5; ++i) {
// expected-error@+2{{'num' argument to 'worker' clause not allowed on a 'loop' construct associated with a 'kernels loop' construct that has a 'num_workers' clause}}
- // expected-note@-3{{previous clause is here}}
+ // expected-note@-3{{previous 'num_workers' clause is here}}
#pragma acc loop worker(num:1)
for(int i = 0; i < 5; ++i);
}
@@ -123,27 +123,27 @@
#pragma acc parallel loop worker
for(int i = 0; i < 5; ++i) {
// expected-error@+4{{loop with a 'gang' clause may not exist in the region of a 'worker' clause}}
- // expected-note@-3{{previous clause is here}}
+ // expected-note@-3{{previous 'worker' clause is here}}
// expected-error@+2{{loop with a 'worker' clause may not exist in the region of a 'worker' clause}}
- // expected-note@-5{{previous clause is here}}
+ // expected-note@-5{{previous 'worker' clause is here}}
#pragma acc loop gang, worker, vector
for(int i = 0; i < 5; ++i);
}
#pragma acc kernels loop worker
for(int i = 0; i < 5; ++i) {
// expected-error@+4{{loop with a 'gang' clause may not exist in the region of a 'worker' clause}}
- // expected-note@-3{{previous clause is here}}
+ // expected-note@-3{{previous 'worker' clause is here}}
// expected-error@+2{{loop with a 'worker' clause may not exist in the region of a 'worker' clause}}
- // expected-note@-5{{previous clause is here}}
+ // expected-note@-5{{previous 'worker' clause is here}}
#pragma acc loop gang, worker, vector
for(int i = 0; i < 5; ++i);
}
#pragma acc serial loop worker
for(int i = 0; i < 5; ++i) {
// expected-error@+4{{loop with a 'gang' clause may not exist in the region of a 'worker' clause}}
- // expected-note@-3{{previous clause is here}}
+ // expected-note@-3{{previous 'worker' clause is here}}
// expected-error@+2{{loop with a 'worker' clause may not exist in the region of a 'worker' clause}}
- // expected-note@-5{{previous clause is here}}
+ // expected-note@-5{{previous 'worker' clause is here}}
#pragma acc loop gang, worker, vector
for(int i = 0; i < 5; ++i);
}
diff --git a/clang/test/SemaOpenACC/compute-construct-async-clause.c b/clang/test/SemaOpenACC/compute-construct-async-clause.c
index 4ca9637..5c0fba2 100644
--- a/clang/test/SemaOpenACC/compute-construct-async-clause.c
+++ b/clang/test/SemaOpenACC/compute-construct-async-clause.c
@@ -21,44 +21,44 @@
while(1);
// expected-error@+2{{OpenACC 'async' clause cannot appear more than once on a 'kernels' directive}}
- // expected-note@+1{{previous clause is here}}
+ // expected-note@+1{{previous 'async' clause is here}}
#pragma acc kernels async async
while(1);
// expected-error@+2{{OpenACC 'async' clause cannot appear more than once on a 'kernels' directive}}
- // expected-note@+1{{previous clause is here}}
+ // expected-note@+1{{previous 'async' clause is here}}
#pragma acc kernels async(1) async(2)
while(1);
// expected-error@+2{{OpenACC 'async' clause cannot appear more than once on a 'parallel' directive}}
- // expected-note@+1{{previous clause is here}}
+ // expected-note@+1{{previous 'async' clause is here}}
#pragma acc parallel async(1) async(2)
while(1);
// expected-error@+2{{OpenACC 'async' clause cannot appear more than once on a 'serial' directive}}
- // expected-note@+1{{previous clause is here}}
+ // expected-note@+1{{previous 'async' clause is here}}
#pragma acc serial async(1) async(2)
while(1);
// expected-error@+3{{OpenACC 'async' clause cannot appear more than once in a 'device_type' region on a 'kernels' directive}}
- // expected-note@+2{{previous clause is here}}
- // expected-note@+1{{previous clause is here}}
+ // expected-note@+2{{previous 'async' clause is here}}
+ // expected-note@+1{{active 'device_type' clause here}}
#pragma acc kernels async(1) device_type(*) async(1) async(2)
while(1);
// expected-error@+3{{OpenACC 'async' clause cannot appear more than once in a 'device_type' region on a 'parallel' directive}}
- // expected-note@+2{{previous clause is here}}
- // expected-note@+1{{previous clause is here}}
+ // expected-note@+2{{previous 'async' clause is here}}
+ // expected-note@+1{{active 'device_type' clause here}}
#pragma acc parallel async device_type(*) async async
while(1);
// expected-error@+3{{OpenACC 'async' clause cannot appear more than once in a 'device_type' region on a 'serial' directive}}
- // expected-note@+2{{previous clause is here}}
- // expected-note@+1{{previous clause is here}}
+ // expected-note@+2{{previous 'async' clause is here}}
+ // expected-note@+1{{active 'device_type' clause here}}
#pragma acc serial async(1) device_type(*) async async(2)
while(1);
// expected-error@+3{{OpenACC 'async' clause cannot appear more than once in a 'device_type' region on a 'parallel' directive}}
- // expected-note@+2{{previous clause is here}}
- // expected-note@+1{{previous clause is here}}
+ // expected-note@+2{{previous 'async' clause is here}}
+ // expected-note@+1{{active 'device_type' clause here}}
#pragma acc parallel device_type(*) async async
while(1);
diff --git a/clang/test/SemaOpenACC/compute-construct-default-clause.c b/clang/test/SemaOpenACC/compute-construct-default-clause.c
index 86a7587..7a39ea0 100644
--- a/clang/test/SemaOpenACC/compute-construct-default-clause.c
+++ b/clang/test/SemaOpenACC/compute-construct-default-clause.c
@@ -5,19 +5,19 @@
while(0);
// expected-error@+2{{OpenACC 'default' clause cannot appear more than once on a 'serial' directive}}
- // expected-note@+1{{previous clause is here}}
+ // expected-note@+1{{previous 'default' clause is here}}
#pragma acc serial default(present) self default(none)
while(0);
int i;
// expected-error@+2{{OpenACC 'default' clause cannot appear more than once on a 'kernels' directive}}
- // expected-note@+1{{previous clause is here}}
+ // expected-note@+1{{previous 'default' clause is here}}
#pragma acc kernels self default(present) present(i) default(none) copy(i)
while(0);
// expected-error@+2{{OpenACC 'default' clause cannot appear more than once on a 'parallel' directive}}
- // expected-note@+1{{previous clause is here}}
+ // expected-note@+1{{previous 'default' clause is here}}
#pragma acc parallel self default(present) private(i) default(none) copy(i)
for(int i = 0; i < 5; ++i);
diff --git a/clang/test/SemaOpenACC/compute-construct-default-clause.cpp b/clang/test/SemaOpenACC/compute-construct-default-clause.cpp
index 8a4a79d..e0f3f3f 100644
--- a/clang/test/SemaOpenACC/compute-construct-default-clause.cpp
+++ b/clang/test/SemaOpenACC/compute-construct-default-clause.cpp
@@ -8,17 +8,17 @@
int i;
// expected-error@+2{{OpenACC 'default' clause cannot appear more than once on a 'parallel' directive}}
- // expected-note@+1{{previous clause is here}}
+ // expected-note@+1{{previous 'default' clause is here}}
#pragma acc parallel default(present) async default(none)
while(false);
// expected-error@+2{{OpenACC 'default' clause cannot appear more than once on a 'serial' directive}}
- // expected-note@+1{{previous clause is here}}
+ // expected-note@+1{{previous 'default' clause is here}}
#pragma acc serial async default(present) copy(i) default(none) self
while(false);
// expected-error@+2{{OpenACC 'default' clause cannot appear more than once on a 'kernels' directive}}
- // expected-note@+1{{previous clause is here}}
+ // expected-note@+1{{previous 'default' clause is here}}
#pragma acc kernels async default(present) copy(i) default(none) self
while(false);
diff --git a/clang/test/SemaOpenACC/compute-construct-device_type-clause.c b/clang/test/SemaOpenACC/compute-construct-device_type-clause.c
index 2ff6369..3dc20ee 100644
--- a/clang/test/SemaOpenACC/compute-construct-device_type-clause.c
+++ b/clang/test/SemaOpenACC/compute-construct-device_type-clause.c
@@ -66,37 +66,37 @@
#pragma acc kernels device_type(*) nohost
while(1);
// expected-error@+2{{OpenACC clause 'default' may not follow a 'device_type' clause in a 'kernels' construct}}
- // expected-note@+1{{previous clause is here}}
+ // expected-note@+1{{active 'device_type' clause here}}
#pragma acc kernels device_type(*) default(none)
while(1);
// expected-error@+2{{OpenACC clause 'if' may not follow a 'device_type' clause in a 'kernels' construct}}
- // expected-note@+1{{previous clause is here}}
+ // expected-note@+1{{active 'device_type' clause here}}
#pragma acc kernels device_type(*) if(1)
while(1);
// expected-error@+2{{OpenACC clause 'self' may not follow a 'device_type' clause in a 'kernels' construct}}
- // expected-note@+1{{previous clause is here}}
+ // expected-note@+1{{active 'device_type' clause here}}
#pragma acc kernels device_type(*) self
while(1);
int Var;
int *VarPtr;
// expected-error@+2{{OpenACC clause 'copy' may not follow a 'device_type' clause in a 'kernels' construct}}
- // expected-note@+1{{previous clause is here}}
+ // expected-note@+1{{active 'device_type' clause here}}
#pragma acc kernels device_type(*) copy(Var)
while(1);
// expected-error@+2{{OpenACC clause 'pcopy' may not follow a 'device_type' clause in a 'kernels' construct}}
- // expected-note@+1{{previous clause is here}}
+ // expected-note@+1{{active 'device_type' clause here}}
#pragma acc kernels device_type(*) pcopy(Var)
while(1);
// expected-error@+2{{OpenACC clause 'present_or_copy' may not follow a 'device_type' clause in a 'kernels' construct}}
- // expected-note@+1{{previous clause is here}}
+ // expected-note@+1{{active 'device_type' clause here}}
#pragma acc kernels device_type(*) present_or_copy(Var)
while(1);
// expected-error@+1{{OpenACC 'use_device' clause is not valid on 'kernels' directive}}
#pragma acc kernels device_type(*) use_device(Var)
while(1);
// expected-error@+2{{OpenACC clause 'attach' may not follow a 'device_type' clause in a 'kernels' construct}}
- // expected-note@+1{{previous clause is here}}
+ // expected-note@+1{{active 'device_type' clause here}}
#pragma acc kernels device_type(*) attach(Var)
while(1);
// expected-error@+1{{OpenACC 'delete' clause is not valid on 'kernels' directive}}
@@ -109,14 +109,14 @@
#pragma acc kernels device_type(*) device(VarPtr)
while(1);
// expected-error@+2{{OpenACC clause 'deviceptr' may not follow a 'device_type' clause in a 'kernels' construct}}
- // expected-note@+1{{previous clause is here}}
+ // expected-note@+1{{active 'device_type' clause here}}
#pragma acc kernels device_type(*) deviceptr(VarPtr)
while(1);
// expected-error@+1{{OpenACC 'device_resident' clause is not valid on 'kernels' directive}}
#pragma acc kernels device_type(*) device_resident(VarPtr)
while(1);
// expected-error@+2{{OpenACC clause 'firstprivate' may not follow a 'device_type' clause in a 'parallel' construct}}
- // expected-note@+1{{previous clause is here}}
+ // expected-note@+1{{active 'device_type' clause here}}
#pragma acc parallel device_type(*) firstprivate(Var)
while(1);
// expected-error@+1{{OpenACC 'host' clause is not valid on 'kernels' directive}}
@@ -126,55 +126,55 @@
#pragma acc kernels device_type(*) link(Var)
while(1);
// expected-error@+2{{OpenACC clause 'no_create' may not follow a 'device_type' clause in a 'kernels' construct}}
- // expected-note@+1{{previous clause is here}}
+ // expected-note@+1{{active 'device_type' clause here}}
#pragma acc kernels device_type(*) no_create(Var)
while(1);
// expected-error@+2{{OpenACC clause 'present' may not follow a 'device_type' clause in a 'kernels' construct}}
- // expected-note@+1{{previous clause is here}}
+ // expected-note@+1{{active 'device_type' clause here}}
#pragma acc kernels device_type(*) present(Var)
while(1);
// expected-error@+2{{OpenACC clause 'private' may not follow a 'device_type' clause in a 'parallel' construct}}
- // expected-note@+1{{previous clause is here}}
+ // expected-note@+1{{active 'device_type' clause here}}
#pragma acc parallel device_type(*) private(Var)
while(1);
// expected-error@+2{{OpenACC clause 'copyout' may not follow a 'device_type' clause in a 'kernels' construct}}
- // expected-note@+1{{previous clause is here}}
+ // expected-note@+1{{active 'device_type' clause here}}
#pragma acc kernels device_type(*) copyout(Var)
while(1);
// expected-error@+2{{OpenACC clause 'pcopyout' may not follow a 'device_type' clause in a 'kernels' construct}}
- // expected-note@+1{{previous clause is here}}
+ // expected-note@+1{{active 'device_type' clause here}}
#pragma acc kernels device_type(*) pcopyout(Var)
while(1);
// expected-error@+2{{OpenACC clause 'present_or_copyout' may not follow a 'device_type' clause in a 'kernels' construct}}
- // expected-note@+1{{previous clause is here}}
+ // expected-note@+1{{active 'device_type' clause here}}
#pragma acc kernels device_type(*) present_or_copyout(Var)
while(1);
// expected-error@+2{{OpenACC clause 'copyin' may not follow a 'device_type' clause in a 'kernels' construct}}
- // expected-note@+1{{previous clause is here}}
+ // expected-note@+1{{active 'device_type' clause here}}
#pragma acc kernels device_type(*) copyin(Var)
while(1);
// expected-error@+2{{OpenACC clause 'pcopyin' may not follow a 'device_type' clause in a 'kernels' construct}}
- // expected-note@+1{{previous clause is here}}
+ // expected-note@+1{{active 'device_type' clause here}}
#pragma acc kernels device_type(*) pcopyin(Var)
while(1);
// expected-error@+2{{OpenACC clause 'present_or_copyin' may not follow a 'device_type' clause in a 'kernels' construct}}
- // expected-note@+1{{previous clause is here}}
+ // expected-note@+1{{active 'device_type' clause here}}
#pragma acc kernels device_type(*) present_or_copyin(Var)
while(1);
// expected-error@+2{{OpenACC clause 'create' may not follow a 'device_type' clause in a 'kernels' construct}}
- // expected-note@+1{{previous clause is here}}
+ // expected-note@+1{{active 'device_type' clause here}}
#pragma acc kernels device_type(*) create(Var)
while(1);
// expected-error@+2{{OpenACC clause 'pcreate' may not follow a 'device_type' clause in a 'kernels' construct}}
- // expected-note@+1{{previous clause is here}}
+ // expected-note@+1{{active 'device_type' clause here}}
#pragma acc kernels device_type(*) pcreate(Var)
while(1);
// expected-error@+2{{OpenACC clause 'present_or_create' may not follow a 'device_type' clause in a 'kernels' construct}}
- // expected-note@+1{{previous clause is here}}
+ // expected-note@+1{{active 'device_type' clause here}}
#pragma acc kernels device_type(*) present_or_create(Var)
while(1);
// expected-error@+2{{OpenACC clause 'reduction' may not follow a 'device_type' clause in a 'serial' construct}}
- // expected-note@+1{{previous clause is here}}
+ // expected-note@+1{{active 'device_type' clause here}}
#pragma acc serial device_type(*) reduction(+:Var)
while(1);
// expected-error@+1{{OpenACC 'collapse' clause is not valid on 'kernels' directive}}
diff --git a/clang/test/SemaOpenACC/compute-construct-num_gangs-clause.c b/clang/test/SemaOpenACC/compute-construct-num_gangs-clause.c
index 904928c..37c43dc 100644
--- a/clang/test/SemaOpenACC/compute-construct-num_gangs-clause.c
+++ b/clang/test/SemaOpenACC/compute-construct-num_gangs-clause.c
@@ -13,24 +13,24 @@
while(1);
// expected-error@+2{{OpenACC 'num_gangs' clause cannot appear more than once on a 'kernels' directive}}
- // expected-note@+1{{previous clause is here}}
+ // expected-note@+1{{previous 'num_gangs' clause is here}}
#pragma acc kernels num_gangs(1) num_gangs(2)
while(1);
// expected-error@+2{{OpenACC 'num_gangs' clause cannot appear more than once on a 'parallel' directive}}
- // expected-note@+1{{previous clause is here}}
+ // expected-note@+1{{previous 'num_gangs' clause is here}}
#pragma acc parallel num_gangs(1) num_gangs(2)
while(1);
// expected-error@+3{{OpenACC 'num_gangs' clause cannot appear more than once in a 'device_type' region on a 'kernels' directive}}
- // expected-note@+2{{previous clause is here}}
- // expected-note@+1{{previous clause is here}}
+ // expected-note@+2{{previous 'num_gangs' clause is here}}
+ // expected-note@+1{{active 'device_type' clause here}}
#pragma acc kernels num_gangs(1) device_type(*) num_gangs(1) num_gangs(2)
while(1);
// expected-error@+3{{OpenACC 'num_gangs' clause cannot appear more than once in a 'device_type' region on a 'parallel' directive}}
- // expected-note@+2{{previous clause is here}}
- // expected-note@+1{{previous clause is here}}
+ // expected-note@+2{{previous 'num_gangs' clause is here}}
+ // expected-note@+1{{active 'device_type' clause here}}
#pragma acc parallel device_type(*) num_gangs(1) num_gangs(2)
while(1);
diff --git a/clang/test/SemaOpenACC/compute-construct-num_workers-clause.c b/clang/test/SemaOpenACC/compute-construct-num_workers-clause.c
index cea0fdc..cbd4586 100644
--- a/clang/test/SemaOpenACC/compute-construct-num_workers-clause.c
+++ b/clang/test/SemaOpenACC/compute-construct-num_workers-clause.c
@@ -9,24 +9,24 @@
while(1);
// expected-error@+2{{OpenACC 'num_workers' clause cannot appear more than once on a 'kernels' directive}}
- // expected-note@+1{{previous clause is here}}
+ // expected-note@+1{{previous 'num_workers' clause is here}}
#pragma acc kernels num_workers(1) num_workers(2)
while(1);
// expected-error@+2{{OpenACC 'num_workers' clause cannot appear more than once on a 'parallel' directive}}
- // expected-note@+1{{previous clause is here}}
+ // expected-note@+1{{previous 'num_workers' clause is here}}
#pragma acc parallel num_workers(1) num_workers(2)
while(1);
// expected-error@+3{{OpenACC 'num_workers' clause cannot appear more than once in a 'device_type' region on a 'kernels' directive}}
- // expected-note@+2{{previous clause is here}}
- // expected-note@+1{{previous clause is here}}
+ // expected-note@+2{{previous 'num_workers' clause is here}}
+ // expected-note@+1{{active 'device_type' clause here}}
#pragma acc kernels num_workers(1) device_type(*) num_workers(1) num_workers(2)
while(1);
// expected-error@+3{{OpenACC 'num_workers' clause cannot appear more than once in a 'device_type' region on a 'parallel' directive}}
- // expected-note@+2{{previous clause is here}}
- // expected-note@+1{{previous clause is here}}
+ // expected-note@+2{{previous 'num_workers' clause is here}}
+ // expected-note@+1{{active 'device_type' clause here}}
#pragma acc parallel device_type(*) num_workers(1) num_workers(2)
while(1);
diff --git a/clang/test/SemaOpenACC/compute-construct-reduction-clause.c b/clang/test/SemaOpenACC/compute-construct-reduction-clause.c
index 4d426cf..6a77f07 100644
--- a/clang/test/SemaOpenACC/compute-construct-reduction-clause.c
+++ b/clang/test/SemaOpenACC/compute-construct-reduction-clause.c
@@ -42,12 +42,12 @@
while (1);
// expected-error@+2{{OpenACC 'num_gangs' clause with more than 1 argument may not appear on a 'parallel' construct with a 'reduction' clause}}
- // expected-note@+1{{previous clause is here}}
+ // expected-note@+1{{previous 'reduction' clause is here}}
#pragma acc parallel reduction(+:Parm) num_gangs(Parm, IVar)
while (1);
// expected-error@+2{{OpenACC 'reduction' clause may not appear on a 'parallel' construct with a 'num_gangs' clause with more than 1 argument}}
- // expected-note@+1{{previous clause is here}}
+ // expected-note@+1{{previous 'num_gangs' clause is here}}
#pragma acc parallel num_gangs(Parm, IVar) reduction(+:Var)
while (1);
diff --git a/clang/test/SemaOpenACC/compute-construct-reduction-clause.cpp b/clang/test/SemaOpenACC/compute-construct-reduction-clause.cpp
index 7372f68..3e972b0 100644
--- a/clang/test/SemaOpenACC/compute-construct-reduction-clause.cpp
+++ b/clang/test/SemaOpenACC/compute-construct-reduction-clause.cpp
@@ -42,12 +42,12 @@
while (1);
// expected-error@+2{{OpenACC 'num_gangs' clause with more than 1 argument may not appear on a 'parallel' construct with a 'reduction' clause}}
- // expected-note@+1{{previous clause is here}}
+ // expected-note@+1{{previous 'reduction' clause is here}}
#pragma acc parallel reduction(+:Parm) num_gangs(Parm, IVar)
while (1);
// expected-error@+2{{OpenACC 'reduction' clause may not appear on a 'parallel' construct with a 'num_gangs' clause with more than 1 argument}}
- // expected-note@+1{{previous clause is here}}
+ // expected-note@+1{{previous 'num_gangs' clause is here}}
#pragma acc parallel num_gangs(Parm, IVar) reduction(+:Var)
while (1);
@@ -117,12 +117,12 @@
while (1);
// expected-error@+2{{OpenACC 'num_gangs' clause with more than 1 argument may not appear on a 'parallel' construct with a 'reduction' clause}}
- // expected-note@+1{{previous clause is here}}
+ // expected-note@+1{{previous 'reduction' clause is here}}
#pragma acc parallel reduction(+:Parm) num_gangs(Parm, Var)
while (1);
// expected-error@+2{{OpenACC 'reduction' clause may not appear on a 'parallel' construct with a 'num_gangs' clause with more than 1 argument}}
- // expected-note@+1{{previous clause is here}}
+ // expected-note@+1{{previous 'num_gangs' clause is here}}
#pragma acc parallel num_gangs(Parm, Var) reduction(+:Var)
while (1);
diff --git a/clang/test/SemaOpenACC/compute-construct-self-clause.c b/clang/test/SemaOpenACC/compute-construct-self-clause.c
index 1d1cbaa..ce85025 100644
--- a/clang/test/SemaOpenACC/compute-construct-self-clause.c
+++ b/clang/test/SemaOpenACC/compute-construct-self-clause.c
@@ -33,22 +33,22 @@
void WarnMaybeNotUsed(int val1, int val2) {
// expected-warning@+2{{OpenACC construct 'self' has no effect when an 'if' clause evaluates to true}}
- // expected-note@+1{{previous clause is here}}
+ // expected-note@+1{{previous 'self' clause is here}}
#pragma acc parallel self if(val1)
while(0);
// expected-warning@+2{{OpenACC construct 'self' has no effect when an 'if' clause evaluates to true}}
- // expected-note@+1{{previous clause is here}}
+ // expected-note@+1{{previous 'self' clause is here}}
#pragma acc parallel self(val1) if(val1)
while(0);
// expected-warning@+2{{OpenACC construct 'self' has no effect when an 'if' clause evaluates to true}}
- // expected-note@+1{{previous clause is here}}
+ // expected-note@+1{{previous 'if' clause is here}}
#pragma acc parallel if(val1) self
while(0);
// expected-warning@+2{{OpenACC construct 'self' has no effect when an 'if' clause evaluates to true}}
- // expected-note@+1{{previous clause is here}}
+ // expected-note@+1{{previous 'if' clause is here}}
#pragma acc parallel if(val1) self(val2)
while(0);
diff --git a/clang/test/SemaOpenACC/compute-construct-self-clause.cpp b/clang/test/SemaOpenACC/compute-construct-self-clause.cpp
index 60edbdc..e48f5bf 100644
--- a/clang/test/SemaOpenACC/compute-construct-self-clause.cpp
+++ b/clang/test/SemaOpenACC/compute-construct-self-clause.cpp
@@ -33,22 +33,22 @@
template<typename T>
void WarnMaybeNotUsed() {
// expected-warning@+2{{OpenACC construct 'self' has no effect when an 'if' clause evaluates to true}}
- // expected-note@+1{{previous clause is here}}
+ // expected-note@+1{{previous 'self' clause is here}}
#pragma acc parallel self if(T::B)
while(0);
// expected-warning@+2{{OpenACC construct 'self' has no effect when an 'if' clause evaluates to true}}
- // expected-note@+1{{previous clause is here}}
+ // expected-note@+1{{previous 'self' clause is here}}
#pragma acc parallel self(T::B) if(T::B)
while(0);
// expected-warning@+2{{OpenACC construct 'self' has no effect when an 'if' clause evaluates to true}}
- // expected-note@+1{{previous clause is here}}
+ // expected-note@+1{{previous 'if' clause is here}}
#pragma acc parallel if(T::B) self
while(0);
// expected-warning@+2{{OpenACC construct 'self' has no effect when an 'if' clause evaluates to true}}
- // expected-note@+1{{previous clause is here}}
+ // expected-note@+1{{previous 'if' clause is here}}
#pragma acc parallel if(T::B) self(T::B)
while(0);
@@ -58,37 +58,37 @@
// expected-error@+4{{no member named 'Invalid' in 'HasBool'}}
// expected-note@#NOT_USED_INST{{in instantiation of function template specialization 'WarnMaybeNotUsed<HasBool>' requested here}}
// expected-warning@+2{{OpenACC construct 'self' has no effect when an 'if' clause evaluates to true}}
- // expected-note@+1{{previous clause is here}}
+ // expected-note@+1{{previous 'self' clause is here}}
#pragma acc parallel self if(T::Invalid)
while(0);
// expected-error@+3{{no member named 'Invalid' in 'HasBool'}}
// expected-warning@+2{{OpenACC construct 'self' has no effect when an 'if' clause evaluates to true}}
- // expected-note@+1{{previous clause is here}}
+ // expected-note@+1{{previous 'self' clause is here}}
#pragma acc parallel self(T::Invalid) if(T::B)
while(0);
// expected-error@+3{{no member named 'Invalid' in 'HasBool'}}
// expected-warning@+2{{OpenACC construct 'self' has no effect when an 'if' clause evaluates to true}}
- // expected-note@+1{{previous clause is here}}
+ // expected-note@+1{{previous 'self' clause is here}}
#pragma acc parallel self(T::B) if(T::Invalid)
while(0);
// expected-error@+3{{no member named 'Invalid' in 'HasBool'}}
// expected-warning@+2{{OpenACC construct 'self' has no effect when an 'if' clause evaluates to true}}
- // expected-note@+1{{previous clause is here}}
+ // expected-note@+1{{previous 'if' clause is here}}
#pragma acc parallel if(T::Invalid) self
while(0);
// expected-error@+3{{no member named 'Invalid' in 'HasBool'}}
// expected-warning@+2{{OpenACC construct 'self' has no effect when an 'if' clause evaluates to true}}
- // expected-note@+1{{previous clause is here}}
+ // expected-note@+1{{previous 'if' clause is here}}
#pragma acc parallel if(T::Invalid) self(T::B)
while(0);
// expected-error@+3{{no member named 'Invalid' in 'HasBool'}}
// expected-warning@+2{{OpenACC construct 'self' has no effect when an 'if' clause evaluates to true}}
- // expected-note@+1{{previous clause is here}}
+ // expected-note@+1{{previous 'if' clause is here}}
#pragma acc parallel if(T::B) self(T::Invalid)
while(0);
}
diff --git a/clang/test/SemaOpenACC/compute-construct-vector_length-clause.c b/clang/test/SemaOpenACC/compute-construct-vector_length-clause.c
index 5b67859..4d16176 100644
--- a/clang/test/SemaOpenACC/compute-construct-vector_length-clause.c
+++ b/clang/test/SemaOpenACC/compute-construct-vector_length-clause.c
@@ -9,24 +9,24 @@
while(1);
// expected-error@+2{{OpenACC 'vector_length' clause cannot appear more than once on a 'kernels' directive}}
- // expected-note@+1{{previous clause is here}}
+ // expected-note@+1{{previous 'vector_length' clause is here}}
#pragma acc kernels vector_length(1) vector_length(2)
while(1);
// expected-error@+2{{OpenACC 'vector_length' clause cannot appear more than once on a 'parallel' directive}}
- // expected-note@+1{{previous clause is here}}
+ // expected-note@+1{{previous 'vector_length' clause is here}}
#pragma acc parallel vector_length(1) vector_length(2)
while(1);
// expected-error@+3{{OpenACC 'vector_length' clause cannot appear more than once in a 'device_type' region on a 'kernels' directive}}
- // expected-note@+2{{previous clause is here}}
- // expected-note@+1{{previous clause is here}}
+ // expected-note@+2{{previous 'vector_length' clause is here}}
+ // expected-note@+1{{active 'device_type' clause here}}
#pragma acc kernels vector_length(1) device_type(*) vector_length(1) vector_length(2)
while(1);
// expected-error@+3{{OpenACC 'vector_length' clause cannot appear more than once in a 'device_type' region on a 'parallel' directive}}
- // expected-note@+2{{previous clause is here}}
- // expected-note@+1{{previous clause is here}}
+ // expected-note@+2{{previous 'vector_length' clause is here}}
+ // expected-note@+1{{active 'device_type' clause here}}
#pragma acc parallel device_type(*) vector_length(1) vector_length(2)
while(1);
diff --git a/clang/test/SemaOpenACC/data-construct-async-clause.c b/clang/test/SemaOpenACC/data-construct-async-clause.c
index 6cb34b0..14ec74c 100644
--- a/clang/test/SemaOpenACC/data-construct-async-clause.c
+++ b/clang/test/SemaOpenACC/data-construct-async-clause.c
@@ -25,7 +25,7 @@
;
// expected-error@+2{{OpenACC 'async' clause cannot appear more than once on a 'data' directive}}
- // expected-note@+1{{previous clause is here}}
+ // expected-note@+1{{previous 'async' clause is here}}
#pragma acc data copyin(I) async(I) async(I)
;
// expected-error@+2{{expected ')'}}
@@ -33,39 +33,39 @@
#pragma acc enter data copyin(I) async(I, I)
//
// expected-error@+2{{OpenACC 'async' clause cannot appear more than once on a 'data' directive}}
- // expected-note@+1{{previous clause is here}}
+ // expected-note@+1{{previous 'async' clause is here}}
#pragma acc data default(none) async async
while(1);
// expected-error@+2{{OpenACC 'async' clause cannot appear more than once on a 'data' directive}}
- // expected-note@+1{{previous clause is here}}
+ // expected-note@+1{{previous 'async' clause is here}}
#pragma acc data default(none) async(1) async(2)
while(1);
// expected-error@+2{{OpenACC 'async' clause cannot appear more than once on a 'data' directive}}
- // expected-note@+1{{previous clause is here}}
+ // expected-note@+1{{previous 'async' clause is here}}
#pragma acc data default(none) async(1) async(2)
while(1);
// expected-error@+3{{OpenACC 'async' clause cannot appear more than once in a 'device_type' region on a 'data' directive}}
- // expected-note@+2{{previous clause is here}}
- // expected-note@+1{{previous clause is here}}
+ // expected-note@+2{{previous 'async' clause is here}}
+ // expected-note@+1{{active 'device_type' clause here}}
#pragma acc data default(none) async(1) device_type(*) async(1) async(2)
while(1);
// expected-error@+3{{OpenACC 'async' clause cannot appear more than once in a 'device_type' region on a 'data' directive}}
- // expected-note@+2{{previous clause is here}}
- // expected-note@+1{{previous clause is here}}
+ // expected-note@+2{{previous 'async' clause is here}}
+ // expected-note@+1{{active 'device_type' clause here}}
#pragma acc data default(none) async device_type(*) async async
while(1);
// expected-error@+3{{OpenACC 'async' clause cannot appear more than once in a 'device_type' region on a 'data' directive}}
- // expected-note@+2{{previous clause is here}}
- // expected-note@+1{{previous clause is here}}
+ // expected-note@+2{{previous 'async' clause is here}}
+ // expected-note@+1{{active 'device_type' clause here}}
#pragma acc data default(none) async(1) device_type(*) async async(2)
while(1);
// expected-error@+3{{OpenACC 'async' clause cannot appear more than once in a 'device_type' region on a 'data' directive}}
- // expected-note@+2{{previous clause is here}}
- // expected-note@+1{{previous clause is here}}
+ // expected-note@+2{{previous 'async' clause is here}}
+ // expected-note@+1{{active 'device_type' clause here}}
#pragma acc data default(none) device_type(*) async async
while(1);
}
diff --git a/clang/test/SemaOpenACC/data-construct-default-clause.c b/clang/test/SemaOpenACC/data-construct-default-clause.c
index 9e8ee52..b9ed7c5 100644
--- a/clang/test/SemaOpenACC/data-construct-default-clause.c
+++ b/clang/test/SemaOpenACC/data-construct-default-clause.c
@@ -10,7 +10,7 @@
#pragma acc data default(none)
;
// expected-error@+2{{OpenACC 'default' clause cannot appear more than once on a 'data' directive}}
- // expected-note@+1{{previous clause is here}}
+ // expected-note@+1{{previous 'default' clause is here}}
#pragma acc data default(none) default(present)
;
// expected-error@+2{{OpenACC 'enter data' construct must have at least one 'attach', 'copyin', or 'create' clause}}
diff --git a/clang/test/SemaOpenACC/data-construct-device_type-clause.c b/clang/test/SemaOpenACC/data-construct-device_type-clause.c
index a823422..4dfcf93 100644
--- a/clang/test/SemaOpenACC/data-construct-device_type-clause.c
+++ b/clang/test/SemaOpenACC/data-construct-device_type-clause.c
@@ -12,44 +12,44 @@
;
// expected-error@+2{{OpenACC clause 'if' may not follow a 'device_type' clause in a 'data' construct}}
- // expected-note@+1{{previous clause is here}}
+ // expected-note@+1{{active 'device_type' clause here}}
#pragma acc data default(none) device_type(radeon) if(1)
;
// expected-error@+2{{OpenACC clause 'copy' may not follow a 'device_type' clause in a 'data' construct}}
- // expected-note@+1{{previous clause is here}}
+ // expected-note@+1{{active 'device_type' clause here}}
#pragma acc data default(none) device_type(radeon) copy(Var)
;
// expected-error@+2{{OpenACC clause 'copyin' may not follow a 'device_type' clause in a 'data' construct}}
- // expected-note@+1{{previous clause is here}}
+ // expected-note@+1{{active 'device_type' clause here}}
#pragma acc data default(none) device_type(radeon) copyin(Var)
;
// expected-error@+2{{OpenACC clause 'copyout' may not follow a 'device_type' clause in a 'data' construct}}
- // expected-note@+1{{previous clause is here}}
+ // expected-note@+1{{active 'device_type' clause here}}
#pragma acc data default(none) device_type(radeon) copyout(Var)
;
// expected-error@+2{{OpenACC clause 'create' may not follow a 'device_type' clause in a 'data' construct}}
- // expected-note@+1{{previous clause is here}}
+ // expected-note@+1{{active 'device_type' clause here}}
#pragma acc data default(none) device_type(radeon) create(Var)
;
// expected-error@+2{{OpenACC clause 'no_create' may not follow a 'device_type' clause in a 'data' construct}}
- // expected-note@+1{{previous clause is here}}
+ // expected-note@+1{{active 'device_type' clause here}}
#pragma acc data default(none) device_type(radeon) no_create(Var)
;
// expected-error@+2{{OpenACC clause 'present' may not follow a 'device_type' clause in a 'data' construct}}
- // expected-note@+1{{previous clause is here}}
+ // expected-note@+1{{active 'device_type' clause here}}
#pragma acc data default(none) device_type(radeon) present(Var)
;
// expected-error@+2{{OpenACC clause 'deviceptr' may not follow a 'device_type' clause in a 'data' construct}}
- // expected-note@+1{{previous clause is here}}
+ // expected-note@+1{{active 'device_type' clause here}}
#pragma acc data default(none) device_type(radeon) deviceptr(Var)
;
// expected-error@+2{{OpenACC clause 'attach' may not follow a 'device_type' clause in a 'data' construct}}
- // expected-note@+1{{previous clause is here}}
+ // expected-note@+1{{active 'device_type' clause here}}
#pragma acc data default(none) device_type(radeon) attach(Var)
;
// expected-error@+3{{OpenACC 'data' construct must have at least one 'attach', 'copy', 'copyin', 'copyout', 'create', 'default', 'deviceptr', 'no_create', or 'present' clause}}
// expected-error@+2{{OpenACC clause 'default' may not follow a 'device_type' clause in a 'data' construct}}
- // expected-note@+1{{previous clause is here}}
+ // expected-note@+1{{active 'device_type' clause here}}
#pragma acc data device_type(radeon) default(none)
;
}
diff --git a/clang/test/SemaOpenACC/data-construct-if-clause.c b/clang/test/SemaOpenACC/data-construct-if-clause.c
index f22452d..cf44b36 100644
--- a/clang/test/SemaOpenACC/data-construct-if-clause.c
+++ b/clang/test/SemaOpenACC/data-construct-if-clause.c
@@ -5,25 +5,25 @@
#pragma acc data default(present) if(1)
;
// expected-error@+2{{OpenACC 'if' clause cannot appear more than once on a 'data' directive}}
- // expected-note@+1{{previous clause is here}}
+ // expected-note@+1{{previous 'if' clause is here}}
#pragma acc data default(present) if(1) if (2)
;
#pragma acc enter data copyin(Var) if(1)
// expected-error@+2{{OpenACC 'if' clause cannot appear more than once on a 'enter data' directive}}
- // expected-note@+1{{previous clause is here}}
+ // expected-note@+1{{previous 'if' clause is here}}
#pragma acc enter data copyin(Var) if(1) if (2)
#pragma acc exit data copyout(Var) if(1)
// expected-error@+2{{OpenACC 'if' clause cannot appear more than once on a 'exit data' directive}}
- // expected-note@+1{{previous clause is here}}
+ // expected-note@+1{{previous 'if' clause is here}}
#pragma acc exit data copyout(Var) if(1) if (2)
#pragma acc host_data use_device(Var) if(1)
;
// expected-error@+2{{OpenACC 'if' clause cannot appear more than once on a 'host_data' directive}}
- // expected-note@+1{{previous clause is here}}
+ // expected-note@+1{{previous 'if' clause is here}}
#pragma acc host_data use_device(Var) if(1) if (2)
;
}
diff --git a/clang/test/SemaOpenACC/data-construct.cpp b/clang/test/SemaOpenACC/data-construct.cpp
index ffb037d..394ebb0 100644
--- a/clang/test/SemaOpenACC/data-construct.cpp
+++ b/clang/test/SemaOpenACC/data-construct.cpp
@@ -110,43 +110,43 @@
void DataRules() {
int Var;
// expected-error@+2{{OpenACC clause 'copy' may not follow a 'device_type' clause in a 'data' construct}}
- // expected-note@+1{{previous clause is here}}
+ // expected-note@+1{{active 'device_type' clause here}}
#pragma acc data default(none) device_type(*) copy(Var)
;
// expected-error@+2{{OpenACC clause 'copyin' may not follow a 'device_type' clause in a 'data' construct}}
- // expected-note@+1{{previous clause is here}}
+ // expected-note@+1{{active 'device_type' clause here}}
#pragma acc data default(none) device_type(*) copyin(Var)
;
// expected-error@+2{{OpenACC clause 'copyout' may not follow a 'device_type' clause in a 'data' construct}}
- // expected-note@+1{{previous clause is here}}
+ // expected-note@+1{{active 'device_type' clause here}}
#pragma acc data default(none) device_type(*) copyout(Var)
;
// expected-error@+2{{OpenACC clause 'create' may not follow a 'device_type' clause in a 'data' construct}}
- // expected-note@+1{{previous clause is here}}
+ // expected-note@+1{{active 'device_type' clause here}}
#pragma acc data default(none) device_type(*) create(Var)
;
// expected-error@+2{{OpenACC clause 'no_create' may not follow a 'device_type' clause in a 'data' construct}}
- // expected-note@+1{{previous clause is here}}
+ // expected-note@+1{{active 'device_type' clause here}}
#pragma acc data default(none) device_type(*) no_create(Var)
;
// expected-error@+2{{OpenACC clause 'present' may not follow a 'device_type' clause in a 'data' construct}}
- // expected-note@+1{{previous clause is here}}
+ // expected-note@+1{{active 'device_type' clause here}}
#pragma acc data default(none) device_type(*) present(Var)
;
// expected-error@+2{{OpenACC clause 'deviceptr' may not follow a 'device_type' clause in a 'data' construct}}
- // expected-note@+1{{previous clause is here}}
+ // expected-note@+1{{active 'device_type' clause here}}
#pragma acc data default(none) device_type(*) deviceptr(Var)
;
// expected-error@+2{{OpenACC clause 'attach' may not follow a 'device_type' clause in a 'data' construct}}
- // expected-note@+1{{previous clause is here}}
+ // expected-note@+1{{active 'device_type' clause here}}
#pragma acc data default(none) device_type(*) attach(Var)
;
// expected-error@+2{{OpenACC clause 'default' may not follow a 'device_type' clause in a 'data' construct}}
- // expected-note@+1{{previous clause is here}}
+ // expected-note@+1{{active 'device_type' clause here}}
#pragma acc data default(none) device_type(*) default(none)
;
// expected-error@+2{{OpenACC clause 'if' may not follow a 'device_type' clause in a 'data' construct}}
- // expected-note@+1{{previous clause is here}}
+ // expected-note@+1{{active 'device_type' clause here}}
#pragma acc data default(none) device_type(*) if(Var)
;
#pragma acc data default(none) device_type(*) async
@@ -174,7 +174,7 @@
int Var, Var2;
// expected-error@+3{{OpenACC 'host_data' construct must have at least one 'use_device' clause}}
// expected-error@+2{{OpenACC 'if' clause cannot appear more than once on a 'host_data' directive}}
- // expected-note@+1{{previous clause is here}}
+ // expected-note@+1{{previous 'if' clause is here}}
#pragma acc host_data if(Var) if (Var2)
;
diff --git a/clang/test/SemaOpenACC/init-construct.cpp b/clang/test/SemaOpenACC/init-construct.cpp
index ad901b3..abc7f74 100644
--- a/clang/test/SemaOpenACC/init-construct.cpp
+++ b/clang/test/SemaOpenACC/init-construct.cpp
@@ -43,11 +43,11 @@
#pragma acc init if (T::value < T{})
#pragma acc init device_type(radeon) device_num(getI()) if (getI() < getS())
// expected-error@+2{{OpenACC 'device_num' clause cannot appear more than once on a 'init' directive}}
- // expected-note@+1{{previous clause is here}}
+ // expected-note@+1{{previous 'device_num' clause is here}}
#pragma acc init device_type(multicore) device_type(host) device_num(t) if (t < T::value) device_num(getI())
// expected-error@+2{{OpenACC 'if' clause cannot appear more than once on a 'init' directive}}
- // expected-note@+1{{previous clause is here}}
+ // expected-note@+1{{previous 'if' clause is here}}
#pragma acc init if(t < T::value) if (getI() < getS())
// expected-error@+1{{value of type 'const NotConvertible' is not contextually convertible to 'bool'}}
diff --git a/clang/test/SemaOpenACC/loop-construct-auto_seq_independent-clauses.c b/clang/test/SemaOpenACC/loop-construct-auto_seq_independent-clauses.c
index 762873f..381b3ff 100644
--- a/clang/test/SemaOpenACC/loop-construct-auto_seq_independent-clauses.c
+++ b/clang/test/SemaOpenACC/loop-construct-auto_seq_independent-clauses.c
@@ -9,40 +9,40 @@
for(unsigned i = 0; i < 5; ++i);
// expected-error@+2{{OpenACC clause 'seq' may not appear on the same construct as a 'auto' clause on a 'loop' construct}}
- // expected-note@+1{{previous clause is here}}
+ // expected-note@+1{{previous 'auto' clause is here}}
#pragma acc loop auto seq
for(unsigned i = 0; i < 5; ++i);
// expected-error@+2{{OpenACC clause 'independent' may not appear on the same construct as a 'auto' clause on a 'loop' construct}}
- // expected-note@+1{{previous clause is here}}
+ // expected-note@+1{{previous 'auto' clause is here}}
#pragma acc loop auto independent
for(unsigned i = 0; i < 5; ++i);
// expected-error@+2{{OpenACC clause 'auto' may not appear on the same construct as a 'seq' clause on a 'loop' construct}}
- // expected-note@+1{{previous clause is here}}
+ // expected-note@+1{{previous 'seq' clause is here}}
#pragma acc loop seq auto
for(unsigned i = 0; i < 5; ++i);
// expected-error@+2{{OpenACC clause 'independent' may not appear on the same construct as a 'seq' clause on a 'loop' construct}}
- // expected-note@+1{{previous clause is here}}
+ // expected-note@+1{{previous 'seq' clause is here}}
#pragma acc loop seq independent
for(unsigned i = 0; i < 5; ++i);
// expected-error@+2{{OpenACC clause 'auto' may not appear on the same construct as a 'independent' clause on a 'loop' construct}}
- // expected-note@+1{{previous clause is here}}
+ // expected-note@+1{{previous 'independent' clause is here}}
#pragma acc loop independent auto
for(unsigned i = 0; i < 5; ++i);
// expected-error@+2{{OpenACC clause 'seq' may not appear on the same construct as a 'independent' clause on a 'loop' construct}}
- // expected-note@+1{{previous clause is here}}
+ // expected-note@+1{{previous 'independent' clause is here}}
#pragma acc loop independent seq
for(unsigned i = 0; i < 5; ++i);
// expected-error@+2{{OpenACC clause 'seq' may not appear on the same construct as a 'seq' clause on a 'loop' construct}}
- // expected-note@+1{{previous clause is here}}
+ // expected-note@+1{{previous 'seq' clause is here}}
#pragma acc loop seq seq
for(unsigned i = 0; i < 5; ++i);
// expected-error@+2{{OpenACC clause 'independent' may not appear on the same construct as a 'independent' clause on a 'loop' construct}}
- // expected-note@+1{{previous clause is here}}
+ // expected-note@+1{{previous 'independent' clause is here}}
#pragma acc loop independent independent
for(unsigned i = 0; i < 5; ++i);
// expected-error@+2{{OpenACC clause 'auto' may not appear on the same construct as a 'auto' clause on a 'loop' construct}}
- // expected-note@+1{{previous clause is here}}
+ // expected-note@+1{{previous 'auto' clause is here}}
#pragma acc loop auto auto
for(unsigned i = 0; i < 5; ++i);
@@ -589,19 +589,19 @@
// 'seq' cannot be combined with 'gang', 'worker' or 'vector'
// expected-error@+2{{OpenACC clause 'gang' may not appear on the same construct as a 'seq' clause on a 'loop' construct}}
- // expected-note@+1{{previous clause is here}}
+ // expected-note@+1{{previous 'seq' clause is here}}
#pragma acc loop seq gang
for(unsigned i = 0; i < 5; ++i);
// expected-error@+2{{OpenACC clause 'seq' may not appear on the same construct as a 'gang' clause on a 'loop' construct}}
- // expected-note@+1{{previous clause is here}}
+ // expected-note@+1{{previous 'gang' clause is here}}
#pragma acc loop gang seq
for(unsigned i = 0; i < 5; ++i);
// expected-error@+2{{OpenACC clause 'worker' may not appear on the same construct as a 'seq' clause on a 'loop' construct}}
- // expected-note@+1{{previous clause is here}}
+ // expected-note@+1{{previous 'seq' clause is here}}
#pragma acc loop seq worker
for(unsigned i = 0; i < 5; ++i);
// expected-error@+2{{OpenACC clause 'vector' may not appear on the same construct as a 'seq' clause on a 'loop' construct}}
- // expected-note@+1{{previous clause is here}}
+ // expected-note@+1{{previous 'seq' clause is here}}
#pragma acc loop seq vector
for(unsigned i = 0; i < 5; ++i);
// expected-error@+1{{OpenACC 'finalize' clause is not valid on 'loop' directive}}
@@ -733,15 +733,15 @@
for(unsigned i = 0; i < 5; ++i);
// expected-error@+2{{OpenACC clause 'seq' may not appear on the same construct as a 'gang' clause on a 'loop' construct}}
- // expected-note@+1{{previous clause is here}}
+ // expected-note@+1{{previous 'gang' clause is here}}
#pragma acc loop gang seq
for(unsigned i = 0; i < 5; ++i);
// expected-error@+2{{OpenACC clause 'seq' may not appear on the same construct as a 'worker' clause on a 'loop' construct}}
- // expected-note@+1{{previous clause is here}}
+ // expected-note@+1{{previous 'worker' clause is here}}
#pragma acc loop worker seq
for(unsigned i = 0; i < 5; ++i);
// expected-error@+2{{OpenACC clause 'seq' may not appear on the same construct as a 'vector' clause on a 'loop' construct}}
- // expected-note@+1{{previous clause is here}}
+ // expected-note@+1{{previous 'vector' clause is here}}
#pragma acc loop vector seq
for(unsigned i = 0; i < 5; ++i);
// expected-error@+1{{OpenACC 'finalize' clause is not valid on 'loop' directive}}
diff --git a/clang/test/SemaOpenACC/loop-construct-collapse-clause.cpp b/clang/test/SemaOpenACC/loop-construct-collapse-clause.cpp
index cbaf414..784e657 100644
--- a/clang/test/SemaOpenACC/loop-construct-collapse-clause.cpp
+++ b/clang/test/SemaOpenACC/loop-construct-collapse-clause.cpp
@@ -16,7 +16,7 @@
void only_one_on_loop() {
// expected-error@+2{{OpenACC 'collapse' clause cannot appear more than once on a 'loop' directive}}
- // expected-note@+1{{previous clause is here}}
+ // expected-note@+1{{previous 'collapse' clause is here}}
#pragma acc loop collapse(1) collapse(1)
for(int i = 0; i < 5; ++i);
}
@@ -530,8 +530,8 @@
void no_dupes_since_last_device_type() {
// expected-error@+3{{OpenACC 'collapse' clause cannot appear more than once in a 'device_type' region on a 'loop' directive}}
- // expected-note@+2{{previous clause is here}}
- // expected-note@+1{{previous clause is here}}
+ // expected-note@+2{{previous 'collapse' clause is here}}
+ // expected-note@+1{{active 'device_type' clause here}}
#pragma acc loop collapse(1) device_type(*) collapse(1) collapse(2)
for(unsigned i = 0; i < 5; ++i)
for(unsigned j = 0; j < 5; ++j);
diff --git a/clang/test/SemaOpenACC/loop-construct-device_type-clause.c b/clang/test/SemaOpenACC/loop-construct-device_type-clause.c
index 24da7ed..e16549a 100644
--- a/clang/test/SemaOpenACC/loop-construct-device_type-clause.c
+++ b/clang/test/SemaOpenACC/loop-construct-device_type-clause.c
@@ -116,7 +116,7 @@
#pragma acc loop device_type(*) present(Var)
for(int i = 0; i < 5; ++i);
// expected-error@+2{{OpenACC clause 'private' may not follow a 'device_type' clause in a 'loop' construct}}
- // expected-note@+1{{previous clause is here}}
+ // expected-note@+1{{active 'device_type' clause here}}
#pragma acc loop device_type(*) private(Var)
for(int i = 0; i < 5; ++i);
// expected-error@+1{{OpenACC 'copyout' clause is not valid on 'loop' directive}}
@@ -147,7 +147,7 @@
#pragma acc loop device_type(*) present_or_create(Var)
for(int i = 0; i < 5; ++i);
// expected-error@+2{{OpenACC clause 'reduction' may not follow a 'device_type' clause in a 'loop' construct}}
- // expected-note@+1{{previous clause is here}}
+ // expected-note@+1{{active 'device_type' clause here}}
#pragma acc loop device_type(*) reduction(+:Var)
for(int i = 0; i < 5; ++i);
#pragma acc loop device_type(*) collapse(1)
diff --git a/clang/test/SemaOpenACC/loop-construct-gang-clause.cpp b/clang/test/SemaOpenACC/loop-construct-gang-clause.cpp
index 6b4c03b..19a5f44 100644
--- a/clang/test/SemaOpenACC/loop-construct-gang-clause.cpp
+++ b/clang/test/SemaOpenACC/loop-construct-gang-clause.cpp
@@ -239,13 +239,13 @@
for(int i = 0; i < 5; ++i);
// expected-error@+3{{'num' argument to 'gang' clause not allowed on a 'loop' construct associated with a 'kernels' construct that has a 'num_gangs' clause}}
- // expected-note@+1{{previous clause is here}}
+ // expected-note@+1{{previous 'num_gangs' clause is here}}
#pragma acc kernels num_gangs(t)
#pragma acc loop gang(t)
for(int i = 0; i < 5; ++i);
// expected-error@+3{{'num' argument to 'gang' clause not allowed on a 'loop' construct associated with a 'kernels' construct that has a 'num_gangs' clause}}
- // expected-note@+1{{previous clause is here}}
+ // expected-note@+1{{previous 'num_gangs' clause is here}}
#pragma acc kernels num_gangs(t)
#pragma acc loop gang(num:t)
for(int i = 0; i < 5; ++i);
@@ -264,13 +264,13 @@
for(int i = 0; i < 5; ++i);
// expected-error@+3{{'num' argument to 'gang' clause not allowed on a 'loop' construct associated with a 'kernels' construct that has a 'num_gangs' clause}}
- // expected-note@+1{{previous clause is here}}
+ // expected-note@+1{{previous 'num_gangs' clause is here}}
#pragma acc kernels num_gangs(1)
#pragma acc loop gang(1)
for(int i = 0; i < 5; ++i);
// expected-error@+3{{'num' argument to 'gang' clause not allowed on a 'loop' construct associated with a 'kernels' construct that has a 'num_gangs' clause}}
- // expected-note@+1{{previous clause is here}}
+ // expected-note@+1{{previous 'num_gangs' clause is here}}
#pragma acc kernels num_gangs(1)
#pragma acc loop gang(num:1)
for(int i = 0; i < 5; ++i);
@@ -279,7 +279,7 @@
#pragma acc loop gang(num:1)
for(int j = 0; j < 5; ++j) {
// expected-error@+2{{loop with a 'gang' clause may not exist in the region of a 'gang' clause on a 'kernels' construct}}
- // expected-note@-3{{previous clause is here}}
+ // expected-note@-3{{previous 'gang' clause is here}}
#pragma acc loop gang(static:1)
for(int i = 0; i < 5; ++i);
}
diff --git a/clang/test/SemaOpenACC/loop-construct-reduction-clause.cpp b/clang/test/SemaOpenACC/loop-construct-reduction-clause.cpp
index 08918a9..bbcfffb 100644
--- a/clang/test/SemaOpenACC/loop-construct-reduction-clause.cpp
+++ b/clang/test/SemaOpenACC/loop-construct-reduction-clause.cpp
@@ -54,7 +54,7 @@
#pragma acc loop reduction(+:I)
for(int i = 0; i < 5; ++i) {
// expected-error@+2{{OpenACC 'reduction' variable must have the same operator in all nested constructs (& vs +)}}
- // expected-note@-3{{previous clause is here}}
+ // expected-note@-3{{previous 'reduction' clause is here}}
#pragma acc loop reduction(&:I)
for(int i = 0; i < 5; ++i) {
}
@@ -66,7 +66,7 @@
#pragma acc loop reduction(+:I)
for(int i = 0; i < 5; ++i) {
// expected-error@+2{{OpenACC 'reduction' variable must have the same operator in all nested constructs (& vs +)}}
- // expected-note@-3{{previous clause is here}}
+ // expected-note@-3{{previous 'reduction' clause is here}}
#pragma acc loop reduction(&:I)
for(int i = 0; i < 5; ++i) {
}
@@ -79,7 +79,7 @@
for(int i = 0; i < 5; ++i) {
#pragma acc serial
// expected-error@+2{{OpenACC 'reduction' variable must have the same operator in all nested constructs (& vs +)}}
- // expected-note@-4{{previous clause is here}}
+ // expected-note@-4{{previous 'reduction' clause is here}}
#pragma acc loop reduction(&:I)
for(int i = 0; i < 5; ++i) {
}
@@ -88,7 +88,7 @@
#pragma acc serial reduction(+:I)
// expected-error@+2{{OpenACC 'reduction' variable must have the same operator in all nested constructs (& vs +)}}
- // expected-note@-2{{previous clause is here}}
+ // expected-note@-2{{previous 'reduction' clause is here}}
#pragma acc loop reduction(&:I)
for(int i = 0; i < 5; ++i){}
@@ -96,7 +96,7 @@
#pragma acc loop reduction(&:I)
for(int i = 0; i < 5; ++i) {
// expected-error@+2{{OpenACC 'reduction' variable must have the same operator in all nested constructs (+ vs &)}}
- // expected-note@-3{{previous clause is here}}
+ // expected-note@-3{{previous 'reduction' clause is here}}
#pragma acc serial reduction(+:I)
;
}
@@ -111,7 +111,7 @@
#pragma acc parallel
{
// expected-error@+2{{OpenACC 'gang' clause with a 'dim' value greater than 1 cannot appear on the same 'loop' construct as a 'reduction' clause}}
- // expected-note@+1{{previous clause is here}}
+ // expected-note@+1{{previous 'reduction' clause is here}}
#pragma acc loop reduction(+:I) gang(dim:2)
for(int i = 0; i < 5; ++i) {
}
@@ -120,7 +120,7 @@
#pragma acc parallel
{
// expected-error@+2{{OpenACC 'reduction' clause cannot appear on the same 'loop' construct as a 'gang' clause with a 'dim' value greater than 1}}
- // expected-note@+1{{previous clause is here}}
+ // expected-note@+1{{previous 'gang' clause is here}}
#pragma acc loop gang(dim:2) reduction(+:I)
for(int i = 0; i < 5; ++i) {
}
@@ -129,7 +129,7 @@
#pragma acc parallel
{
// expected-error@+2{{OpenACC 'reduction' clause cannot appear on the same 'loop' construct as a 'gang' clause with a 'dim' value greater than 1}}
- // expected-note@+1{{previous clause is here}}
+ // expected-note@+1{{previous 'gang' clause is here}}
#pragma acc loop gang gang(dim:1) gang(dim:2) reduction(+:I)
for(int i = 0; i < 5; ++i) {
}
@@ -138,8 +138,8 @@
#pragma acc parallel num_gangs(1, 2)
{
// expected-error@+3{{OpenACC 'reduction' clause cannot appear on the same 'loop' construct as a 'gang' clause inside a compute construct with a 'num_gangs' clause with more than one argument}}
- // expected-note@+2{{previous clause is here}}
- // expected-note@-4{{previous clause is here}}
+ // expected-note@+2{{previous 'gang' clause is here}}
+ // expected-note@-4{{previous 'num_gangs' clause is here}}
#pragma acc loop gang(dim:1) reduction(+:I)
for(int i = 0; i < 5; ++i) {
}
@@ -148,8 +148,8 @@
#pragma acc parallel num_gangs(2, 3)
{
// expected-error@+3{{OpenACC 'gang' clause cannot appear on the same 'loop' construct as a 'reduction' clause inside a compute construct with a 'num_gangs' clause with more than one argument}}
- // expected-note@+2{{previous clause is here}}
- // expected-note@-4{{previous clause is here}}
+ // expected-note@+2{{previous 'reduction' clause is here}}
+ // expected-note@-4{{previous 'num_gangs' clause is here}}
#pragma acc loop reduction(+:I) gang(dim:1)
for(int i = 0; i < 5; ++i) {
}
@@ -190,7 +190,7 @@
#pragma acc loop reduction(+:I)
for(int i = 0; i < 5; ++i) {
// expected-error@+2{{OpenACC 'reduction' variable must have the same operator in all nested constructs (& vs +)}}
- // expected-note@-3{{previous clause is here}}
+ // expected-note@-3{{previous 'reduction' clause is here}}
#pragma acc loop reduction(&:I)
for(int i = 0; i < 5; ++i) {
}
@@ -202,7 +202,7 @@
#pragma acc loop reduction(+:Array[3])
for(int i = 0; i < 5; ++i) {
// expected-error@+2{{OpenACC 'reduction' variable must have the same operator in all nested constructs (& vs +)}}
- // expected-note@-3{{previous clause is here}}
+ // expected-note@-3{{previous 'reduction' clause is here}}
#pragma acc loop reduction(&:Array[3])
for(int i = 0; i < 5; ++i) {
}
@@ -214,7 +214,7 @@
#pragma acc loop reduction(+:Array[0:3])
for(int i = 0; i < 5; ++i) {
// expected-error@+2{{OpenACC 'reduction' variable must have the same operator in all nested constructs (& vs +)}}
- // expected-note@-3{{previous clause is here}}
+ // expected-note@-3{{previous 'reduction' clause is here}}
#pragma acc loop reduction(&:Array[1:4])
for(int i = 0; i < 5; ++i) {
}
@@ -226,7 +226,7 @@
#pragma acc loop reduction(+:I)
for(int i = 0; i < 5; ++i) {
// expected-error@+2{{OpenACC 'reduction' variable must have the same operator in all nested constructs (& vs +)}}
- // expected-note@-3{{previous clause is here}}
+ // expected-note@-3{{previous 'reduction' clause is here}}
#pragma acc serial reduction(&:I)
for(int i = 0; i < 5; ++i) {
}
@@ -243,7 +243,7 @@
#pragma acc parallel
{
// expected-error@+2{{OpenACC 'gang' clause with a 'dim' value greater than 1 cannot appear on the same 'loop' construct as a 'reduction' clause}}
- // expected-note@+1{{previous clause is here}}
+ // expected-note@+1{{previous 'reduction' clause is here}}
#pragma acc loop reduction(+:I) gang(dim:2)
for(int i = 0; i < 5; ++i) {
}
@@ -252,7 +252,7 @@
#pragma acc parallel
{
// expected-error@+2{{OpenACC 'reduction' clause cannot appear on the same 'loop' construct as a 'gang' clause with a 'dim' value greater than 1}}
- // expected-note@+1{{previous clause is here}}
+ // expected-note@+1{{previous 'gang' clause is here}}
#pragma acc loop gang(dim:2) reduction(+:I)
for(int i = 0; i < 5; ++i) {
}
@@ -260,7 +260,7 @@
#pragma acc parallel
{
// expected-error@+2{{OpenACC 'gang' clause with a 'dim' value greater than 1 cannot appear on the same 'loop' construct as a 'reduction' clause}}
- // expected-note@+1{{previous clause is here}}
+ // expected-note@+1{{previous 'reduction' clause is here}}
#pragma acc loop reduction(+:I) gang(dim:Two)
for(int i = 0; i < 5; ++i) {
}
@@ -269,7 +269,7 @@
#pragma acc parallel
{
// expected-error@+2{{OpenACC 'reduction' clause cannot appear on the same 'loop' construct as a 'gang' clause with a 'dim' value greater than 1}}
- // expected-note@+1{{previous clause is here}}
+ // expected-note@+1{{previous 'gang' clause is here}}
#pragma acc loop gang(dim:Two) reduction(+:I)
for(int i = 0; i < 5; ++i) {
}
@@ -286,8 +286,8 @@
#pragma acc parallel num_gangs(Two, 1)
{
// expected-error@+3{{OpenACC 'gang' clause cannot appear on the same 'loop' construct as a 'reduction' clause inside a compute construct with a 'num_gangs' clause with more than one argument}}
- // expected-note@+2{{previous clause is here}}
- // expected-note@-4{{previous clause is here}}
+ // expected-note@+2{{previous 'reduction' clause is here}}
+ // expected-note@-4{{previous 'num_gangs' clause is here}}
#pragma acc loop reduction(+:I) gang(dim:One)
for(int i = 0; i < 5; ++i) {
}
@@ -296,8 +296,8 @@
#pragma acc parallel num_gangs(Two, 1)
{
// expected-error@+3{{OpenACC 'reduction' clause cannot appear on the same 'loop' construct as a 'gang' clause inside a compute construct with a 'num_gangs' clause with more than one argument}}
- // expected-note@+2{{previous clause is here}}
- // expected-note@-4{{previous clause is here}}
+ // expected-note@+2{{previous 'gang' clause is here}}
+ // expected-note@-4{{previous 'num_gangs' clause is here}}
#pragma acc loop gang(dim:One) reduction(+:I)
for(int i = 0; i < 5; ++i) {
}
@@ -313,8 +313,8 @@
#pragma acc parallel num_gangs(Two, 1)
{
// expected-error@+3{{OpenACC 'gang' clause cannot appear on the same 'loop' construct as a 'reduction' clause inside a compute construct with a 'num_gangs' clause with more than one argument}}
- // expected-note@+2{{previous clause is here}}
- // expected-note@-4{{previous clause is here}}
+ // expected-note@+2{{previous 'reduction' clause is here}}
+ // expected-note@-4{{previous 'num_gangs' clause is here}}
#pragma acc loop reduction(+:I) gang(dim:1)
for(int i = 0; i < 5; ++i) {
}
@@ -323,8 +323,8 @@
#pragma acc parallel num_gangs(Two, 1)
{
// expected-error@+3{{OpenACC 'reduction' clause cannot appear on the same 'loop' construct as a 'gang' clause inside a compute construct with a 'num_gangs' clause with more than one argument}}
- // expected-note@+2{{previous clause is here}}
- // expected-note@-4{{previous clause is here}}
+ // expected-note@+2{{previous 'gang' clause is here}}
+ // expected-note@-4{{previous 'num_gangs' clause is here}}
#pragma acc loop gang(dim:1) reduction(+:I)
for(int i = 0; i < 5; ++i) {
}
@@ -340,8 +340,8 @@
#pragma acc parallel num_gangs(2, 1)
{
// expected-error@+3{{OpenACC 'gang' clause cannot appear on the same 'loop' construct as a 'reduction' clause inside a compute construct with a 'num_gangs' clause with more than one argument}}
- // expected-note@+2{{previous clause is here}}
- // expected-note@-4{{previous clause is here}}
+ // expected-note@+2{{previous 'reduction' clause is here}}
+ // expected-note@-4{{previous 'num_gangs' clause is here}}
#pragma acc loop reduction(+:I) gang(dim:One)
for(int i = 0; i < 5; ++i) {
}
@@ -350,8 +350,8 @@
#pragma acc parallel num_gangs(2, 1)
{
// expected-error@+3{{OpenACC 'reduction' clause cannot appear on the same 'loop' construct as a 'gang' clause inside a compute construct with a 'num_gangs' clause with more than one argument}}
- // expected-note@+2{{previous clause is here}}
- // expected-note@-4{{previous clause is here}}
+ // expected-note@+2{{previous 'gang' clause is here}}
+ // expected-note@-4{{previous 'num_gangs' clause is here}}
#pragma acc loop gang(dim:One) reduction(+:I)
for(int i = 0; i < 5; ++i) {
}
diff --git a/clang/test/SemaOpenACC/loop-construct-tile-clause.cpp b/clang/test/SemaOpenACC/loop-construct-tile-clause.cpp
index a5b2402..cd53504 100644
--- a/clang/test/SemaOpenACC/loop-construct-tile-clause.cpp
+++ b/clang/test/SemaOpenACC/loop-construct-tile-clause.cpp
@@ -145,7 +145,7 @@
void only_one_on_loop() {
// expected-error@+2{{OpenACC 'tile' clause cannot appear more than once on a 'loop' directive}}
- // expected-note@+1{{previous clause is here}}
+ // expected-note@+1{{previous 'tile' clause is here}}
#pragma acc loop tile(1) tile(1)
for(int i = 0; i < 5; ++i);
}
@@ -410,8 +410,8 @@
}
void no_dupes_since_last_device_type() {
// expected-error@+3{{OpenACC 'tile' clause cannot appear more than once in a 'device_type' region on a 'loop' directive}}
- // expected-note@+2{{previous clause is here}}
- // expected-note@+1{{previous clause is here}}
+ // expected-note@+2{{previous 'tile' clause is here}}
+ // expected-note@+1{{active 'device_type' clause here}}
#pragma acc loop tile(1) device_type(*) tile(1) tile(2)
for(unsigned i = 0; i < 5; ++i)
for(unsigned j = 0; j < 5; ++j);
diff --git a/clang/test/SemaOpenACC/loop-construct-vector-clause.cpp b/clang/test/SemaOpenACC/loop-construct-vector-clause.cpp
index 1fed82c..58b1c8b 100644
--- a/clang/test/SemaOpenACC/loop-construct-vector-clause.cpp
+++ b/clang/test/SemaOpenACC/loop-construct-vector-clause.cpp
@@ -24,7 +24,7 @@
for(int j = 0; j < 5; ++j);
// expected-error@+3{{'length' argument to 'vector' clause not allowed on a 'loop' construct associated with a 'kernels' construct that has a 'vector_length' clause}}
- // expected-note@+1{{previous clause is here}}
+ // expected-note@+1{{previous 'vector_length' clause is here}}
#pragma acc kernels vector_length(I)
#pragma acc loop vector(length: CTI)
for(int j = 0; j < 5; ++j);
@@ -33,7 +33,7 @@
for(int i = 0; i < 5; ++i) {
for(int j = 0; j < 5; ++j);
// expected-error@+2{{loop with a 'vector' clause may not exist in the region of a 'vector' clause}}
- // expected-note@-4{{previous clause is here}}
+ // expected-note@-4{{previous 'vector' clause is here}}
#pragma acc loop vector
for(int j = 0; j < 5; ++j);
for(int j = 0; j < 5; ++j);
@@ -45,7 +45,7 @@
// expected-error@+4{{loop with a 'vector' clause may not exist in the region of a 'vector' clause}}
// expected-error@+3{{loop with a 'worker' clause may not exist in the region of a 'vector' clause}}
// expected-error@+2{{loop with a 'gang' clause may not exist in the region of a 'vector' clause}}
- // expected-note@-6 3{{previous clause is here}}
+ // expected-note@-6 3{{previous 'vector' clause is here}}
#pragma acc loop vector, worker, gang
for(int j = 0; j < 5; ++j);
for(int j = 0; j < 5; ++j);
@@ -93,7 +93,7 @@
for(int j = 0; j < 5; ++j);
// expected-error@+3{{'length' argument to 'vector' clause not allowed on a 'loop' construct associated with a 'kernels' construct that has a 'vector_length' clause}}
- // expected-note@+1{{previous clause is here}}
+ // expected-note@+1{{previous 'vector_length' clause is here}}
#pragma acc kernels vector_length(i)
#pragma acc loop vector(length: i)
for(int j = 0; j < 5; ++j);
@@ -102,7 +102,7 @@
for(int i = 0; i < 5; ++i) {
for(int j = 0; j < 5; ++j);
// expected-error@+2{{loop with a 'vector' clause may not exist in the region of a 'vector' clause}}
- // expected-note@-4{{previous clause is here}}
+ // expected-note@-4{{previous 'vector' clause is here}}
#pragma acc loop vector
for(int j = 0; j < 5; ++j);
for(int j = 0; j < 5; ++j);
@@ -121,7 +121,7 @@
// expected-error@+4{{loop with a 'vector' clause may not exist in the region of a 'vector' clause}}
// expected-error@+3{{loop with a 'worker' clause may not exist in the region of a 'vector' clause}}
// expected-error@+2{{loop with a 'gang' clause may not exist in the region of a 'vector' clause}}
- // expected-note@-6 3{{previous clause is here}}
+ // expected-note@-6 3{{previous 'vector' clause is here}}
#pragma acc loop vector, worker, gang
for(int j = 0; j < 5; ++j);
for(int j = 0; j < 5; ++j);
diff --git a/clang/test/SemaOpenACC/loop-construct-worker-clause.cpp b/clang/test/SemaOpenACC/loop-construct-worker-clause.cpp
index 35c63e4..ec7d0a3 100644
--- a/clang/test/SemaOpenACC/loop-construct-worker-clause.cpp
+++ b/clang/test/SemaOpenACC/loop-construct-worker-clause.cpp
@@ -42,7 +42,7 @@
for(int i = 0; i < 5; ++i);
// expected-error@+3{{'num' argument to 'worker' clause not allowed on a 'loop' construct associated with a 'kernels' construct that has a 'num_workers' clause}}
- // expected-note@+1{{previous clause is here}}
+ // expected-note@+1{{previous 'num_workers' clause is here}}
#pragma acc kernels num_workers(IsI)
#pragma acc loop worker(num:CTI)
for(int i = 0; i < 5; ++i);
@@ -124,7 +124,7 @@
for(int i = 0; i < 5; ++i);
// expected-error@+3{{'num' argument to 'worker' clause not allowed on a 'loop' construct associated with a 'kernels' construct that has a 'num_workers' clause}}
- // expected-note@+1{{previous clause is here}}
+ // expected-note@+1{{previous 'num_workers' clause is here}}
#pragma acc kernels num_workers(i)
#pragma acc loop worker(num:i)
for(int i = 0; i < 5; ++i);
@@ -133,7 +133,7 @@
for(int i= 0; i< 5; ++i) {
// expected-error@+3{{loop with a 'worker' clause may not exist in the region of a 'worker' clause}}
// expected-error@+2{{loop with a 'gang' clause may not exist in the region of a 'worker' clause}}
- // expected-note@-4 2{{previous clause is here}}
+ // expected-note@-4 2{{previous 'worker' clause is here}}
#pragma acc loop worker, gang
for(int k = 0; k < 5; ++k);
}
@@ -157,7 +157,7 @@
for(int i= 0; i< 5; ++i) {
// expected-error@+3{{loop with a 'worker' clause may not exist in the region of a 'worker' clause}}
// expected-error@+2{{loop with a 'gang' clause may not exist in the region of a 'worker' clause}}
- // expected-note@-4 2{{previous clause is here}}
+ // expected-note@-4 2{{previous 'worker' clause is here}}
#pragma acc loop worker, gang
for(int k = 0; k < 5; ++k);
}
@@ -175,7 +175,7 @@
for(int i= 0; i< 5; ++i) {
// expected-error@+3{{loop with a 'worker' clause may not exist in the region of a 'worker' clause}}
// expected-error@+2{{loop with a 'gang' clause may not exist in the region of a 'worker' clause}}
- // expected-note@-4 2{{previous clause is here}}
+ // expected-note@-4 2{{previous 'worker' clause is here}}
#pragma acc loop worker, gang
for(int k = 0; k < 5; ++k);
}
@@ -193,7 +193,7 @@
for(int i= 0; i< 5; ++i) {
// expected-error@+3{{loop with a 'worker' clause may not exist in the region of a 'worker' clause}}
// expected-error@+2{{loop with a 'gang' clause may not exist in the region of a 'worker' clause}}
- // expected-note@-4 2{{previous clause is here}}
+ // expected-note@-4 2{{previous 'worker' clause is here}}
#pragma acc loop worker, gang
for(int k = 0; k < 5; ++k);
}
diff --git a/clang/test/SemaOpenACC/routine-construct-clauses.cpp b/clang/test/SemaOpenACC/routine-construct-clauses.cpp
index 004a069..0281d14 100644
--- a/clang/test/SemaOpenACC/routine-construct-clauses.cpp
+++ b/clang/test/SemaOpenACC/routine-construct-clauses.cpp
@@ -8,62 +8,62 @@
#pragma acc routine(Func) nohost seq
#pragma acc routine(Func) gang
// expected-error@+2{{OpenACC clause 'bind' may not appear on the same construct as a 'bind' clause on a 'routine' construct}}
-// expected-note@+1{{previous clause is here}}
+// expected-note@+1{{previous 'bind' clause is here}}
#pragma acc routine(Func) gang bind(a) bind(a)
// expected-error@+2{{OpenACC clause 'bind' may not appear on the same construct as a 'bind' clause on a 'routine' construct}}
-// expected-note@+1{{previous clause is here}}
+// expected-note@+1{{previous 'bind' clause is here}}
#pragma acc routine gang bind(a) bind(a)
void DupeImplName();
// Only 1 of worker, vector, seq, gang.
// expected-error@+2{{OpenACC clause 'vector' may not appear on the same construct as a 'worker' clause on a 'routine' construct}}
-// expected-note@+1{{previous clause is here}}
+// expected-note@+1{{previous 'worker' clause is here}}
#pragma acc routine(Func) worker vector
// expected-error@+2{{OpenACC clause 'seq' may not appear on the same construct as a 'worker' clause on a 'routine' construct}}
-// expected-note@+1{{previous clause is here}}
+// expected-note@+1{{previous 'worker' clause is here}}
#pragma acc routine(Func) worker seq
// expected-error@+2{{OpenACC clause 'gang' may not appear on the same construct as a 'worker' clause on a 'routine' construct}}
-// expected-note@+1{{previous clause is here}}
+// expected-note@+1{{previous 'worker' clause is here}}
#pragma acc routine(Func) worker gang
// expected-error@+2{{OpenACC clause 'worker' may not appear on the same construct as a 'worker' clause on a 'routine' construct}}
-// expected-note@+1{{previous clause is here}}
+// expected-note@+1{{previous 'worker' clause is here}}
#pragma acc routine(Func) worker worker
// expected-error@+2{{OpenACC clause 'worker' may not appear on the same construct as a 'vector' clause on a 'routine' construct}}
-// expected-note@+1{{previous clause is here}}
+// expected-note@+1{{previous 'vector' clause is here}}
#pragma acc routine(Func) vector worker
// expected-error@+2{{OpenACC clause 'seq' may not appear on the same construct as a 'vector' clause on a 'routine' construct}}
-// expected-note@+1{{previous clause is here}}
+// expected-note@+1{{previous 'vector' clause is here}}
#pragma acc routine(Func) vector seq
// expected-error@+2{{OpenACC clause 'gang' may not appear on the same construct as a 'vector' clause on a 'routine' construct}}
-// expected-note@+1{{previous clause is here}}
+// expected-note@+1{{previous 'vector' clause is here}}
#pragma acc routine(Func) vector gang
// expected-error@+2{{OpenACC clause 'vector' may not appear on the same construct as a 'vector' clause on a 'routine' construct}}
-// expected-note@+1{{previous clause is here}}
+// expected-note@+1{{previous 'vector' clause is here}}
#pragma acc routine(Func) vector vector
// expected-error@+2{{OpenACC clause 'worker' may not appear on the same construct as a 'seq' clause on a 'routine' construct}}
-// expected-note@+1{{previous clause is here}}
+// expected-note@+1{{previous 'seq' clause is here}}
#pragma acc routine(Func) seq worker
// expected-error@+2{{OpenACC clause 'vector' may not appear on the same construct as a 'seq' clause on a 'routine' construct}}
-// expected-note@+1{{previous clause is here}}
+// expected-note@+1{{previous 'seq' clause is here}}
#pragma acc routine(Func) seq vector
// expected-error@+2{{OpenACC clause 'gang' may not appear on the same construct as a 'seq' clause on a 'routine' construct}}
-// expected-note@+1{{previous clause is here}}
+// expected-note@+1{{previous 'seq' clause is here}}
#pragma acc routine(Func) seq gang
// expected-error@+2{{OpenACC clause 'seq' may not appear on the same construct as a 'seq' clause on a 'routine' construct}}
-// expected-note@+1{{previous clause is here}}
+// expected-note@+1{{previous 'seq' clause is here}}
#pragma acc routine(Func) seq seq
// expected-error@+2{{OpenACC clause 'worker' may not appear on the same construct as a 'gang' clause on a 'routine' construct}}
-// expected-note@+1{{previous clause is here}}
+// expected-note@+1{{previous 'gang' clause is here}}
#pragma acc routine(Func) gang worker
// expected-error@+2{{OpenACC clause 'vector' may not appear on the same construct as a 'gang' clause on a 'routine' construct}}
-// expected-note@+1{{previous clause is here}}
+// expected-note@+1{{previous 'gang' clause is here}}
#pragma acc routine(Func) gang vector
// expected-error@+2{{OpenACC clause 'seq' may not appear on the same construct as a 'gang' clause on a 'routine' construct}}
-// expected-note@+1{{previous clause is here}}
+// expected-note@+1{{previous 'gang' clause is here}}
#pragma acc routine(Func) gang seq
// expected-error@+2{{OpenACC clause 'gang' may not appear on the same construct as a 'gang' clause on a 'routine' construct}}
-// expected-note@+1{{previous clause is here}}
+// expected-note@+1{{previous 'gang' clause is here}}
#pragma acc routine(Func) gang gang
// expected-error@+1{{OpenACC 'routine' construct must have at least one 'gang', 'seq', 'vector', or 'worker' clause}}
#pragma acc routine(Func)
@@ -153,10 +153,10 @@
#pragma acc routine(Func6) seq device_type(*) bind(WhateverElse)
#pragma acc routine(Func) seq dtype(*) device_type(*)
// expected-error@+2{{OpenACC clause 'nohost' may not follow a 'dtype' clause in a 'routine' construct}}
-// expected-note@+1{{previous clause is here}}
+// expected-note@+1{{active 'dtype' clause here}}
#pragma acc routine(Func) seq dtype(*) nohost
// expected-error@+2{{OpenACC clause 'nohost' may not follow a 'device_type' clause in a 'routine' construct}}
-// expected-note@+1{{previous clause is here}}
+// expected-note@+1{{active 'device_type' clause here}}
#pragma acc routine(Func) seq device_type(*) nohost
// 2.15: a bind clause may not bind to a routine name that has a visible bind clause.
@@ -165,7 +165,7 @@
// OK: Doesn't have a bind
#pragma acc routine(Func3) seq
// expected-error@+2{{multiple 'routine' directives with 'bind' clauses are not permitted to refer to the same function}}
-// expected-note@-4{{previous clause is here}}
+// expected-note@-4{{previous 'bind' clause is here}}
#pragma acc routine(Func3) seq bind("asdf")
void Func4();
@@ -173,12 +173,12 @@
#pragma acc routine(Func4) seq
#pragma acc routine(Func4) seq bind("asdf")
// expected-error@+2{{multiple 'routine' directives with 'bind' clauses are not permitted to refer to the same function}}
-// expected-note@-2{{previous clause is here}}
+// expected-note@-2{{previous 'bind' clause is here}}
#pragma acc routine(Func4) seq bind("asdf")
void Func5();
#pragma acc routine(Func5) seq bind("asdf")
// expected-error@+2{{multiple 'routine' directives with 'bind' clauses are not permitted to refer to the same function}}
-// expected-note@-2{{previous clause is here}}
+// expected-note@-2{{previous 'bind' clause is here}}
#pragma acc routine(Func5) seq bind("asdf")
// OK: Doesn't have a bind
#pragma acc routine(Func5) seq
@@ -196,15 +196,15 @@
#pragma acc routine bind("asdf") seq
void DupeBinds3();
-// expected-error@+2{{OpenACC 'bind' clause on a declaration must bind to the same name as previous bind clauses}}
-// expected-note@-3{{previous clause is here}}
+// expected-error@+2{{OpenACC 'bind' clause on a declaration must bind to the same name as previous 'bind' clauses}}
+// expected-note@-3{{previous 'bind' clause is here}}
#pragma acc routine bind(asdf) seq
void DupeBinds3();
void DupeBinds4();
#pragma acc routine(DupeBinds4) bind(asdf) seq
// expected-error@+2{{multiple 'routine' directives with 'bind' clauses are not permitted to refer to the same function}}
-// expected-note@-2{{previous clause is here}}
+// expected-note@-2{{previous 'bind' clause is here}}
#pragma acc routine bind(asdf) seq
void DupeBinds4();
@@ -216,15 +216,15 @@
#pragma acc routine bind(asdf) seq
void DupeBinds5();
-// expected-error@+2{{OpenACC 'bind' clause on a declaration must bind to the same name as previous bind clauses}}
-// expected-note@-3{{previous clause is here}}
+// expected-error@+2{{OpenACC 'bind' clause on a declaration must bind to the same name as previous 'bind' clauses}}
+// expected-note@-3{{previous 'bind' clause is here}}
#pragma acc routine bind(asdfDiff) seq
void DupeBinds5();
#pragma acc routine bind("asdf") seq
void DupeBinds6();
-// expected-error@+2{{OpenACC 'bind' clause on a declaration must bind to the same name as previous bind clauses}}
-// expected-note@-3{{previous clause is here}}
+// expected-error@+2{{OpenACC 'bind' clause on a declaration must bind to the same name as previous 'bind' clauses}}
+// expected-note@-3{{previous 'bind' clause is here}}
#pragma acc routine bind("asdfDiff") seq
void DupeBinds6();
@@ -234,67 +234,67 @@
namespace FigureDupesAllowedAroundDeviceType {
// Test conflicts without a device type
// expected-error@+2{{OpenACC clause 'gang' may not appear on the same construct as a 'gang' clause on a 'routine' construct}}
- // expected-note@+1{{previous clause is here}}
+ // expected-note@+1{{previous 'gang' clause is here}}
#pragma acc routine gang gang
void Func1();
// expected-error@+2{{OpenACC clause 'worker' may not appear on the same construct as a 'gang' clause on a 'routine' construct}}
- // expected-note@+1{{previous clause is here}}
+ // expected-note@+1{{previous 'gang' clause is here}}
#pragma acc routine gang worker
void Func2();
// expected-error@+2{{OpenACC clause 'vector' may not appear on the same construct as a 'gang' clause on a 'routine' construct}}
- // expected-note@+1{{previous clause is here}}
+ // expected-note@+1{{previous 'gang' clause is here}}
#pragma acc routine gang vector
void Func3();
// expected-error@+2{{OpenACC clause 'seq' may not appear on the same construct as a 'gang' clause on a 'routine' construct}}
- // expected-note@+1{{previous clause is here}}
+ // expected-note@+1{{previous 'gang' clause is here}}
#pragma acc routine gang seq
void Func4();
// expected-error@+2{{OpenACC clause 'gang' may not appear on the same construct as a 'worker' clause on a 'routine' construct}}
- // expected-note@+1{{previous clause is here}}
+ // expected-note@+1{{previous 'worker' clause is here}}
#pragma acc routine worker gang
void Func5();
// expected-error@+2{{OpenACC clause 'worker' may not appear on the same construct as a 'worker' clause on a 'routine' construct}}
- // expected-note@+1{{previous clause is here}}
+ // expected-note@+1{{previous 'worker' clause is here}}
#pragma acc routine worker worker
void Func6();
// expected-error@+2{{OpenACC clause 'vector' may not appear on the same construct as a 'worker' clause on a 'routine' construct}}
- // expected-note@+1{{previous clause is here}}
+ // expected-note@+1{{previous 'worker' clause is here}}
#pragma acc routine worker vector
void Func7();
// expected-error@+2{{OpenACC clause 'seq' may not appear on the same construct as a 'worker' clause on a 'routine' construct}}
- // expected-note@+1{{previous clause is here}}
+ // expected-note@+1{{previous 'worker' clause is here}}
#pragma acc routine worker seq
void Func8();
// expected-error@+2{{OpenACC clause 'gang' may not appear on the same construct as a 'vector' clause on a 'routine' construct}}
- // expected-note@+1{{previous clause is here}}
+ // expected-note@+1{{previous 'vector' clause is here}}
#pragma acc routine vector gang
void Func9();
// expected-error@+2{{OpenACC clause 'worker' may not appear on the same construct as a 'vector' clause on a 'routine' construct}}
- // expected-note@+1{{previous clause is here}}
+ // expected-note@+1{{previous 'vector' clause is here}}
#pragma acc routine vector worker
void Func10();
// expected-error@+2{{OpenACC clause 'vector' may not appear on the same construct as a 'vector' clause on a 'routine' construct}}
- // expected-note@+1{{previous clause is here}}
+ // expected-note@+1{{previous 'vector' clause is here}}
#pragma acc routine vector vector
void Func11();
// expected-error@+2{{OpenACC clause 'seq' may not appear on the same construct as a 'vector' clause on a 'routine' construct}}
- // expected-note@+1{{previous clause is here}}
+ // expected-note@+1{{previous 'vector' clause is here}}
#pragma acc routine vector seq
void Func12();
// expected-error@+2{{OpenACC clause 'gang' may not appear on the same construct as a 'seq' clause on a 'routine' construct}}
- // expected-note@+1{{previous clause is here}}
+ // expected-note@+1{{previous 'seq' clause is here}}
#pragma acc routine seq gang
void Func13();
// expected-error@+2{{OpenACC clause 'worker' may not appear on the same construct as a 'seq' clause on a 'routine' construct}}
- // expected-note@+1{{previous clause is here}}
+ // expected-note@+1{{previous 'seq' clause is here}}
#pragma acc routine seq worker
void Func14();
// expected-error@+2{{OpenACC clause 'vector' may not appear on the same construct as a 'seq' clause on a 'routine' construct}}
- // expected-note@+1{{previous clause is here}}
+ // expected-note@+1{{previous 'seq' clause is here}}
#pragma acc routine seq vector
void Func15();
// expected-error@+2{{OpenACC clause 'seq' may not appear on the same construct as a 'seq' clause on a 'routine' construct}}
- // expected-note@+1{{previous clause is here}}
+ // expected-note@+1{{previous 'seq' clause is here}}
#pragma acc routine seq seq
void Func16();
// None included for one without a device type
@@ -304,67 +304,67 @@
// Check same conflicts for 'before' the device_type
// expected-error@+2{{OpenACC clause 'gang' may not appear on the same construct as a 'gang' clause on a 'routine' construct}}
- // expected-note@+1{{previous clause is here}}
+ // expected-note@+1{{previous 'gang' clause is here}}
#pragma acc routine gang gang device_type(*)
void Func17();
// expected-error@+2{{OpenACC clause 'worker' may not appear on the same construct as a 'gang' clause on a 'routine' construct}}
- // expected-note@+1{{previous clause is here}}
+ // expected-note@+1{{previous 'gang' clause is here}}
#pragma acc routine gang worker device_type(*)
void Func18();
// expected-error@+2{{OpenACC clause 'vector' may not appear on the same construct as a 'gang' clause on a 'routine' construct}}
- // expected-note@+1{{previous clause is here}}
+ // expected-note@+1{{previous 'gang' clause is here}}
#pragma acc routine gang vector device_type(*)
void Func19();
// expected-error@+2{{OpenACC clause 'seq' may not appear on the same construct as a 'gang' clause on a 'routine' construct}}
- // expected-note@+1{{previous clause is here}}
+ // expected-note@+1{{previous 'gang' clause is here}}
#pragma acc routine gang seq device_type(*)
void Func20();
// expected-error@+2{{OpenACC clause 'gang' may not appear on the same construct as a 'worker' clause on a 'routine' construct}}
- // expected-note@+1{{previous clause is here}}
+ // expected-note@+1{{previous 'worker' clause is here}}
#pragma acc routine worker gang device_type(*)
void Func21();
// expected-error@+2{{OpenACC clause 'worker' may not appear on the same construct as a 'worker' clause on a 'routine' construct}}
- // expected-note@+1{{previous clause is here}}
+ // expected-note@+1{{previous 'worker' clause is here}}
#pragma acc routine worker worker device_type(*)
void Func22();
// expected-error@+2{{OpenACC clause 'vector' may not appear on the same construct as a 'worker' clause on a 'routine' construct}}
- // expected-note@+1{{previous clause is here}}
+ // expected-note@+1{{previous 'worker' clause is here}}
#pragma acc routine worker vector device_type(*)
void Func23();
// expected-error@+2{{OpenACC clause 'seq' may not appear on the same construct as a 'worker' clause on a 'routine' construct}}
- // expected-note@+1{{previous clause is here}}
+ // expected-note@+1{{previous 'worker' clause is here}}
#pragma acc routine worker seq device_type(*)
void Func24();
// expected-error@+2{{OpenACC clause 'gang' may not appear on the same construct as a 'vector' clause on a 'routine' construct}}
- // expected-note@+1{{previous clause is here}}
+ // expected-note@+1{{previous 'vector' clause is here}}
#pragma acc routine vector gang device_type(*)
void Func25();
// expected-error@+2{{OpenACC clause 'worker' may not appear on the same construct as a 'vector' clause on a 'routine' construct}}
- // expected-note@+1{{previous clause is here}}
+ // expected-note@+1{{previous 'vector' clause is here}}
#pragma acc routine vector worker device_type(*)
void Func26();
// expected-error@+2{{OpenACC clause 'vector' may not appear on the same construct as a 'vector' clause on a 'routine' construct}}
- // expected-note@+1{{previous clause is here}}
+ // expected-note@+1{{previous 'vector' clause is here}}
#pragma acc routine vector vector device_type(*)
void Func27();
// expected-error@+2{{OpenACC clause 'seq' may not appear on the same construct as a 'vector' clause on a 'routine' construct}}
- // expected-note@+1{{previous clause is here}}
+ // expected-note@+1{{previous 'vector' clause is here}}
#pragma acc routine vector seq device_type(*)
void Func28();
// expected-error@+2{{OpenACC clause 'gang' may not appear on the same construct as a 'seq' clause on a 'routine' construct}}
- // expected-note@+1{{previous clause is here}}
+ // expected-note@+1{{previous 'seq' clause is here}}
#pragma acc routine seq gang device_type(*)
void Func29();
// expected-error@+2{{OpenACC clause 'worker' may not appear on the same construct as a 'seq' clause on a 'routine' construct}}
- // expected-note@+1{{previous clause is here}}
+ // expected-note@+1{{previous 'seq' clause is here}}
#pragma acc routine seq worker device_type(*)
void Func30();
// expected-error@+2{{OpenACC clause 'vector' may not appear on the same construct as a 'seq' clause on a 'routine' construct}}
- // expected-note@+1{{previous clause is here}}
+ // expected-note@+1{{previous 'seq' clause is here}}
#pragma acc routine seq vector device_type(*)
void Func31();
// expected-error@+2{{OpenACC clause 'seq' may not appear on the same construct as a 'seq' clause on a 'routine' construct}}
- // expected-note@+1{{previous clause is here}}
+ // expected-note@+1{{previous 'seq' clause is here}}
#pragma acc routine seq seq device_type(*)
void Func32();
// None included for the device_type
@@ -374,327 +374,327 @@
// Conflicts between 'global' and 'device_type'
// expected-error@+3{{OpenACC clause 'gang' after 'device_type' clause on a 'routine' conflicts with the 'gang' clause before the first 'device_type'}}
- // expected-note@+2{{previous clause is here}}
- // expected-note@+1{{previous clause is here}}
+ // expected-note@+2{{previous 'gang' clause is here}}
+ // expected-note@+1{{active 'device_type' clause here}}
#pragma acc routine gang device_type(*) gang
void Func34();
// expected-error@+3{{OpenACC clause 'worker' after 'device_type' clause on a 'routine' conflicts with the 'gang' clause before the first 'device_type'}}
- // expected-note@+2{{previous clause is here}}
- // expected-note@+1{{previous clause is here}}
+ // expected-note@+2{{previous 'gang' clause is here}}
+ // expected-note@+1{{active 'device_type' clause here}}
#pragma acc routine gang device_type(*) worker
void Func35();
// expected-error@+3{{OpenACC clause 'vector' after 'device_type' clause on a 'routine' conflicts with the 'gang' clause before the first 'device_type'}}
- // expected-note@+2{{previous clause is here}}
- // expected-note@+1{{previous clause is here}}
+ // expected-note@+2{{previous 'gang' clause is here}}
+ // expected-note@+1{{active 'device_type' clause here}}
#pragma acc routine gang device_type(*) vector
void Func36();
// expected-error@+3{{OpenACC clause 'seq' after 'device_type' clause on a 'routine' conflicts with the 'gang' clause before the first 'device_type'}}
- // expected-note@+2{{previous clause is here}}
- // expected-note@+1{{previous clause is here}}
+ // expected-note@+2{{previous 'gang' clause is here}}
+ // expected-note@+1{{active 'device_type' clause here}}
#pragma acc routine gang device_type(*) seq
void Func37();
// expected-error@+3{{OpenACC clause 'gang' after 'device_type' clause on a 'routine' conflicts with the 'worker' clause before the first 'device_type'}}
- // expected-note@+2{{previous clause is here}}
- // expected-note@+1{{previous clause is here}}
+ // expected-note@+2{{previous 'worker' clause is here}}
+ // expected-note@+1{{active 'device_type' clause here}}
#pragma acc routine worker device_type(*) gang
void Func38();
// expected-error@+3{{OpenACC clause 'worker' after 'device_type' clause on a 'routine' conflicts with the 'worker' clause before the first 'device_type'}}
- // expected-note@+2{{previous clause is here}}
- // expected-note@+1{{previous clause is here}}
+ // expected-note@+2{{previous 'worker' clause is here}}
+ // expected-note@+1{{active 'device_type' clause here}}
#pragma acc routine worker device_type(*) worker
void Func39();
// expected-error@+3{{OpenACC clause 'vector' after 'device_type' clause on a 'routine' conflicts with the 'worker' clause before the first 'device_type'}}
- // expected-note@+2{{previous clause is here}}
- // expected-note@+1{{previous clause is here}}
+ // expected-note@+2{{previous 'worker' clause is here}}
+ // expected-note@+1{{active 'device_type' clause here}}
#pragma acc routine worker device_type(*) vector
void Func40();
// expected-error@+3{{OpenACC clause 'seq' after 'device_type' clause on a 'routine' conflicts with the 'worker' clause before the first 'device_type'}}
- // expected-note@+2{{previous clause is here}}
- // expected-note@+1{{previous clause is here}}
+ // expected-note@+2{{previous 'worker' clause is here}}
+ // expected-note@+1{{active 'device_type' clause here}}
#pragma acc routine worker device_type(*) seq
void Func41();
// expected-error@+3{{OpenACC clause 'gang' after 'device_type' clause on a 'routine' conflicts with the 'vector' clause before the first 'device_type'}}
- // expected-note@+2{{previous clause is here}}
- // expected-note@+1{{previous clause is here}}
+ // expected-note@+2{{previous 'vector' clause is here}}
+ // expected-note@+1{{active 'device_type' clause here}}
#pragma acc routine vector device_type(*) gang
void Func42();
// expected-error@+3{{OpenACC clause 'worker' after 'device_type' clause on a 'routine' conflicts with the 'vector' clause before the first 'device_type'}}
- // expected-note@+2{{previous clause is here}}
- // expected-note@+1{{previous clause is here}}
+ // expected-note@+2{{previous 'vector' clause is here}}
+ // expected-note@+1{{active 'device_type' clause here}}
#pragma acc routine vector device_type(*) worker
void Func43();
// expected-error@+3{{OpenACC clause 'vector' after 'device_type' clause on a 'routine' conflicts with the 'vector' clause before the first 'device_type'}}
- // expected-note@+2{{previous clause is here}}
- // expected-note@+1{{previous clause is here}}
+ // expected-note@+2{{previous 'vector' clause is here}}
+ // expected-note@+1{{active 'device_type' clause here}}
#pragma acc routine vector device_type(*) vector
void Func44();
// expected-error@+3{{OpenACC clause 'seq' after 'device_type' clause on a 'routine' conflicts with the 'vector' clause before the first 'device_type'}}
- // expected-note@+2{{previous clause is here}}
- // expected-note@+1{{previous clause is here}}
+ // expected-note@+2{{previous 'vector' clause is here}}
+ // expected-note@+1{{active 'device_type' clause here}}
#pragma acc routine vector device_type(*) seq
void Func45();
// expected-error@+3{{OpenACC clause 'gang' after 'device_type' clause on a 'routine' conflicts with the 'seq' clause before the first 'device_type'}}
- // expected-note@+2{{previous clause is here}}
- // expected-note@+1{{previous clause is here}}
+ // expected-note@+2{{previous 'seq' clause is here}}
+ // expected-note@+1{{active 'device_type' clause here}}
#pragma acc routine seq device_type(*) gang
void Func46();
// expected-error@+3{{OpenACC clause 'worker' after 'device_type' clause on a 'routine' conflicts with the 'seq' clause before the first 'device_type'}}
- // expected-note@+2{{previous clause is here}}
- // expected-note@+1{{previous clause is here}}
+ // expected-note@+2{{previous 'seq' clause is here}}
+ // expected-note@+1{{active 'device_type' clause here}}
#pragma acc routine seq device_type(*) worker
void Func47();
// expected-error@+3{{OpenACC clause 'vector' after 'device_type' clause on a 'routine' conflicts with the 'seq' clause before the first 'device_type'}}
- // expected-note@+2{{previous clause is here}}
- // expected-note@+1{{previous clause is here}}
+ // expected-note@+2{{previous 'seq' clause is here}}
+ // expected-note@+1{{active 'device_type' clause here}}
#pragma acc routine seq device_type(*) vector
void Func48();
// expected-error@+3{{OpenACC clause 'seq' after 'device_type' clause on a 'routine' conflicts with the 'seq' clause before the first 'device_type'}}
- // expected-note@+2{{previous clause is here}}
- // expected-note@+1{{previous clause is here}}
+ // expected-note@+2{{previous 'seq' clause is here}}
+ // expected-note@+1{{active 'device_type' clause here}}
#pragma acc routine seq device_type(*) seq
void Func49();
// Conflicts within same device_type
// expected-error@+3{{OpenACC clause 'gang' on a 'routine' directive conflicts with the 'gang' clause applying to the same 'device_type'}}
- // expected-note@+2{{previous clause is here}}
- // expected-note@+1{{previous clause is here}}
+ // expected-note@+2{{previous 'gang' clause is here}}
+ // expected-note@+1{{active 'device_type' clause here}}
#pragma acc routine device_type(*) gang gang
void Func50();
// expected-error@+3{{OpenACC clause 'worker' on a 'routine' directive conflicts with the 'gang' clause applying to the same 'device_type'}}
- // expected-note@+2{{previous clause is here}}
- // expected-note@+1{{previous clause is here}}
+ // expected-note@+2{{previous 'gang' clause is here}}
+ // expected-note@+1{{active 'device_type' clause here}}
#pragma acc routine device_type(*) gang worker
void Func51();
// expected-error@+3{{OpenACC clause 'vector' on a 'routine' directive conflicts with the 'gang' clause applying to the same 'device_type'}}
- // expected-note@+2{{previous clause is here}}
- // expected-note@+1{{previous clause is here}}
+ // expected-note@+2{{previous 'gang' clause is here}}
+ // expected-note@+1{{active 'device_type' clause here}}
#pragma acc routine device_type(*) gang vector
void Func52();
// expected-error@+3{{OpenACC clause 'seq' on a 'routine' directive conflicts with the 'gang' clause applying to the same 'device_type'}}
- // expected-note@+2{{previous clause is here}}
- // expected-note@+1{{previous clause is here}}
+ // expected-note@+2{{previous 'gang' clause is here}}
+ // expected-note@+1{{active 'device_type' clause here}}
#pragma acc routine device_type(*) gang seq
void Func53();
// expected-error@+3{{OpenACC clause 'gang' on a 'routine' directive conflicts with the 'worker' clause applying to the same 'device_type'}}
- // expected-note@+2{{previous clause is here}}
- // expected-note@+1{{previous clause is here}}
+ // expected-note@+2{{previous 'worker' clause is here}}
+ // expected-note@+1{{active 'device_type' clause here}}
#pragma acc routine device_type(*) worker gang
void Func54();
// expected-error@+3{{OpenACC clause 'worker' on a 'routine' directive conflicts with the 'worker' clause applying to the same 'device_type'}}
- // expected-note@+2{{previous clause is here}}
- // expected-note@+1{{previous clause is here}}
+ // expected-note@+2{{previous 'worker' clause is here}}
+ // expected-note@+1{{active 'device_type' clause here}}
#pragma acc routine device_type(*) worker worker
void Func55();
// expected-error@+3{{OpenACC clause 'vector' on a 'routine' directive conflicts with the 'worker' clause applying to the same 'device_type'}}
- // expected-note@+2{{previous clause is here}}
- // expected-note@+1{{previous clause is here}}
+ // expected-note@+2{{previous 'worker' clause is here}}
+ // expected-note@+1{{active 'device_type' clause here}}
#pragma acc routine device_type(*) worker vector
void Func56();
// expected-error@+3{{OpenACC clause 'seq' on a 'routine' directive conflicts with the 'worker' clause applying to the same 'device_type'}}
- // expected-note@+2{{previous clause is here}}
- // expected-note@+1{{previous clause is here}}
+ // expected-note@+2{{previous 'worker' clause is here}}
+ // expected-note@+1{{active 'device_type' clause here}}
#pragma acc routine device_type(*) worker seq
void Func57();
// expected-error@+3{{OpenACC clause 'gang' on a 'routine' directive conflicts with the 'vector' clause applying to the same 'device_type'}}
- // expected-note@+2{{previous clause is here}}
- // expected-note@+1{{previous clause is here}}
+ // expected-note@+2{{previous 'vector' clause is here}}
+ // expected-note@+1{{active 'device_type' clause here}}
#pragma acc routine device_type(*) vector gang
void Func58();
// expected-error@+3{{OpenACC clause 'worker' on a 'routine' directive conflicts with the 'vector' clause applying to the same 'device_type'}}
- // expected-note@+2{{previous clause is here}}
- // expected-note@+1{{previous clause is here}}
+ // expected-note@+2{{previous 'vector' clause is here}}
+ // expected-note@+1{{active 'device_type' clause here}}
#pragma acc routine device_type(*) vector worker
void Func59();
// expected-error@+3{{OpenACC clause 'vector' on a 'routine' directive conflicts with the 'vector' clause applying to the same 'device_type'}}
- // expected-note@+2{{previous clause is here}}
- // expected-note@+1{{previous clause is here}}
+ // expected-note@+2{{previous 'vector' clause is here}}
+ // expected-note@+1{{active 'device_type' clause here}}
#pragma acc routine device_type(*) vector vector
void Func60();
// expected-error@+3{{OpenACC clause 'seq' on a 'routine' directive conflicts with the 'vector' clause applying to the same 'device_type'}}
- // expected-note@+2{{previous clause is here}}
- // expected-note@+1{{previous clause is here}}
+ // expected-note@+2{{previous 'vector' clause is here}}
+ // expected-note@+1{{active 'device_type' clause here}}
#pragma acc routine device_type(*) vector seq
void Func61();
// expected-error@+3{{OpenACC clause 'gang' on a 'routine' directive conflicts with the 'seq' clause applying to the same 'device_type'}}
- // expected-note@+2{{previous clause is here}}
- // expected-note@+1{{previous clause is here}}
+ // expected-note@+2{{previous 'seq' clause is here}}
+ // expected-note@+1{{active 'device_type' clause here}}
#pragma acc routine device_type(*) seq gang
void Func62();
// expected-error@+3{{OpenACC clause 'worker' on a 'routine' directive conflicts with the 'seq' clause applying to the same 'device_type'}}
- // expected-note@+2{{previous clause is here}}
- // expected-note@+1{{previous clause is here}}
+ // expected-note@+2{{previous 'seq' clause is here}}
+ // expected-note@+1{{active 'device_type' clause here}}
#pragma acc routine device_type(*) seq worker
void Func63();
// expected-error@+3{{OpenACC clause 'vector' on a 'routine' directive conflicts with the 'seq' clause applying to the same 'device_type'}}
- // expected-note@+2{{previous clause is here}}
- // expected-note@+1{{previous clause is here}}
+ // expected-note@+2{{previous 'seq' clause is here}}
+ // expected-note@+1{{active 'device_type' clause here}}
#pragma acc routine device_type(*) seq vector
void Func64();
// expected-error@+3{{OpenACC clause 'seq' on a 'routine' directive conflicts with the 'seq' clause applying to the same 'device_type'}}
- // expected-note@+2{{previous clause is here}}
- // expected-note@+1{{previous clause is here}}
+ // expected-note@+2{{previous 'seq' clause is here}}
+ // expected-note@+1{{active 'device_type' clause here}}
#pragma acc routine device_type(*) seq seq
void Func65();
// expected-error@+3{{OpenACC clause 'gang' on a 'routine' directive conflicts with the 'gang' clause applying to the same 'device_type'}}
- // expected-note@+2{{previous clause is here}}
- // expected-note@+1{{previous clause is here}}
+ // expected-note@+2{{previous 'gang' clause is here}}
+ // expected-note@+1{{active 'device_type' clause here}}
#pragma acc routine device_type(*) gang gang device_type(nvidia) seq
void Func66();
// expected-error@+3{{OpenACC clause 'worker' on a 'routine' directive conflicts with the 'gang' clause applying to the same 'device_type'}}
- // expected-note@+2{{previous clause is here}}
- // expected-note@+1{{previous clause is here}}
+ // expected-note@+2{{previous 'gang' clause is here}}
+ // expected-note@+1{{active 'device_type' clause here}}
#pragma acc routine device_type(*) gang worker device_type(nvidia) seq
void Func67();
// expected-error@+3{{OpenACC clause 'vector' on a 'routine' directive conflicts with the 'gang' clause applying to the same 'device_type'}}
- // expected-note@+2{{previous clause is here}}
- // expected-note@+1{{previous clause is here}}
+ // expected-note@+2{{previous 'gang' clause is here}}
+ // expected-note@+1{{active 'device_type' clause here}}
#pragma acc routine device_type(*) gang vector device_type(nvidia) seq
void Func68();
// expected-error@+3{{OpenACC clause 'seq' on a 'routine' directive conflicts with the 'gang' clause applying to the same 'device_type'}}
- // expected-note@+2{{previous clause is here}}
- // expected-note@+1{{previous clause is here}}
+ // expected-note@+2{{previous 'gang' clause is here}}
+ // expected-note@+1{{active 'device_type' clause here}}
#pragma acc routine device_type(*) gang seq device_type(nvidia) seq
void Func69();
// expected-error@+3{{OpenACC clause 'gang' on a 'routine' directive conflicts with the 'worker' clause applying to the same 'device_type'}}
- // expected-note@+2{{previous clause is here}}
- // expected-note@+1{{previous clause is here}}
+ // expected-note@+2{{previous 'worker' clause is here}}
+ // expected-note@+1{{active 'device_type' clause here}}
#pragma acc routine device_type(*) worker gang device_type(nvidia) seq
void Func70();
// expected-error@+3{{OpenACC clause 'worker' on a 'routine' directive conflicts with the 'worker' clause applying to the same 'device_type'}}
- // expected-note@+2{{previous clause is here}}
- // expected-note@+1{{previous clause is here}}
+ // expected-note@+2{{previous 'worker' clause is here}}
+ // expected-note@+1{{active 'device_type' clause here}}
#pragma acc routine device_type(*) worker worker device_type(nvidia) seq
void Func71();
// expected-error@+3{{OpenACC clause 'vector' on a 'routine' directive conflicts with the 'worker' clause applying to the same 'device_type'}}
- // expected-note@+2{{previous clause is here}}
- // expected-note@+1{{previous clause is here}}
+ // expected-note@+2{{previous 'worker' clause is here}}
+ // expected-note@+1{{active 'device_type' clause here}}
#pragma acc routine device_type(*) worker vector device_type(nvidia) seq
void Func72();
// expected-error@+3{{OpenACC clause 'seq' on a 'routine' directive conflicts with the 'worker' clause applying to the same 'device_type'}}
- // expected-note@+2{{previous clause is here}}
- // expected-note@+1{{previous clause is here}}
+ // expected-note@+2{{previous 'worker' clause is here}}
+ // expected-note@+1{{active 'device_type' clause here}}
#pragma acc routine device_type(*) worker seq device_type(nvidia) seq
void Func73();
// expected-error@+3{{OpenACC clause 'gang' on a 'routine' directive conflicts with the 'vector' clause applying to the same 'device_type'}}
- // expected-note@+2{{previous clause is here}}
- // expected-note@+1{{previous clause is here}}
+ // expected-note@+2{{previous 'vector' clause is here}}
+ // expected-note@+1{{active 'device_type' clause here}}
#pragma acc routine device_type(*) vector gang device_type(nvidia) seq
void Func74();
// expected-error@+3{{OpenACC clause 'worker' on a 'routine' directive conflicts with the 'vector' clause applying to the same 'device_type'}}
- // expected-note@+2{{previous clause is here}}
- // expected-note@+1{{previous clause is here}}
+ // expected-note@+2{{previous 'vector' clause is here}}
+ // expected-note@+1{{active 'device_type' clause here}}
#pragma acc routine device_type(*) vector worker device_type(nvidia) seq
void Func75();
// expected-error@+3{{OpenACC clause 'vector' on a 'routine' directive conflicts with the 'vector' clause applying to the same 'device_type'}}
- // expected-note@+2{{previous clause is here}}
- // expected-note@+1{{previous clause is here}}
+ // expected-note@+2{{previous 'vector' clause is here}}
+ // expected-note@+1{{active 'device_type' clause here}}
#pragma acc routine device_type(*) vector vector device_type(nvidia) seq
void Func76();
// expected-error@+3{{OpenACC clause 'seq' on a 'routine' directive conflicts with the 'vector' clause applying to the same 'device_type'}}
- // expected-note@+2{{previous clause is here}}
- // expected-note@+1{{previous clause is here}}
+ // expected-note@+2{{previous 'vector' clause is here}}
+ // expected-note@+1{{active 'device_type' clause here}}
#pragma acc routine device_type(*) vector seq device_type(nvidia) seq
void Func77();
// expected-error@+3{{OpenACC clause 'gang' on a 'routine' directive conflicts with the 'seq' clause applying to the same 'device_type'}}
- // expected-note@+2{{previous clause is here}}
- // expected-note@+1{{previous clause is here}}
+ // expected-note@+2{{previous 'seq' clause is here}}
+ // expected-note@+1{{active 'device_type' clause here}}
#pragma acc routine device_type(*) seq gang device_type(nvidia) seq
void Func78();
// expected-error@+3{{OpenACC clause 'worker' on a 'routine' directive conflicts with the 'seq' clause applying to the same 'device_type'}}
- // expected-note@+2{{previous clause is here}}
- // expected-note@+1{{previous clause is here}}
+ // expected-note@+2{{previous 'seq' clause is here}}
+ // expected-note@+1{{active 'device_type' clause here}}
#pragma acc routine device_type(*) seq worker device_type(nvidia) seq
void Func79();
// expected-error@+3{{OpenACC clause 'vector' on a 'routine' directive conflicts with the 'seq' clause applying to the same 'device_type'}}
- // expected-note@+2{{previous clause is here}}
- // expected-note@+1{{previous clause is here}}
+ // expected-note@+2{{previous 'seq' clause is here}}
+ // expected-note@+1{{active 'device_type' clause here}}
#pragma acc routine device_type(*) seq vector device_type(nvidia) seq
void Func80();
// expected-error@+3{{OpenACC clause 'seq' on a 'routine' directive conflicts with the 'seq' clause applying to the same 'device_type'}}
- // expected-note@+2{{previous clause is here}}
- // expected-note@+1{{previous clause is here}}
+ // expected-note@+2{{previous 'seq' clause is here}}
+ // expected-note@+1{{active 'device_type' clause here}}
#pragma acc routine device_type(*) seq seq device_type(nvidia) seq
void Func81();
// expected-error@+3{{OpenACC clause 'gang' on a 'routine' directive conflicts with the 'gang' clause applying to the same 'device_type'}}
- // expected-note@+2{{previous clause is here}}
- // expected-note@+1{{previous clause is here}}
+ // expected-note@+2{{previous 'gang' clause is here}}
+ // expected-note@+1{{active 'device_type' clause here}}
#pragma acc routine device_type(nvidia) seq device_type(*) gang gang
void Func82();
// expected-error@+3{{OpenACC clause 'worker' on a 'routine' directive conflicts with the 'gang' clause applying to the same 'device_type'}}
- // expected-note@+2{{previous clause is here}}
- // expected-note@+1{{previous clause is here}}
+ // expected-note@+2{{previous 'gang' clause is here}}
+ // expected-note@+1{{active 'device_type' clause here}}
#pragma acc routine device_type(nvidia) seq device_type(*) gang worker
void Func83();
// expected-error@+3{{OpenACC clause 'vector' on a 'routine' directive conflicts with the 'gang' clause applying to the same 'device_type'}}
- // expected-note@+2{{previous clause is here}}
- // expected-note@+1{{previous clause is here}}
+ // expected-note@+2{{previous 'gang' clause is here}}
+ // expected-note@+1{{active 'device_type' clause here}}
#pragma acc routine device_type(nvidia) seq device_type(*) gang vector
void Func84();
// expected-error@+3{{OpenACC clause 'seq' on a 'routine' directive conflicts with the 'gang' clause applying to the same 'device_type'}}
- // expected-note@+2{{previous clause is here}}
- // expected-note@+1{{previous clause is here}}
+ // expected-note@+2{{previous 'gang' clause is here}}
+ // expected-note@+1{{active 'device_type' clause here}}
#pragma acc routine device_type(nvidia) seq device_type(*) gang seq
void Func85();
// expected-error@+3{{OpenACC clause 'gang' on a 'routine' directive conflicts with the 'worker' clause applying to the same 'device_type'}}
- // expected-note@+2{{previous clause is here}}
- // expected-note@+1{{previous clause is here}}
+ // expected-note@+2{{previous 'worker' clause is here}}
+ // expected-note@+1{{active 'device_type' clause here}}
#pragma acc routine device_type(nvidia) seq device_type(*) worker gang
void Func86();
// expected-error@+3{{OpenACC clause 'worker' on a 'routine' directive conflicts with the 'worker' clause applying to the same 'device_type'}}
- // expected-note@+2{{previous clause is here}}
- // expected-note@+1{{previous clause is here}}
+ // expected-note@+2{{previous 'worker' clause is here}}
+ // expected-note@+1{{active 'device_type' clause here}}
#pragma acc routine device_type(nvidia) seq device_type(*) worker worker
void Func87();
// expected-error@+3{{OpenACC clause 'vector' on a 'routine' directive conflicts with the 'worker' clause applying to the same 'device_type'}}
- // expected-note@+2{{previous clause is here}}
- // expected-note@+1{{previous clause is here}}
+ // expected-note@+2{{previous 'worker' clause is here}}
+ // expected-note@+1{{active 'device_type' clause here}}
#pragma acc routine device_type(nvidia) seq device_type(*) worker vector
void Func88();
// expected-error@+3{{OpenACC clause 'seq' on a 'routine' directive conflicts with the 'worker' clause applying to the same 'device_type'}}
- // expected-note@+2{{previous clause is here}}
- // expected-note@+1{{previous clause is here}}
+ // expected-note@+2{{previous 'worker' clause is here}}
+ // expected-note@+1{{active 'device_type' clause here}}
#pragma acc routine device_type(nvidia) seq device_type(*) worker seq
void Func89();
// expected-error@+3{{OpenACC clause 'gang' on a 'routine' directive conflicts with the 'vector' clause applying to the same 'device_type'}}
- // expected-note@+2{{previous clause is here}}
- // expected-note@+1{{previous clause is here}}
+ // expected-note@+2{{previous 'vector' clause is here}}
+ // expected-note@+1{{active 'device_type' clause here}}
#pragma acc routine device_type(nvidia) seq device_type(*) vector gang
void Func90();
// expected-error@+3{{OpenACC clause 'worker' on a 'routine' directive conflicts with the 'vector' clause applying to the same 'device_type'}}
- // expected-note@+2{{previous clause is here}}
- // expected-note@+1{{previous clause is here}}
+ // expected-note@+2{{previous 'vector' clause is here}}
+ // expected-note@+1{{active 'device_type' clause here}}
#pragma acc routine device_type(nvidia) seq device_type(*) vector worker
void Func91();
// expected-error@+3{{OpenACC clause 'vector' on a 'routine' directive conflicts with the 'vector' clause applying to the same 'device_type'}}
- // expected-note@+2{{previous clause is here}}
- // expected-note@+1{{previous clause is here}}
+ // expected-note@+2{{previous 'vector' clause is here}}
+ // expected-note@+1{{active 'device_type' clause here}}
#pragma acc routine device_type(nvidia) seq device_type(*) vector vector
void Func92();
// expected-error@+3{{OpenACC clause 'seq' on a 'routine' directive conflicts with the 'vector' clause applying to the same 'device_type'}}
- // expected-note@+2{{previous clause is here}}
- // expected-note@+1{{previous clause is here}}
+ // expected-note@+2{{previous 'vector' clause is here}}
+ // expected-note@+1{{active 'device_type' clause here}}
#pragma acc routine device_type(nvidia) seq device_type(*) vector seq
void Func93();
// expected-error@+3{{OpenACC clause 'gang' on a 'routine' directive conflicts with the 'seq' clause applying to the same 'device_type'}}
- // expected-note@+2{{previous clause is here}}
- // expected-note@+1{{previous clause is here}}
+ // expected-note@+2{{previous 'seq' clause is here}}
+ // expected-note@+1{{active 'device_type' clause here}}
#pragma acc routine device_type(nvidia) seq device_type(*) seq gang
void Func94();
// expected-error@+3{{OpenACC clause 'worker' on a 'routine' directive conflicts with the 'seq' clause applying to the same 'device_type'}}
- // expected-note@+2{{previous clause is here}}
- // expected-note@+1{{previous clause is here}}
+ // expected-note@+2{{previous 'seq' clause is here}}
+ // expected-note@+1{{active 'device_type' clause here}}
#pragma acc routine device_type(nvidia) seq device_type(*) seq worker
void Func95();
// expected-error@+3{{OpenACC clause 'vector' on a 'routine' directive conflicts with the 'seq' clause applying to the same 'device_type'}}
- // expected-note@+2{{previous clause is here}}
- // expected-note@+1{{previous clause is here}}
+ // expected-note@+2{{previous 'seq' clause is here}}
+ // expected-note@+1{{active 'device_type' clause here}}
#pragma acc routine device_type(nvidia) seq device_type(*) seq vector
void Func96();
// expected-error@+3{{OpenACC clause 'seq' on a 'routine' directive conflicts with the 'seq' clause applying to the same 'device_type'}}
- // expected-note@+2{{previous clause is here}}
- // expected-note@+1{{previous clause is here}}
+ // expected-note@+2{{previous 'seq' clause is here}}
+ // expected-note@+1{{active 'device_type' clause here}}
#pragma acc routine device_type(nvidia) seq device_type(*) seq seq
void Func97();
@@ -736,36 +736,36 @@
namespace BindDupes {
// expected-error@+2{{OpenACC clause 'bind' may not appear on the same construct as a 'bind' clause on a 'routine' construct}}
- // expected-note@+1{{previous clause is here}}
+ // expected-note@+1{{previous 'bind' clause is here}}
#pragma acc routine seq bind(asdf) bind(asdf)
void Func1();
// expected-error@+2{{OpenACC clause 'bind' may not appear on the same construct as a 'bind' clause on a 'routine' construct}}
- // expected-note@+1{{previous clause is here}}
+ // expected-note@+1{{previous 'bind' clause is here}}
#pragma acc routine seq bind(asdf) bind(asdf) device_type(*)
void Func2();
// expected-error@+3{{OpenACC clause 'bind' after 'device_type' clause on a 'routine' conflicts with the 'bind' clause before the first 'device_type'}}
- // expected-note@+2{{previous clause is here}}
- // expected-note@+1{{previous clause is here}}
+ // expected-note@+2{{previous 'bind' clause is here}}
+ // expected-note@+1{{active 'device_type' clause here}}
#pragma acc routine seq bind(asdf) device_type(*) bind(asdf)
void Func3();
// expected-error@+3{{OpenACC clause 'bind' after 'device_type' clause on a 'routine' conflicts with the 'bind' clause before the first 'device_type'}}
- // expected-note@+2{{previous clause is here}}
- // expected-note@+1{{previous clause is here}}
+ // expected-note@+2{{previous 'bind' clause is here}}
+ // expected-note@+1{{active 'device_type' clause here}}
#pragma acc routine seq bind(asdf) device_type(*) bind(asdf) device_type(*)
void Func4();
// expected-error@+3{{OpenACC clause 'bind' on a 'routine' directive conflicts with the 'bind' clause applying to the same 'device_type'}}
- // expected-note@+2{{previous clause is here}}
- // expected-note@+1{{previous clause is here}}
+ // expected-note@+2{{previous 'bind' clause is here}}
+ // expected-note@+1{{active 'device_type' clause here}}
#pragma acc routine seq device_type(*) bind(asdf) bind(asdf)
void Func5();
// expected-error@+3{{OpenACC clause 'bind' on a 'routine' directive conflicts with the 'bind' clause applying to the same 'device_type'}}
- // expected-note@+2{{previous clause is here}}
- // expected-note@+1{{previous clause is here}}
+ // expected-note@+2{{previous 'bind' clause is here}}
+ // expected-note@+1{{active 'device_type' clause here}}
#pragma acc routine seq device_type(*) bind(asdf) bind(asdf) device_type(*)
void Func6();
// expected-error@+3{{OpenACC clause 'bind' on a 'routine' directive conflicts with the 'bind' clause applying to the same 'device_type'}}
- // expected-note@+2{{previous clause is here}}
- // expected-note@+1{{previous clause is here}}
+ // expected-note@+2{{previous 'bind' clause is here}}
+ // expected-note@+1{{active 'device_type' clause here}}
#pragma acc routine seq device_type(*) bind(asdf) device_type(*) bind(asdf) bind(asdf)
void Func7();
diff --git a/clang/test/SemaOpenACC/set-construct.cpp b/clang/test/SemaOpenACC/set-construct.cpp
index 1a152b8..e0c713d 100644
--- a/clang/test/SemaOpenACC/set-construct.cpp
+++ b/clang/test/SemaOpenACC/set-construct.cpp
@@ -54,18 +54,18 @@
#pragma acc set if (true)
// expected-error@+2{{'default_async' clause cannot appear more than once on a 'set' directive}}
- // expected-note@+1{{previous clause is here}}
+ // expected-note@+1{{previous 'default_async' clause is here}}
#pragma acc set default_async(getI()) default_async(getI())
// expected-error@+2{{'device_num' clause cannot appear more than once on a 'set' directive}}
- // expected-note@+1{{previous clause is here}}
+ // expected-note@+1{{previous 'device_num' clause is here}}
#pragma acc set device_num(getI()) device_num(getI())
// expected-error@+2{{'device_type' clause cannot appear more than once on a 'set' directive}}
- // expected-note@+1{{previous clause is here}}
+ // expected-note@+1{{previous 'device_type' clause is here}}
#pragma acc set device_type(nvidia) device_type(default)
// expected-error@+2{{'if' clause cannot appear more than once on a 'set' directive}}
- // expected-note@+1{{previous clause is here}}
+ // expected-note@+1{{previous 'if' clause is here}}
#pragma acc set device_type(acc_device_nvidia) if(true) if (true)
// expected-error@+2{{OpenACC 'device_type' clause on a 'set' construct only permits one architecture}}
diff --git a/clang/test/SemaOpenACC/shutdown-construct.cpp b/clang/test/SemaOpenACC/shutdown-construct.cpp
index f13a281..95cea90 100644
--- a/clang/test/SemaOpenACC/shutdown-construct.cpp
+++ b/clang/test/SemaOpenACC/shutdown-construct.cpp
@@ -43,14 +43,14 @@
#pragma acc shutdown if (T::value < T{})
#pragma acc shutdown device_type(multicore) device_num(getI()) if (getI() < getS())
// expected-error@+2{{OpenACC 'device_num' clause cannot appear more than once on a 'shutdown' directive}}
- // expected-note@+1{{previous clause is here}}
+ // expected-note@+1{{previous 'device_num' clause is here}}
#pragma acc shutdown device_type(default) device_type(radeon) device_num(t) if (t < T::value) device_num(getI())
// expected-error@+1{{value of type 'const NotConvertible' is not contextually convertible to 'bool'}}
#pragma acc shutdown if (T::NCValue)
// expected-error@+2{{OpenACC 'if' clause cannot appear more than once on a 'shutdown' directive}}
- // expected-note@+1{{previous clause is here}}
+ // expected-note@+1{{previous 'if' clause is here}}
#pragma acc shutdown if(t < T::value) if (getI() < getS())
// expected-error@+1{{OpenACC clause 'device_num' requires expression of integer type ('const NotConvertible' invalid)}}
diff --git a/clang/test/SemaOpenACC/update-construct.cpp b/clang/test/SemaOpenACC/update-construct.cpp
index a89dc1f..f6dd502 100644
--- a/clang/test/SemaOpenACC/update-construct.cpp
+++ b/clang/test/SemaOpenACC/update-construct.cpp
@@ -14,19 +14,19 @@
#pragma acc update device(Var)
// expected-error@+2{{OpenACC clause 'if' may not follow a 'device_type' clause in a 'update' construct}}
- // expected-note@+1{{previous clause is here}}
+ // expected-note@+1{{active 'device_type' clause here}}
#pragma acc update self(Var) device_type(default) if(true)
// expected-error@+2{{OpenACC clause 'if_present' may not follow a 'device_type' clause in a 'update' construct}}
- // expected-note@+1{{previous clause is here}}
+ // expected-note@+1{{active 'device_type' clause here}}
#pragma acc update self(Var) device_type(multicore) if_present
// expected-error@+2{{OpenACC clause 'self' may not follow a 'device_type' clause in a 'update' construct}}
- // expected-note@+1{{previous clause is here}}
+ // expected-note@+1{{active 'device_type' clause here}}
#pragma acc update self(Var) device_type(nvidia) self(Var)
// expected-error@+2{{OpenACC clause 'host' may not follow a 'device_type' clause in a 'update' construct}}
- // expected-note@+1{{previous clause is here}}
+ // expected-note@+1{{active 'device_type' clause here}}
#pragma acc update self(Var) device_type(radeon) host(Var)
// expected-error@+2{{OpenACC clause 'device' may not follow a 'device_type' clause in a 'update' construct}}
- // expected-note@+1{{previous clause is here}}
+ // expected-note@+1{{active 'device_type' clause here}}
#pragma acc update self(Var) device_type(multicore) device(Var)
// These 2 are OK.
#pragma acc update self(Var) device_type(default) async
@@ -51,7 +51,7 @@
#pragma acc update self(Var) if (NC) device_type(radeon)
// expected-error@+2{{OpenACC 'if' clause cannot appear more than once on a 'update' directive}}
- // expected-note@+1{{previous clause is here}}
+ // expected-note@+1{{previous 'if' clause is here}}
#pragma acc update self(Var) if(true) if (false)
// Cannot be the body of an 'if', 'while', 'do', 'switch', or
@@ -89,7 +89,7 @@
// expected-note@+1{{to match this '('}}
#pragma acc update self(Var) async(getI(), getI())
// expected-error@+2{{OpenACC 'async' clause cannot appear more than once on a 'update' directive}}
- // expected-note@+1{{previous clause is here}}
+ // expected-note@+1{{previous 'async' clause is here}}
#pragma acc update self(Var) async(getI()) async(getI())
// expected-error@+1{{OpenACC clause 'async' requires expression of integer type ('struct NotConvertible' invalid)}}
#pragma acc update self(Var) async(NC)