diff options
Diffstat (limited to 'clang/lib/Serialization/ASTReader.cpp')
-rw-r--r-- | clang/lib/Serialization/ASTReader.cpp | 15 |
1 files changed, 13 insertions, 2 deletions
diff --git a/clang/lib/Serialization/ASTReader.cpp b/clang/lib/Serialization/ASTReader.cpp index 35065d0fc1e..f97571b7e80 100644 --- a/clang/lib/Serialization/ASTReader.cpp +++ b/clang/lib/Serialization/ASTReader.cpp @@ -5793,7 +5793,7 @@ QualType ASTReader::readTypeRecord(unsigned Index) { return Context.getAtomicType(ValueType); } - case TYPE_PIPE: { + case TYPE_READ_PIPE: { if (Record.size() != 1) { Error("Incorrect encoding of pipe type"); return QualType(); @@ -5801,7 +5801,18 @@ QualType ASTReader::readTypeRecord(unsigned Index) { // Reading the pipe element type. QualType ElementType = readType(*Loc.F, Record, Idx); - return Context.getPipeType(ElementType); + return Context.getReadPipeType(ElementType); + } + + case TYPE_WRITE_PIPE: { + if (Record.size() != 1) { + Error("Incorrect encoding of pipe type"); + return QualType(); + } + + // Reading the pipe element type. + QualType ElementType = readType(*Loc.F, Record, Idx); + return Context.getWritePipeType(ElementType); } } llvm_unreachable("Invalid TypeCode!"); |