[OPENMP] Additional processing of 'omp atomic read' directive.
authorAlexey Bataev <a.bataev@hotmail.com>
Tue, 18 Nov 2014 10:14:22 +0000 (10:14 +0000)
committerAlexey Bataev <a.bataev@hotmail.com>
Tue, 18 Nov 2014 10:14:22 +0000 (10:14 +0000)
commit62cec44ca45121206d611722f98b109ecbd6e11d
tree55066140d95e462f0a67a0336f8ebd7b399eef67
parent6fdb6b8fd4e18c0741a839a11d7dee7077bc7505
[OPENMP] Additional processing of 'omp atomic read' directive.
According to OpenMP standard, Section 2.12.6, atomic Construct, '#pragma omp atomic read' is allowed to be used only for expression statements of form 'v = x;', where x and v (as applicable) are both l-value expressions with scalar type. Patch adds checks for it.

llvm-svn: 222231
clang/include/clang/AST/StmtOpenMP.h
clang/include/clang/Basic/DiagnosticSemaKinds.td
clang/lib/AST/Stmt.cpp
clang/lib/Sema/SemaOpenMP.cpp
clang/lib/Serialization/ASTReaderStmt.cpp
clang/lib/Serialization/ASTWriterStmt.cpp
clang/test/OpenMP/atomic_messages.c [new file with mode: 0644]
clang/test/OpenMP/atomic_messages.cpp