[Flang] [OpenMP]Support for multiple types in declare_reduction (#179442)
Fixes [#178614](https://github.com/llvm/llvm-project/issues/178614)
This PR implements support for multiple types in OpenMP declare
reduction directives, as specified in OpenMP
Spec(`6.0-7.6.14declare_reduction Directive`).
When a declare reduction directive specifies several types (e.g.,` !$omp
declare reduction(name: integer, real : ...)`), separate reduction
operations are now generated for each type.
Modified `flang/lib/Lower/OpenMP/OpenMP.cpp` to:
- Loop through each type in the type list
- Generate a separate omp.declare_reduction operation for each type
---------
Co-authored-by: urvi-rav <urvi.rav@hpe.com>