[openmp] [clang] [Clang][OpenMP] Fix ordering of processing of map clauses when mapping a struct. (PR #72410)

Alexey Bataev via cfe-commits cfe-commits at lists.llvm.org
Mon Nov 20 14:10:37 PST 2023


================
@@ -7742,15 +7744,42 @@ class MappableExprsHandler {
       else if (C->getMapType() == OMPC_MAP_alloc)
         Kind = Allocs;
       const auto *EI = C->getVarRefs().begin();
-      for (const auto L : C->component_lists()) {
-        const Expr *E = (C->getMapLoc().isValid()) ? *EI : nullptr;
-        InfoGen(std::get<0>(L), Kind, std::get<1>(L), C->getMapType(),
-                C->getMapTypeModifiers(), std::nullopt,
-                /*ReturnDevicePointer=*/false, C->isImplicit(), std::get<2>(L),
-                E);
-        ++EI;
----------------
alexey-bataev wrote:

That's strange that array sections are not handled correctly here, need to check why componen_list() does not return it correctly. Or just InfoGen does not process it correctly.

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


More information about the cfe-commits mailing list