[flang-commits] [flang] [flang][OpenMP] Parse OpenMP 6.0 syntax of INIT clause (PR #171702)

Jack Styles via flang-commits flang-commits at lists.llvm.org
Thu Dec 11 01:23:16 PST 2025


================
@@ -4031,27 +4031,43 @@ struct OmpFallbackModifier {
   WRAPPER_CLASS_BOILERPLATE(OmpFallbackModifier, Value);
 };
 
-// REF: [5.1:217-220], [5.2:293-294]
+// Ref: [6.0:470-471]
 //
-// OmpInteropRuntimeIdentifier ->                   // since 5.2
-// CharLiteralConstant || ScalarIntConstantExpr
-struct OmpInteropRuntimeIdentifier {
-  UNION_CLASS_BOILERPLATE(OmpInteropRuntimeIdentifier);
-  std::variant<CharLiteralConstant, ScalarIntConstantExpr> u;
+// preference-selector ->                           // since 6.0
+//    FR(foreign-runtime-identifier) |
+//    ATTR(preference-property-extension, ...)
+struct OmpPreferenceSelector {
+  UNION_CLASS_BOILERPLATE(OmpPreferenceSelector);
+  using FRID = common::Indirection<Expr>;
+  using Attrs = std::list<common::Indirection<Expr>>;
+  std::variant<FRID, Attrs> u;
 };
 
-// REF: [5.1:217-220], [5.2:293-294]
+// Ref: [6.0:470-471]
+//
+// preference-specification ->
+//    {preference-selector...} |                    // since 6.0
+//    foreign-runtime-identifier                    // since 5.1
----------------
Stylie777 wrote:

nit: Add the alias here to match what has been done in `OmpPreferenceSelector` for FRID. Then it is consistent.

https://github.com/llvm/llvm-project/pull/171702


More information about the flang-commits mailing list