See rational here: https://reviews.llvm.org/D71830#1922656
Details
Diff Detail
- Repository
- rG LLVM Github Monorepo
Event Timeline
lgtm, thanks!
I also noticed that Parser.h includes OpenMPClause.h just for this class. OpenMPClause.h is pretty big. It's for this family of related methods:
/// Parse a property kind into \p TIProperty for the selector set \p Set and /// selector \p Selector. void parseOMPTraitPropertyKind(OMPTraitInfo::OMPTraitProperty &TIProperty, llvm::omp::TraitSet Set, llvm::omp::TraitSelector Selector, llvm::StringMap<SourceLocation> &Seen);
The use of an inner class here makes it impossible to forward declare OMPTraitProperty. Would you be opposed to moving it out of line?
The other popular includer of OpenMPClause.h is Attr.h, which is where I started my investigation. I think after your change, we can forward declare it. I'll look into it.
Like D76184 ?
The other popular includer of OpenMPClause.h is Attr.h, which is where I started my investigation. I think after your change, we can forward declare it. I'll look into it.
Took care of that in D76184 as well. I will "soonish" redesign OpenMPClause.h completely but that will take more time.