Hi Tobias,
Thanks for the report! Though actually the code is correct, I think it
should be improved at least to remove some messages from analyzers.
I'll fix it.
Best regards,
Alexey Bataev
=============
Software Engineer
Intel Compiler Team
8 Июль 2014 г. 16:17:33, Tobias Grosser писал:
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