[OPENMP] Fix PR38903: Crash on instantiation of the non-dependent
authorAlexey Bataev <a.bataev@hotmail.com>
Thu, 13 Sep 2018 16:54:05 +0000 (16:54 +0000)
committerAlexey Bataev <a.bataev@hotmail.com>
Thu, 13 Sep 2018 16:54:05 +0000 (16:54 +0000)
commite6aa4694de2d11fdc3e352a29b1491740bfcb5e5
tree544278f19137d1f2e4d9ceb4011e0b2ea9093fc8
parent939468d4b278a2432df1ed962fe3ba447b3adafe
[OPENMP] Fix PR38903: Crash on instantiation of the non-dependent
declare reduction.

If the declare reduction construct with the non-dependent type is
defined in the template construct, the compiler might crash on the
template instantition. Reworked the whole instantiation scheme for the
declare reduction constructs to fix this problem correctly.

llvm-svn: 342151
clang/include/clang/AST/DeclOpenMP.h
clang/lib/CodeGen/CGOpenMPRuntime.cpp
clang/lib/CodeGen/CGOpenMPRuntime.h
clang/lib/Parse/ParseOpenMP.cpp
clang/lib/Sema/SemaOpenMP.cpp
clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
clang/lib/Serialization/ASTReaderDecl.cpp
clang/lib/Serialization/ASTWriterDecl.cpp
clang/test/OpenMP/declare_reduction_messages.cpp