r212592 - [OPENMP] Improved code of DataRecursiveASTVisitor and RecursiveASTVisitor for OpenMP constructs per Tobias Grosser comments.
Bataev, Alexey
a.bataev at hotmail.com
Wed Jul 9 03:37:03 PDT 2014
Thanks,
Fixed in revision 212601.
Best regards,
Alexey Bataev
=============
Software Engineer
Intel Compiler Team
9 Июль 2014 г. 12:47:02, Timur Iskhodzhanov писал:
> FYI
> FAILED: "C:/Program Files (x86)/CMake 2.8/bin/cmcldeps.exe" CXX
> tools\clang\lib\ARCMigrate\TransProtectedScope.cpp
> "tools/clang/lib/ARCMigrate/CMakeFiles/clangARCMigrate.dir/TransProtectedScope.cpp.obj.d"
> tools\clang\lib\ARCMigrate\CMakeFiles\clangARCMigrate.dir\TransProtectedScope.cpp.obj
> "Note: including file: " "C:/Program Files (x86)/Microsoft Visual
> Studio 12.0/VC/bin/cl.exe" C:\PROGRA~2\MICROS~3.0\VC\bin\cl.exe
> /nologo /TP /DWIN32 /D_WINDOWS /W3 /MD /O2 /Ob2
> -Itools\clang\lib\ARCMigrate -Itools\clang\lib\ARCMigrate
> -Itools\clang\include -Itools\clang\include -Iinclude -Iinclude
> -UNDEBUG -wd4146 -wd4180 -wd4244 -wd4267 -wd4291 -wd4345 -wd4351
> -wd4355 -wd4503 -wd4624 -wd4722 -wd4800 -w14062 -we4238 /EHs-c- /GR-
> -DCLANG_ENABLE_ARCMT -DCLANG_ENABLE_REWRITER
> -DCLANG_ENABLE_STATIC_ANALYZER -DGTEST_HAS_RTTI=0
> -D_CRT_NONSTDC_NO_DEPRECATE -D_CRT_NONSTDC_NO_WARNINGS
> -D_CRT_SECURE_NO_DEPRECATE -D_CRT_SECURE_NO_WARNINGS -D_GNU_SOURCE
> -D_HAS_EXCEPTIONS=0 -D_SCL_SECURE_NO_DEPRECATE
> -D_SCL_SECURE_NO_WARNINGS -D__STDC_CONSTANT_MACROS
> -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS
> /Fotools\clang\lib\ARCMigrate\CMakeFiles\clangARCMigrate.dir\TransProtectedScope.cpp.obj
> /Fdtools\clang\lib\ARCMigrate\CMakeFiles\clangARCMigrate.dir/ /FS -c
> tools\clang\lib\ARCMigrate\TransProtectedScope.cpp
> tools\clang\include\clang/AST/RecursiveASTVisitor.h(2298) : error
> C2059: syntax error : '}'
>
>
> tools\clang\include\clang/AST/RecursiveASTVisitor.h(2297) :
> while compiling class template member function 'bool
> clang::RecursiveASTVisitor<`anonymous-namespace'::LocalRefsCollector>::TraverseOMPExecutableDirective(clang::OMPExecutableDirective
> *)'
>
>
> tools\clang\include\clang/AST/RecursiveASTVisitor.h(2310) :
> see reference to function template instantiation 'bool
> clang::RecursiveASTVisitor<`anonymous-namespace'::LocalRefsCollector>::TraverseOMPExecutableDirective(clang::OMPExecutableDirective
> *)' being compiled
>
>
> tools\clang\include\clang/AST/RecursiveASTVisitor.h(1891) :
> while compiling class template member function 'bool
> clang::RecursiveASTVisitor<`anonymous-namespace'::LocalRefsCollector>::TraverseGCCAsmStmt(clang::GCCAsmStmt
> *)'
>
>
> tools\clang\include\clang/AST/StmtNodes.inc(27) : see
> reference to function template instantiation 'bool
> clang::RecursiveASTVisitor<`anonymous-namespace'::LocalRefsCollector>::TraverseGCCAsmStmt(clang::GCCAsmStmt
> *)' being compiled
>
>
> tools\clang\include\clang/AST/RecursiveASTVisitor.h(553) :
> while compiling class template member function 'bool
> clang::RecursiveASTVisitor<`anonymous-namespace'::LocalRefsCollector>::TraverseStmt(clang::Stmt
> *)'
>
>
> tools\clang\lib\ARCMigrate\TransProtectedScope.cpp(108) : see
> reference to function template instantiation 'bool
> clang::RecursiveASTVisitor<`anonymous-namespace'::LocalRefsCollector>::TraverseStmt(clang::Stmt
> *)' being compiled
>
>
> tools\clang\lib\ARCMigrate\TransProtectedScope.cpp(26) : see
> reference to class template instantiation
> 'clang::RecursiveASTVisitor<`anonymous-namespace'::LocalRefsCollector>'
> being compiled
>
> 2014-07-09 12:00 GMT+04:00 Alexey Bataev <a.bataev at hotmail.com>:
>> Author: abataev
>> Date: Wed Jul 9 03:00:46 2014
>> New Revision: 212592
>>
>> URL: http://llvm.org/viewvc/llvm-project?rev=212592&view=rev
>> Log:
>> [OPENMP] Improved code of DataRecursiveASTVisitor and RecursiveASTVisitor for OpenMP constructs per Tobias Grosser comments.
>>
>> Modified:
>> cfe/trunk/include/clang/AST/DataRecursiveASTVisitor.h
>> cfe/trunk/include/clang/AST/RecursiveASTVisitor.h
>>
>> Modified: cfe/trunk/include/clang/AST/DataRecursiveASTVisitor.h
>> URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/AST/DataRecursiveASTVisitor.h?rev=212592&r1=212591&r2=212592&view=diff
>> ==============================================================================
>> --- cfe/trunk/include/clang/AST/DataRecursiveASTVisitor.h (original)
>> +++ cfe/trunk/include/clang/AST/DataRecursiveASTVisitor.h Wed Jul 9 03:00:46 2014
>> @@ -423,12 +423,12 @@ private:
>> bool TraverseDeclContextHelper(DeclContext *DC);
>> bool TraverseFunctionHelper(FunctionDecl *D);
>> bool TraverseVarHelper(VarDecl *D);
>> - bool TraverseOMPClause(OMPClause *C);
>> bool TraverseOMPExecutableDirective(OMPExecutableDirective *S);
>> + bool TraverseOMPClause(OMPClause *C);
>> #define OPENMP_CLAUSE(Name, Class) bool Visit##Class(Class *C);
>> #include "clang/Basic/OpenMPKinds.def"
>> /// \brief Process clauses with list of variables.
>> - template <typename T> void VisitOMPClauseList(T *Node);
>> + template <typename T> bool VisitOMPClauseList(T *Node);
>>
>> typedef SmallVector<Stmt *, 16> StmtsTy;
>> typedef SmallVector<StmtsTy *, 4> QueuesTy;
>> @@ -2273,53 +2273,34 @@ DEF_TRAVERSE_STMT(AsTypeExpr, {})
>> template <typename Derived>
>> bool RecursiveASTVisitor<Derived>::TraverseOMPExecutableDirective(
>> OMPExecutableDirective *S) {
>> - ArrayRef<OMPClause *> Clauses = S->clauses();
>> - for (ArrayRef<OMPClause *>::iterator I = Clauses.begin(), E = Clauses.end();
>> - I != E; ++I)
>> - if (!TraverseOMPClause(*I))
>> - return false;
>> + for (auto *C : S->clauses())
>> + TRY_TO(TraverseOMPClause(C));
>> return true;
>> }
>>
>> -DEF_TRAVERSE_STMT(OMPParallelDirective, {
>> - if (!TraverseOMPExecutableDirective(S))
>> - return false;
>> -})
>> +DEF_TRAVERSE_STMT(OMPParallelDirective,
>> + { TRY_TO(TraverseOMPExecutableDirective(S)); })
>>
>> -DEF_TRAVERSE_STMT(OMPSimdDirective, {
>> - if (!TraverseOMPExecutableDirective(S))
>> - return false;
>> -})
>> +DEF_TRAVERSE_STMT(OMPSimdDirective,
>> + { TRY_TO(TraverseOMPExecutableDirective(S)); })
>>
>> -DEF_TRAVERSE_STMT(OMPForDirective, {
>> - if (!TraverseOMPExecutableDirective(S))
>> - return false;
>> -})
>> +DEF_TRAVERSE_STMT(OMPForDirective,
>> + { TRY_TO(TraverseOMPExecutableDirective(S)); })
>>
>> -DEF_TRAVERSE_STMT(OMPSectionsDirective, {
>> - if (!TraverseOMPExecutableDirective(S))
>> - return false;
>> -})
>> +DEF_TRAVERSE_STMT(OMPSectionsDirective,
>> + { TRY_TO(TraverseOMPExecutableDirective(S)); })
>>
>> -DEF_TRAVERSE_STMT(OMPSectionDirective, {
>> - if (!TraverseOMPExecutableDirective(S))
>> - return false;
>> -})
>> +DEF_TRAVERSE_STMT(OMPSectionDirective,
>> + { TRY_TO(TraverseOMPExecutableDirective(S)); })
>>
>> -DEF_TRAVERSE_STMT(OMPSingleDirective, {
>> - if (!TraverseOMPExecutableDirective(S))
>> - return false;
>> -})
>> +DEF_TRAVERSE_STMT(OMPSingleDirective,
>> + { TRY_TO(TraverseOMPExecutableDirective(S)); })
>>
>> -DEF_TRAVERSE_STMT(OMPParallelForDirective, {
>> - if (!TraverseOMPExecutableDirective(S))
>> - return false;
>> -})
>> +DEF_TRAVERSE_STMT(OMPParallelForDirective,
>> + { TRY_TO(TraverseOMPExecutableDirective(S)); })
>>
>> -DEF_TRAVERSE_STMT(OMPParallelSectionsDirective, {
>> - if (!TraverseOMPExecutableDirective(S))
>> - return false;
>> -})
>> +DEF_TRAVERSE_STMT(OMPParallelSectionsDirective,
>> + { TRY_TO(TraverseOMPExecutableDirective(S)); })
>>
>> // OpenMP clauses.
>> template <typename Derived>
>> @@ -2329,9 +2310,11 @@ bool RecursiveASTVisitor<Derived>::Trave
>> switch (C->getClauseKind()) {
>> #define OPENMP_CLAUSE(Name, Class) \
>> case OMPC_##Name: \
>> - return getDerived().Visit##Class(static_cast<Class *>(C));
>> + TRY_TO(Visit##Class(static_cast<Class *>(C))); \
>> + break;
>> #include "clang/Basic/OpenMPKinds.def"
>> - default:
>> + case OMPC_threadprivate:
>> + case OMPC_unknown:
>> break;
>> }
>> return true;
>> @@ -2339,45 +2322,44 @@ bool RecursiveASTVisitor<Derived>::Trave
>>
>> template <typename Derived>
>> bool RecursiveASTVisitor<Derived>::VisitOMPIfClause(OMPIfClause *C) {
>> - TraverseStmt(C->getCondition());
>> + TRY_TO(TraverseStmt(C->getCondition()));
>> return true;
>> }
>>
>> template <typename Derived>
>> bool
>> RecursiveASTVisitor<Derived>::VisitOMPNumThreadsClause(OMPNumThreadsClause *C) {
>> - TraverseStmt(C->getNumThreads());
>> + TRY_TO(TraverseStmt(C->getNumThreads()));
>> return true;
>> }
>>
>> template <typename Derived>
>> bool RecursiveASTVisitor<Derived>::VisitOMPSafelenClause(OMPSafelenClause *C) {
>> - TraverseStmt(C->getSafelen());
>> + TRY_TO(TraverseStmt(C->getSafelen()));
>> return true;
>> }
>>
>> template <typename Derived>
>> bool
>> RecursiveASTVisitor<Derived>::VisitOMPCollapseClause(OMPCollapseClause *C) {
>> - TraverseStmt(C->getNumForLoops());
>> + TRY_TO(TraverseStmt(C->getNumForLoops()));
>> return true;
>> }
>>
>> template <typename Derived>
>> -bool RecursiveASTVisitor<Derived>::VisitOMPDefaultClause(OMPDefaultClause *C) {
>> +bool RecursiveASTVisitor<Derived>::VisitOMPDefaultClause(OMPDefaultClause *) {
>> return true;
>> }
>>
>> template <typename Derived>
>> -bool
>> -RecursiveASTVisitor<Derived>::VisitOMPProcBindClause(OMPProcBindClause *C) {
>> +bool RecursiveASTVisitor<Derived>::VisitOMPProcBindClause(OMPProcBindClause *) {
>> return true;
>> }
>>
>> template <typename Derived>
>> bool
>> RecursiveASTVisitor<Derived>::VisitOMPScheduleClause(OMPScheduleClause *C) {
>> - TraverseStmt(C->getChunkSize());
>> + TRY_TO(TraverseStmt(C->getChunkSize()));
>> return true;
>> }
>>
>> @@ -2393,61 +2375,62 @@ bool RecursiveASTVisitor<Derived>::Visit
>>
>> template <typename Derived>
>> template <typename T>
>> -void RecursiveASTVisitor<Derived>::VisitOMPClauseList(T *Node) {
>> - for (auto *I : Node->varlists())
>> - TraverseStmt(I);
>> +bool RecursiveASTVisitor<Derived>::VisitOMPClauseList(T *Node) {
>> + for (auto *E : Node->varlists())
>> + TRY_TO(TraverseStmt(E));
>> + return true;
>> }
>>
>> template <typename Derived>
>> bool RecursiveASTVisitor<Derived>::VisitOMPPrivateClause(OMPPrivateClause *C) {
>> - VisitOMPClauseList(C);
>> + TRY_TO(VisitOMPClauseList(C));
>> return true;
>> }
>>
>> template <typename Derived>
>> bool RecursiveASTVisitor<Derived>::VisitOMPFirstprivateClause(
>> OMPFirstprivateClause *C) {
>> - VisitOMPClauseList(C);
>> + TRY_TO(VisitOMPClauseList(C));
>> return true;
>> }
>>
>> template <typename Derived>
>> bool RecursiveASTVisitor<Derived>::VisitOMPLastprivateClause(
>> OMPLastprivateClause *C) {
>> - VisitOMPClauseList(C);
>> + TRY_TO(VisitOMPClauseList(C));
>> return true;
>> }
>>
>> template <typename Derived>
>> bool RecursiveASTVisitor<Derived>::VisitOMPSharedClause(OMPSharedClause *C) {
>> - VisitOMPClauseList(C);
>> + TRY_TO(VisitOMPClauseList(C));
>> return true;
>> }
>>
>> template <typename Derived>
>> bool RecursiveASTVisitor<Derived>::VisitOMPLinearClause(OMPLinearClause *C) {
>> - VisitOMPClauseList(C);
>> - TraverseStmt(C->getStep());
>> + TRY_TO(TraverseStmt(C->getStep()));
>> + TRY_TO(VisitOMPClauseList(C));
>> return true;
>> }
>>
>> template <typename Derived>
>> bool RecursiveASTVisitor<Derived>::VisitOMPAlignedClause(OMPAlignedClause *C) {
>> - VisitOMPClauseList(C);
>> - TraverseStmt(C->getAlignment());
>> + TRY_TO(TraverseStmt(C->getAlignment()));
>> + TRY_TO(VisitOMPClauseList(C));
>> return true;
>> }
>>
>> template <typename Derived>
>> bool RecursiveASTVisitor<Derived>::VisitOMPCopyinClause(OMPCopyinClause *C) {
>> - VisitOMPClauseList(C);
>> + TRY_TO(VisitOMPClauseList(C));
>> return true;
>> }
>>
>> template <typename Derived>
>> bool RecursiveASTVisitor<Derived>::VisitOMPCopyprivateClause(
>> OMPCopyprivateClause *C) {
>> - VisitOMPClauseList(C);
>> + TRY_TO(VisitOMPClauseList(C));
>> return true;
>> }
>>
>> @@ -2456,7 +2439,7 @@ bool
>> RecursiveASTVisitor<Derived>::VisitOMPReductionClause(OMPReductionClause *C) {
>> TRY_TO(TraverseNestedNameSpecifierLoc(C->getQualifierLoc()));
>> TRY_TO(TraverseDeclarationNameInfo(C->getNameInfo()));
>> - VisitOMPClauseList(C);
>> + TRY_TO(VisitOMPClauseList(C));
>> return true;
>> }
>>
>>
>> Modified: cfe/trunk/include/clang/AST/RecursiveASTVisitor.h
>> URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/AST/RecursiveASTVisitor.h?rev=212592&r1=212591&r2=212592&view=diff
>> ==============================================================================
>> --- cfe/trunk/include/clang/AST/RecursiveASTVisitor.h (original)
>> +++ cfe/trunk/include/clang/AST/RecursiveASTVisitor.h Wed Jul 9 03:00:46 2014
>> @@ -428,12 +428,12 @@ private:
>> bool TraverseDeclContextHelper(DeclContext *DC);
>> bool TraverseFunctionHelper(FunctionDecl *D);
>> bool TraverseVarHelper(VarDecl *D);
>> - bool TraverseOMPClause(OMPClause *C);
>> bool TraverseOMPExecutableDirective(OMPExecutableDirective *S);
>> + bool TraverseOMPClause(OMPClause *C);
>> #define OPENMP_CLAUSE(Name, Class) bool Visit##Class(Class *C);
>> #include "clang/Basic/OpenMPKinds.def"
>> /// \brief Process clauses with list of variables.
>> - template <typename T> void VisitOMPClauseList(T *Node);
>> + template <typename T> bool VisitOMPClauseList(T *Node);
>>
>> struct EnqueueJob {
>> Stmt *S;
>> @@ -2295,53 +2295,34 @@ DEF_TRAVERSE_STMT(AsTypeExpr, {})
>> template <typename Derived>
>> bool RecursiveASTVisitor<Derived>::TraverseOMPExecutableDirective(
>> OMPExecutableDirective *S) {
>> - ArrayRef<OMPClause *> Clauses = S->clauses();
>> - for (ArrayRef<OMPClause *>::iterator I = Clauses.begin(), E = Clauses.end();
>> - I != E; ++I)
>> - if (!TraverseOMPClause(*I))
>> - return false;
>> + for (auto *C : S->clauses())
>> + TRY_TO(TraverseOMPClause(C));
>> return true;
>> }
>>
>> -DEF_TRAVERSE_STMT(OMPParallelDirective, {
>> - if (!TraverseOMPExecutableDirective(S))
>> - return false;
>> -})
>> +DEF_TRAVERSE_STMT(OMPParallelDirective,
>> + { TRY_TO(TraverseOMPExecutableDirective(S)); })
>>
>> -DEF_TRAVERSE_STMT(OMPSimdDirective, {
>> - if (!TraverseOMPExecutableDirective(S))
>> - return false;
>> -})
>> +DEF_TRAVERSE_STMT(OMPSimdDirective,
>> + { TRY_TO(TraverseOMPExecutableDirective(S)); })
>>
>> -DEF_TRAVERSE_STMT(OMPForDirective, {
>> - if (!TraverseOMPExecutableDirective(S))
>> - return false;
>> -})
>> +DEF_TRAVERSE_STMT(OMPForDirective,
>> + { TRY_TO(TraverseOMPExecutableDirective(S)); })
>>
>> -DEF_TRAVERSE_STMT(OMPSectionsDirective, {
>> - if (!TraverseOMPExecutableDirective(S))
>> - return false;
>> -})
>> +DEF_TRAVERSE_STMT(OMPSectionsDirective,
>> + { TRY_TO(TraverseOMPExecutableDirective(S)); })
>>
>> -DEF_TRAVERSE_STMT(OMPSectionDirective, {
>> - if (!TraverseOMPExecutableDirective(S))
>> - return false;
>> -})
>> +DEF_TRAVERSE_STMT(OMPSectionDirective,
>> + { TRY_TO(TraverseOMPExecutableDirective(S)); })
>>
>> -DEF_TRAVERSE_STMT(OMPSingleDirective, {
>> - if (!TraverseOMPExecutableDirective(S))
>> - return false;
>> -})
>> +DEF_TRAVERSE_STMT(OMPSingleDirective,
>> + { TRY_TO(TraverseOMPExecutableDirective(S)); })
>>
>> -DEF_TRAVERSE_STMT(OMPParallelForDirective, {
>> - if (!TraverseOMPExecutableDirective(S))
>> - return false;
>> -})
>> +DEF_TRAVERSE_STMT(OMPParallelForDirective,
>> + { TRY_TO(TraverseOMPExecutableDirective(S)); })
>>
>> -DEF_TRAVERSE_STMT(OMPParallelSectionsDirective, {
>> - if (!TraverseOMPExecutableDirective(S))
>> - return false;
>> -})
>> +DEF_TRAVERSE_STMT(OMPParallelSectionsDirective,
>> + { TRY_TO(TraverseOMPExecutableDirective(S)); })
>>
>> // OpenMP clauses.
>> template <typename Derived>
>> @@ -2351,9 +2332,11 @@ bool RecursiveASTVisitor<Derived>::Trave
>> switch (C->getClauseKind()) {
>> #define OPENMP_CLAUSE(Name, Class) \
>> case OMPC_##Name: \
>> - return getDerived().Visit##Class(static_cast<Class *>(C));
>> + TRY_TO(Visit##Class(static_cast<Class *>(C))); \
>> + break;
>> #include "clang/Basic/OpenMPKinds.def"
>> - default:
>> + case OMPC_threadprivate:
>> + case OMPC_unknown:
>> break;
>> }
>> return true;
>> @@ -2361,45 +2344,44 @@ bool RecursiveASTVisitor<Derived>::Trave
>>
>> template <typename Derived>
>> bool RecursiveASTVisitor<Derived>::VisitOMPIfClause(OMPIfClause *C) {
>> - TraverseStmt(C->getCondition());
>> + TRY_TO(TraverseStmt(C->getCondition()));
>> return true;
>> }
>>
>> template <typename Derived>
>> bool
>> RecursiveASTVisitor<Derived>::VisitOMPNumThreadsClause(OMPNumThreadsClause *C) {
>> - TraverseStmt(C->getNumThreads());
>> + TRY_TO(TraverseStmt(C->getNumThreads()));
>> return true;
>> }
>>
>> template <typename Derived>
>> bool RecursiveASTVisitor<Derived>::VisitOMPSafelenClause(OMPSafelenClause *C) {
>> - TraverseStmt(C->getSafelen());
>> + TRY_TO(TraverseStmt(C->getSafelen()));
>> return true;
>> }
>>
>> template <typename Derived>
>> bool
>> RecursiveASTVisitor<Derived>::VisitOMPCollapseClause(OMPCollapseClause *C) {
>> - TraverseStmt(C->getNumForLoops());
>> + TRY_TO(TraverseStmt(C->getNumForLoops()));
>> return true;
>> }
>>
>> template <typename Derived>
>> -bool RecursiveASTVisitor<Derived>::VisitOMPDefaultClause(OMPDefaultClause *C) {
>> +bool RecursiveASTVisitor<Derived>::VisitOMPDefaultClause(OMPDefaultClause *) {
>> return true;
>> }
>>
>> template <typename Derived>
>> -bool
>> -RecursiveASTVisitor<Derived>::VisitOMPProcBindClause(OMPProcBindClause *C) {
>> +bool RecursiveASTVisitor<Derived>::VisitOMPProcBindClause(OMPProcBindClause *) {
>> return true;
>> }
>>
>> template <typename Derived>
>> bool
>> RecursiveASTVisitor<Derived>::VisitOMPScheduleClause(OMPScheduleClause *C) {
>> - TraverseStmt(C->getChunkSize());
>> + TRY_TO(TraverseStmt(C->getChunkSize()));
>> return true;
>> }
>>
>> @@ -2415,61 +2397,62 @@ bool RecursiveASTVisitor<Derived>::Visit
>>
>> template <typename Derived>
>> template <typename T>
>> -void RecursiveASTVisitor<Derived>::VisitOMPClauseList(T *Node) {
>> - for (auto *I : Node->varlists())
>> - TraverseStmt(I);
>> +bool RecursiveASTVisitor<Derived>::VisitOMPClauseList(T *Node) {
>> + for (auto *E : Node->varlists())
>> + TRY_TO(TraverseStmt(E));
>> + return true;
>> }
>>
>> template <typename Derived>
>> bool RecursiveASTVisitor<Derived>::VisitOMPPrivateClause(OMPPrivateClause *C) {
>> - VisitOMPClauseList(C);
>> + TRY_TO(VisitOMPClauseList(C));
>> return true;
>> }
>>
>> template <typename Derived>
>> bool RecursiveASTVisitor<Derived>::VisitOMPFirstprivateClause(
>> OMPFirstprivateClause *C) {
>> - VisitOMPClauseList(C);
>> + TRY_TO(VisitOMPClauseList(C));
>> return true;
>> }
>>
>> template <typename Derived>
>> bool RecursiveASTVisitor<Derived>::VisitOMPLastprivateClause(
>> OMPLastprivateClause *C) {
>> - VisitOMPClauseList(C);
>> + TRY_TO(VisitOMPClauseList(C));
>> return true;
>> }
>>
>> template <typename Derived>
>> bool RecursiveASTVisitor<Derived>::VisitOMPSharedClause(OMPSharedClause *C) {
>> - VisitOMPClauseList(C);
>> + TRY_TO(VisitOMPClauseList(C));
>> return true;
>> }
>>
>> template <typename Derived>
>> bool RecursiveASTVisitor<Derived>::VisitOMPLinearClause(OMPLinearClause *C) {
>> - VisitOMPClauseList(C);
>> - TraverseStmt(C->getStep());
>> + TRY_TO(TraverseStmt(C->getStep()));
>> + TRY_TO(VisitOMPClauseList(C));
>> return true;
>> }
>>
>> template <typename Derived>
>> bool RecursiveASTVisitor<Derived>::VisitOMPAlignedClause(OMPAlignedClause *C) {
>> - VisitOMPClauseList(C);
>> - TraverseStmt(C->getAlignment());
>> + TRY_TO(TraverseStmt(C->getAlignment()));
>> + TRY_TO(VisitOMPClauseList(C));
>> return true;
>> }
>>
>> template <typename Derived>
>> bool RecursiveASTVisitor<Derived>::VisitOMPCopyinClause(OMPCopyinClause *C) {
>> - VisitOMPClauseList(C);
>> + TRY_TO(VisitOMPClauseList(C));
>> return true;
>> }
>>
>> template <typename Derived>
>> bool RecursiveASTVisitor<Derived>::VisitOMPCopyprivateClause(
>> OMPCopyprivateClause *C) {
>> - VisitOMPClauseList(C);
>> + TRY_TO(VisitOMPClauseList(C));
>> return true;
>> }
>>
>> @@ -2478,7 +2461,7 @@ bool
>> RecursiveASTVisitor<Derived>::VisitOMPReductionClause(OMPReductionClause *C) {
>> TRY_TO(TraverseNestedNameSpecifierLoc(C->getQualifierLoc()));
>> TRY_TO(TraverseDeclarationNameInfo(C->getNameInfo()));
>> - VisitOMPClauseList(C);
>> + TRY_TO(VisitOMPClauseList(C));
>> return true;
>> }
>>
>>
>>
>> _______________________________________________
>> cfe-commits mailing list
>> cfe-commits at cs.uiuc.edu
>> http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits
More information about the cfe-commits
mailing list