[flang-commits] [flang] [flang] Add parsing of DO CONCURRENT REDUCE clause (PR #92518)

via flang-commits flang-commits at lists.llvm.org
Fri May 17 12:39:10 PDT 2024


================
@@ -2236,16 +2243,29 @@ struct ConcurrentHeader {
       t;
 };
 
+// F'2023 R1131 reduce-operation ->
+//                + | * | .AND. | .OR. | .EQV. | .NEQV. |
+//                MAX | MIN | IAND | IOR | IEOR
+struct ReduceOperation {
+  UNION_CLASS_BOILERPLATE(ReduceOperation);
+  std::variant<DefinedOperator, ProcedureDesignator> u;
----------------
khaki3 wrote:

I'll repeat a comment sent personally to you before.

>I tried an implementation in a similar way to AccReductionOperator::Operator. It cannot tell the reason for parsing failures. The name of AccReductionOperator::Operator is redundant. I tried to add ReduceOperation::Add directly (without ::Operator::), but the OpenACC version has a sourced parser. Defining 'source' in 'ReduceOperation' does not match with other code.

There was no CUF REDUCE support that time. Should I check it?

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


More information about the flang-commits mailing list