@@ -155,32 +155,32 @@ static TypeDeclarationStmt makeIterSpecDecl(std::list<ObjectName> &&names) {
155155
156156// --- Parsers for context traits -------------------------------------
157157
158- TYPE_PARSER(construct<OmpTraitPropertyName>( //
158+ TYPE_PARSER(sourced( construct<OmpTraitPropertyName>( //
159159 (space >> charLiteralConstantWithoutKind) ||
160- applyMem(&Name::ToString, Parser<Name>{})))
160+ applyMem(&Name::ToString, Parser<Name>{}))))
161161
162- TYPE_PARSER(construct<OmpTraitScore>( //
163- "SCORE" >> parenthesized(scalarIntExpr)))
162+ TYPE_PARSER(sourced( construct<OmpTraitScore>( //
163+ "SCORE" >> parenthesized(scalarIntExpr))))
164164
165- TYPE_PARSER(construct<OmpTraitPropertyExtension::ExtensionValue>(
165+ TYPE_PARSER(sourced( construct<OmpTraitPropertyExtension::ExtensionValue>(
166166 // Parse nested extension first.
167167 construct<OmpTraitPropertyExtension::ExtensionValue>(
168168 indirect(Parser<OmpTraitPropertyExtension>{})) ||
169169 construct<OmpTraitPropertyExtension::ExtensionValue>(
170170 Parser<OmpTraitPropertyName>{}) ||
171- construct<OmpTraitPropertyExtension::ExtensionValue>(scalarExpr)))
171+ construct<OmpTraitPropertyExtension::ExtensionValue>(scalarExpr))))
172172
173- TYPE_PARSER(construct<OmpTraitPropertyExtension>( //
173+ TYPE_PARSER(sourced( construct<OmpTraitPropertyExtension>( //
174174 Parser<OmpTraitPropertyName>{},
175175 parenthesized(nonemptySeparated(
176- Parser<OmpTraitPropertyExtension::ExtensionValue>{}, ","_tok))))
176+ Parser<OmpTraitPropertyExtension::ExtensionValue>{}, ","_tok)))))
177177
178- TYPE_PARSER(construct<OmpTraitProperty>(
178+ TYPE_PARSER(sourced( construct<OmpTraitProperty>(
179179 // Try extension first, before OmpTraitPropertyName.
180180 construct<OmpTraitProperty>(Parser<OmpTraitPropertyExtension>{}) ||
181181 construct<OmpTraitProperty>(Parser<OmpTraitPropertyName>{}) ||
182182 construct<OmpTraitProperty>(indirect(Parser<OmpClause>{})) ||
183- construct<OmpTraitProperty>(scalarExpr)))
183+ construct<OmpTraitProperty>(scalarExpr))))
184184
185185TYPE_PARSER(construct<OmpTraitSelectorName::Value>(
186186 "ARCH" >> pure(OmpTraitSelectorName::Value::Arch) ||
@@ -196,18 +196,18 @@ TYPE_PARSER(construct<OmpTraitSelectorName::Value>(
196196 "UID" >> pure(OmpTraitSelectorName::Value::Uid) ||
197197 "VENDOR" >> pure(OmpTraitSelectorName::Value::Vendor)))
198198
199- TYPE_PARSER(construct<OmpTraitSelectorName>(
199+ TYPE_PARSER(sourced( construct<OmpTraitSelectorName>(
200200 // Parse predefined names first (because of SIMD).
201201 construct<OmpTraitSelectorName>(Parser<OmpTraitSelectorName::Value>{}) ||
202- construct<OmpTraitSelectorName>(OmpDirectiveNameParser{})))
202+ construct<OmpTraitSelectorName>(OmpDirectiveNameParser{}))))
203203
204204TYPE_PARSER(construct<OmpTraitSelector::Properties>(
205205 maybe(Parser<OmpTraitScore>{} / ":"_tok),
206206 nonemptySeparated(Parser<OmpTraitProperty>{}, ","_tok)))
207207
208- TYPE_PARSER(construct<OmpTraitSelector>( //
208+ TYPE_PARSER(sourced( construct<OmpTraitSelector>( //
209209 Parser<OmpTraitSelectorName>{}, //
210- maybe(parenthesized(Parser<OmpTraitSelector::Properties>{}))))
210+ maybe(parenthesized(Parser<OmpTraitSelector::Properties>{})))))
211211
212212TYPE_PARSER(construct<OmpTraitSetSelectorName::Value>(
213213 "CONSTRUCT" >> pure(OmpTraitSetSelectorName::Value::Construct) ||
@@ -216,15 +216,15 @@ TYPE_PARSER(construct<OmpTraitSetSelectorName::Value>(
216216 "TARGET_DEVICE" >> pure(OmpTraitSetSelectorName::Value::Target_Device) ||
217217 "USER" >> pure(OmpTraitSetSelectorName::Value::User)))
218218
219- TYPE_PARSER(construct<OmpTraitSetSelectorName>(
220- Parser<OmpTraitSetSelectorName::Value>{}))
219+ TYPE_PARSER(sourced( construct<OmpTraitSetSelectorName>(
220+ Parser<OmpTraitSetSelectorName::Value>{})))
221221
222- TYPE_PARSER(construct<OmpTraitSetSelector>( //
222+ TYPE_PARSER(sourced( construct<OmpTraitSetSelector>( //
223223 Parser<OmpTraitSetSelectorName>{},
224- "=" >> braced(nonemptySeparated(Parser<OmpTraitSelector>{}, ","_tok))))
224+ "=" >> braced(nonemptySeparated(Parser<OmpTraitSelector>{}, ","_tok)))))
225225
226- TYPE_PARSER(construct<OmpContextSelectorSpecification>(
227- nonemptySeparated(Parser<OmpTraitSetSelector>{}, ","_tok)))
226+ TYPE_PARSER(sourced( construct<OmpContextSelectorSpecification>(
227+ nonemptySeparated(Parser<OmpTraitSetSelector>{}, ","_tok))))
228228
229229// Parser<OmpContextSelector> == Parser<traits::OmpContextSelectorSpecification>
230230
0 commit comments