]> granicus.if.org Git - clang/commit
[OPENMP] Fix for http://llvm.org/PR24371: Assert failure compiling blender 2.75.
authorAlexey Bataev <a.bataev@hotmail.com>
Fri, 14 Aug 2015 12:25:37 +0000 (12:25 +0000)
committerAlexey Bataev <a.bataev@hotmail.com>
Fri, 14 Aug 2015 12:25:37 +0000 (12:25 +0000)
commit76f851a544566bcc084d90ea491c1a40e44b9832
tree27a92b25956d55469743592353888cab29af6973
parentee3c24fa9257a4d2a3807be2ae58d95fb439c16d
[OPENMP] Fix for http://llvm.org/PR24371: Assert failure compiling blender 2.75.
blender uses statements expression in condition of the loop under control of the '#pragma omp parallel for'. This condition is used several times in different expressions required for codegen of the loop directive. If there are some variables defined in statement expression, it fires an assert during codegen because of redefinition of the same variables.
We have to rebuild several expression to be sure that all variables are unique.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@245041 91177308-0d34-0410-b5e6-96231b3b80d8
include/clang/AST/StmtOpenMP.h
lib/AST/Stmt.cpp
lib/CodeGen/CGStmtOpenMP.cpp
lib/Sema/SemaOpenMP.cpp
lib/Serialization/ASTReaderStmt.cpp
lib/Serialization/ASTWriterStmt.cpp
test/OpenMP/for_codegen.cpp
test/OpenMP/for_loop_messages.cpp
test/OpenMP/for_simd_loop_messages.cpp
test/OpenMP/parallel_for_loop_messages.cpp
test/OpenMP/parallel_for_simd_loop_messages.cpp