diff options
| author | Alexey Bataev <a.bataev@hotmail.com> | 2019-12-20 11:04:57 -0500 |
|---|---|---|
| committer | Alexey Bataev <a.bataev@hotmail.com> | 2019-12-24 12:22:05 -0500 |
| commit | 93dc40dddde40cff2f54b68c66abb00927cdbcea (patch) | |
| tree | b63973cdc9636d337fb7dee48d9ec1fd4b633b34 /clang/lib/Serialization | |
| parent | 0d47399167eee87711f5c93a3f36801c7b6a6774 (diff) | |
| download | bcm5719-llvm-93dc40dddde40cff2f54b68c66abb00927cdbcea.tar.gz bcm5719-llvm-93dc40dddde40cff2f54b68c66abb00927cdbcea.zip | |
[OPENMP50]Basic support for conditional lastprivate.
Added parsing/sema checks for conditional lastprivates.
Diffstat (limited to 'clang/lib/Serialization')
| -rw-r--r-- | clang/lib/Serialization/ASTReader.cpp | 4 | ||||
| -rw-r--r-- | clang/lib/Serialization/ASTWriter.cpp | 3 |
2 files changed, 7 insertions, 0 deletions
diff --git a/clang/lib/Serialization/ASTReader.cpp b/clang/lib/Serialization/ASTReader.cpp index 032ce888969..258db0ddec8 100644 --- a/clang/lib/Serialization/ASTReader.cpp +++ b/clang/lib/Serialization/ASTReader.cpp @@ -10,6 +10,7 @@ // //===----------------------------------------------------------------------===// +#include "clang/Basic/OpenMPKinds.h" #include "clang/Serialization/ASTRecordReader.h" #include "ASTCommon.h" #include "ASTReaderInternals.h" @@ -11878,6 +11879,9 @@ void OMPClauseReader::VisitOMPFirstprivateClause(OMPFirstprivateClause *C) { void OMPClauseReader::VisitOMPLastprivateClause(OMPLastprivateClause *C) { VisitOMPClauseWithPostUpdate(C); C->setLParenLoc(Record.readSourceLocation()); + C->setKind(Record.readEnum<OpenMPLastprivateModifier>()); + C->setKindLoc(Record.readSourceLocation()); + C->setColonLoc(Record.readSourceLocation()); unsigned NumVars = C->varlist_size(); SmallVector<Expr *, 16> Vars; Vars.reserve(NumVars); diff --git a/clang/lib/Serialization/ASTWriter.cpp b/clang/lib/Serialization/ASTWriter.cpp index 2e2ce0e875d..5fe0f24c255 100644 --- a/clang/lib/Serialization/ASTWriter.cpp +++ b/clang/lib/Serialization/ASTWriter.cpp @@ -6170,6 +6170,9 @@ void OMPClauseWriter::VisitOMPLastprivateClause(OMPLastprivateClause *C) { Record.push_back(C->varlist_size()); VisitOMPClauseWithPostUpdate(C); Record.AddSourceLocation(C->getLParenLoc()); + Record.writeEnum(C->getKind()); + Record.AddSourceLocation(C->getKindLoc()); + Record.AddSourceLocation(C->getColonLoc()); for (auto *VE : C->varlists()) Record.AddStmt(VE); for (auto *E : C->private_copies()) |

