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

Lingda Li via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Thu Sep 26 13:13:46 PDT 2019


lildmh marked an inline comment as done.
lildmh added inline comments.


================
Comment at: lib/Sema/SemaOpenMP.cpp:14805
+  if (!Type->isStructureOrClassType() && !Type->isUnionType() &&
+      (MapperIdScopeSpec.isSet() || MapperId.getAsString() != "default")) {
+    SemaRef.Diag(Loc, diag::err_omp_mapper_wrong_type);
----------------
ABataev wrote:
> lildmh wrote:
> > ABataev wrote:
> > > lildmh wrote:
> > > > ABataev wrote:
> > > > > Why need an additional check for scope and not "default" id? I don't see this additional requirement in the standard. 
> > > > It's because every variable in map clauses will check this, including those are not struct, class, or union.
> > > > 
> > > > Using this, e.g., mapping an integer won't report error that it doesn't have a mapper.
> > > Maybe just move the check to the end of the function?
> > It will do some additional useless work if I move it to the end. I don't think it is necessary to move it back.
> > 
> > But if you believe it's better, I can do it.
> Could you add tests for this new functionality?
I already add the test in declare_mapper_message.c. I think nothing is needed for ast print test.


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

https://reviews.llvm.org/D67978





More information about the cfe-commits mailing list