diff options
author | Sebastian Redl <sebastian.redl@getdesigned.at> | 2009-03-16 23:22:08 +0000 |
---|---|---|
committer | Sebastian Redl <sebastian.redl@getdesigned.at> | 2009-03-16 23:22:08 +0000 |
commit | 7c80bd64032e610c0dbd74fc0ef6ea334447f2fd (patch) | |
tree | 063757ae5ba5bc99323c26d4590654ed2f82a1b4 /lib/AST/TypeSerialization.cpp | |
parent | a393e9eedcc28b25f521a4feceb3b56e3d0d360f (diff) |
Almost complete implementation of rvalue references. One bug, and a few unclear areas. Maybe Doug can shed some light on some of the fixmes.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@67059 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/AST/TypeSerialization.cpp')
-rw-r--r-- | lib/AST/TypeSerialization.cpp | 16 |
1 files changed, 12 insertions, 4 deletions
diff --git a/lib/AST/TypeSerialization.cpp b/lib/AST/TypeSerialization.cpp index 1b9fed4866..8498e0123e 100644 --- a/lib/AST/TypeSerialization.cpp +++ b/lib/AST/TypeSerialization.cpp @@ -107,8 +107,12 @@ void Type::Create(ASTContext& Context, unsigned i, Deserializer& D) { D.RegisterPtr(PtrID, BlockPointerType::CreateImpl(Context, D)); break; - case Type::Reference: - D.RegisterPtr(PtrID, ReferenceType::CreateImpl(Context, D)); + case Type::LValueReference: + D.RegisterPtr(PtrID, LValueReferenceType::CreateImpl(Context, D)); + break; + + case Type::RValueReference: + D.RegisterPtr(PtrID, RValueReferenceType::CreateImpl(Context, D)); break; case Type::Record: @@ -261,8 +265,12 @@ void ReferenceType::EmitImpl(Serializer& S) const { S.Emit(getPointeeType()); } -Type* ReferenceType::CreateImpl(ASTContext& Context, Deserializer& D) { - return Context.getReferenceType(QualType::ReadVal(D)).getTypePtr(); +Type* LValueReferenceType::CreateImpl(ASTContext& Context, Deserializer& D) { + return Context.getLValueReferenceType(QualType::ReadVal(D)).getTypePtr(); +} + +Type* RValueReferenceType::CreateImpl(ASTContext& Context, Deserializer& D) { + return Context.getRValueReferenceType(QualType::ReadVal(D)).getTypePtr(); } //===----------------------------------------------------------------------===// |