[PATCH] D74144: [OPENMP50]Add basic support for array-shaping operation.
Johannes Doerfert via Phabricator via cfe-commits
cfe-commits at lists.llvm.org
Fri Mar 6 09:19:07 PST 2020
jdoerfert added inline comments.
================
Comment at: clang/lib/Parse/ParseExpr.cpp:2891
ArgExprs);
}
+ } else if (!getLangOpts().ObjC && getLangOpts().OpenMP >= 50 &&
----------------
Out of curiosity, why do we prevent Objective C here? I doubt anyone runs it in OpenMP mode but it would be kinda cool.
================
Comment at: clang/lib/Sema/SemaExpr.cpp:4744
+ // Delay analysis of the types/expressions if instantiation/specialixzation is
+ // required.
+ if (!BaseTy->isAnyPointerType() &&
----------------
Typo above.
================
Comment at: clang/lib/Sema/SemaExpr.cpp:4750
+ return OMPArrayShapingExpr::Create(Context, Context.DependentTy, Base,
+ LParenLoc, RParenLoc, Dims, Brackets);
+ if (!BaseTy->isAnyPointerType())
----------------
Does this trigger as well if BaseTy is a pointer type but dependent? I mean, why do we need the first check (`!BaseTy->isAnyPointerType() &&`)?
================
Comment at: clang/test/OpenMP/parallel_reduction_messages.c:8
+#pragma omp parallel reduction(+ : incomplete, ([10])p) // expected-error {{a reduction list item with incomplete type 'int []'}} omp45-error {{expected expression}} omp50-error {{expected variable name, array element or array section}}
;
}
----------------
Why is there a 50 error here?
================
Comment at: clang/test/OpenMP/task_ast_print.cpp:153
+#pragma omp task untied mergeable depend(out:argv[:a][1], (arr)[0:],([argc][10])argv) if(task: argc > 0) priority(f)
+ // CHECK-NEXT: #pragma omp task untied mergeable depend(out : argv[:a][1],(arr)[0:],([argc][10])argv) if(task: argc > 0) priority(f)
a = 2;
----------------
We do not complain that argc is non-constant. Is that on purpose?
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D74144/new/
https://reviews.llvm.org/D74144
More information about the cfe-commits
mailing list