[PATCH] D14134: [OpenMP] Parsing and sema support for map clause
Alexey Bataev via cfe-commits
cfe-commits at lists.llvm.org
Tue Nov 17 05:52:08 PST 2015
ABataev added inline comments.
================
Comment at: include/clang/AST/OpenMPClause.h:2660-2662
@@ +2659,5 @@
+ ///
+ /// \param StartLoc Starting location of the clause.
+ /// \param EndLoc Ending location of the clause.
+ /// \param N Number of the variables in the clause.
+ ///
----------------
Not all important arguments are described
================
Comment at: include/clang/AST/OpenMPClause.h:2683-2686
@@ +2682,6 @@
+ ///
+ /// \param C AST context.
+ /// \brief StartLoc Starting location of the clause.
+ /// \brief EndLoc Ending location of the clause.
+ /// \param VL List of references to the variables.
+ ///
----------------
Not all important arguments are described
================
Comment at: lib/Basic/OpenMPKinds.cpp:199
@@ +198,3 @@
+ return "unknown";
+#define OPENMP_MAP_KIND(Name ) \
+ case OMPC_MAP_##Name: \
----------------
Extra spaces between arg and ')'
================
Comment at: lib/Sema/SemaOpenMP.cpp:318-342
@@ -310,1 +317,27 @@
+
+ MapInfo getMapInfoForVar(VarDecl *VD) {
+ MapInfo Tmp = {0};
+ for (auto Cnt = Stack.size() - 1; Cnt > 0; --Cnt) {
+ if (Stack[Cnt].MappedDecls.count(VD)) {
+ Tmp = Stack[Cnt].MappedDecls[VD];
+ break;
+ }
+ }
+ return Tmp;
+ }
+
+ void addMapInfoForVar(VarDecl *VD, MapInfo MI) {
+ if (Stack.size() > 1) {
+ Stack.back().MappedDecls[VD] = MI;
+ }
+ }
+
+ MapInfo IsMappedInCurrentRegion(VarDecl *VD) {
+ assert(Stack.size() > 1 && "Target level is 0");
+ MapInfo Tmp = {0};
+ if (Stack.size() > 1 && Stack.back().MappedDecls.count(VD)) {
+ Tmp = Stack.back().MappedDecls[VD];
+ }
+ return Tmp;
+ }
};
----------------
Tmp is bad name.
================
Comment at: test/OpenMP/target_data_ast_print.cpp:1
@@ -1,2 +1,2 @@
// RUN: %clang_cc1 -verify -fopenmp -ast-print %s | FileCheck %s
// RUN: %clang_cc1 -fopenmp -x c++ -std=c++11 -emit-pch -o %t %s
----------------
Also add tests for templates, serialization/deserialization
================
Comment at: test/OpenMP/target_map_messages.cpp:2
@@ +1,3 @@
+// RUN: %clang_cc1 -verify -fopenmp -ferror-limit 100 %s
+
+void foo() {
----------------
Still no tests for templates
http://reviews.llvm.org/D14134
More information about the cfe-commits
mailing list