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

Alexey Bataev via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Thu Sep 26 13:23:30 PDT 2019


ABataev 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);
----------------
lildmh wrote:
> 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.
I mean, for this error message. I did not see the change in the tests when you added this new check.


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

https://reviews.llvm.org/D67978





More information about the cfe-commits mailing list