cchen added inline comments.
================ Comment at: clang/lib/AST/OpenMPClause.cpp:2346 - VMI.ConstructTraits.push_back(Selector.Properties.front().Kind); + // VMI.ConstructTraits.push_back(Selector.Properties.front().Kind); } ---------------- I'm now removing this line since the properties are already added at line 2334 and not removing this line would lead to an extra iteration in `OMPContext.cpp` (check out the second diff), and the code will always return false even if the construct trait properties are added. Diff for OpenMPClause.cpp ``` 2333 for (const OMPTraitProperty &Property : Selector.Properties) 2334 VMI.addTrait(Set.Kind, Property.Kind, Property.RawString, ScorePtr); 2335 2336 if (Set.Kind != TraitSet::construct) 2337 continue; 2338 2339 // TODO: This might not hold once we implement SIMD properly. 2340 assert(Selector.Properties.size() == 1 && 2341 Selector.Properties.front().Kind == 2342 getOpenMPContextTraitPropertyForSelector( 2343 Selector.Kind) && 2344 "Ill-formed construct selector!"); 2345 2346 // VMI.ConstructTraits.push_back(Selector.Properties.front().Kind); ``` Diff for `lib/Frontend/OpenMP/OMPContext.cpp`: ``` 224 unsigned ConstructIdx = 0, NoConstructTraits = Ctx.ConstructTraits.size(); 225 for (TraitProperty Property : VMI.ConstructTraits) { 226 assert(getOpenMPContextTraitSetForProperty(Property) == 227 TraitSet::construct && 228 "Variant context is ill-formed!"); 229 230 // Verify the nesting. 231 bool FoundInOrder = false; 232 while (!FoundInOrder && ConstructIdx != NoConstructTraits) 233 FoundInOrder = (Ctx.ConstructTraits[ConstructIdx++] == Property); 234 if (ConstructMatches) 235 ConstructMatches->push_back(ConstructIdx - 1); 236 237 Optional<bool> Result = HandleTrait(Property, FoundInOrder); 238 if (Result.hasValue()) 239 return Result.getValue(); 240 241 if (!FoundInOrder) { 242 LLVM_DEBUG(dbgs() << "[" << DEBUG_TYPE << "] Construct property " 243 << getOpenMPContextTraitPropertyName(Property, "") 244 << " was not nested properly.\n"); 245 return false; 246 } 247 248 // TODO: Verify SIMD 249 } ``` Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D109635/new/ https://reviews.llvm.org/D109635 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits