On 20/06/2014 09:16, Alexey Bataev wrote:
Author: abataev
Date: Fri Jun 20 02:16:17 2014
New Revision: 211342

URL: http://llvm.org/viewvc/llvm-project?rev=211342&view=rev
Log:
[OPENMP] Initial support for 'schedule' clause.

Added:
     cfe/trunk/test/OpenMP/for_schedule_messages.cpp   (with props)
Modified:
     cfe/trunk/include/clang/AST/DataRecursiveASTVisitor.h
     cfe/trunk/include/clang/AST/OpenMPClause.h
     cfe/trunk/include/clang/AST/RecursiveASTVisitor.h
     cfe/trunk/include/clang/Basic/OpenMPKinds.def
     cfe/trunk/include/clang/Basic/OpenMPKinds.h
     cfe/trunk/include/clang/Parse/Parser.h
     cfe/trunk/include/clang/Sema/Sema.h
     cfe/trunk/lib/AST/StmtPrinter.cpp
     cfe/trunk/lib/AST/StmtProfile.cpp
     cfe/trunk/lib/Basic/OpenMPKinds.cpp
     cfe/trunk/lib/Parse/ParseOpenMP.cpp
     cfe/trunk/lib/Sema/SemaOpenMP.cpp
     cfe/trunk/lib/Sema/TreeTransform.h
     cfe/trunk/lib/Serialization/ASTReaderStmt.cpp
     cfe/trunk/lib/Serialization/ASTWriterStmt.cpp
     cfe/trunk/test/OpenMP/for_ast_print.cpp
     cfe/trunk/tools/libclang/CIndex.cpp

Modified: cfe/trunk/include/clang/AST/DataRecursiveASTVisitor.h
URL: 
http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/AST/DataRecursiveASTVisitor.h?rev=211342&r1=211341&r2=211342&view=diff
==============================================================================
--- cfe/trunk/include/clang/AST/DataRecursiveASTVisitor.h (original)
+++ cfe/trunk/include/clang/AST/DataRecursiveASTVisitor.h Fri Jun 20 02:16:17 
2014
@@ -2344,6 +2344,13 @@ RecursiveASTVisitor<Derived>::VisitOMPPr
  }

  template <typename Derived>
+bool
+RecursiveASTVisitor<Derived>::VisitOMPScheduleClause(OMPScheduleClause *C) {
+  TraverseStmt(C->getChunkSize());
+  return true;
+}

I just got a coverity mail, which to my understanding warned that the return value of TraverseStmt() is not checked here. Looking at the other definitions in this file the uses of TraverseStmt() outside of OMP support are commonly guarded by the TRY_TO() macro. However, in the OMP related code the return value is always ignored. Is this a bug/problem?

To my understanding, several more cases miss a TRY_TO macro, and this function:

template <typename Derived>
template <typename T>
void RecursiveASTVisitor<Derived>::VisitOMPClauseList(T *Node) {
  for (auto *I : Node->varlists())
    TraverseStmt(I);
}

does not even have the possibility to return a boolean value.

Cheers,
Tobias

_______________________________________________
cfe-commits mailing list
[email protected]
http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits

Reply via email to