================ @@ -3474,6 +3477,138 @@ WRAPPER_CLASS(OmpObjectList, std::list<OmpObject>); #define MODIFIERS() std::optional<std::list<Modifier>> +inline namespace traits { +// trait-property-name -> +// identifier | string-literal +struct OmpTraitPropertyName { + CharBlock source; + WRAPPER_CLASS_BOILERPLATE(OmpTraitPropertyName, std::string); +}; + +// trait-score -> +// SCORE(non-negative-const-integer-expression) +struct OmpTraitScore { + CharBlock source; + WRAPPER_CLASS_BOILERPLATE(OmpTraitScore, ScalarIntExpr); +}; + +// trait-property-extension -> +// trait-property-name (trait-property-value, ...) +// trait-property-value -> +// trait-property-name | +// scalar-integer-expression | +// trait-property-extension +// +// The grammar in OpenMP 5.2+ spec is ambiguous, the above is a different +// version (but equivalent) that doesn't have ambiguities. ---------------- kiranchandramohan wrote:
Is this reported? https://github.com/llvm/llvm-project/pull/121815 _______________________________________________ llvm-branch-commits mailing list llvm-branch-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits