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 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits