[PATCH] D67978: [OpenMP 5.0] Fix user-defined mapper lookup in sema for arrays

Alexey Bataev via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Wed Sep 25 14:16:47 PDT 2019


ABataev added a comment.

In D67978#1683146 <https://reviews.llvm.org/D67978#1683146>, @lildmh wrote:

> HI Alexey, the ast print test is already there. Because I didn't check the mapper for array type before, such code will always not report any error, and ast print test is correct. Codegen test belongs to the other patch I released. It fits that patch much better.


How is this possible? If we did not have support for the array type, we could not have correct handling of such types in successful tests.



================
Comment at: lib/Sema/SemaOpenMP.cpp:14751
+    assert(Type->getAsArrayTypeUnsafe() && "Expect to get a valid array type");
+    Type = Type->getAsArrayTypeUnsafe()->getElementType().getCanonicalType();
+  }
----------------
lildmh wrote:
> ABataev wrote:
> > Why do you want canonical type here? I think it is wrong. It drops all language sugar like typedefs etc. But typedefs are not supported in mappers, right?
> I didn't see that the spec says typedef is not supported in mappers, so I suppose it should be supported. So I think `getCanonicalType` is necessary here?
Do we check the canonicaL type by default, for non-array type?


Repository:
  rC Clang

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D67978/new/

https://reviews.llvm.org/D67978





More information about the cfe-commits mailing list