aboutsummaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
Diffstat (limited to 'lib')
-rw-r--r--lib/AST/DeclBase.cpp6
-rw-r--r--lib/AST/DeclSerialization.cpp8
2 files changed, 5 insertions, 9 deletions
diff --git a/lib/AST/DeclBase.cpp b/lib/AST/DeclBase.cpp
index 9ab269d305..d45ad4177c 100644
--- a/lib/AST/DeclBase.cpp
+++ b/lib/AST/DeclBase.cpp
@@ -129,8 +129,7 @@ void Decl::setDeclContext(DeclContext *DC) {
if (isOutOfSemaDC())
delete getMultipleDC();
- DeclCtx.setPointer(DC);
- DeclCtx.setInt(false);
+ DeclCtx = DC;
}
void Decl::setLexicalDeclContext(DeclContext *DC) {
@@ -141,8 +140,7 @@ void Decl::setLexicalDeclContext(DeclContext *DC) {
MultipleDC *MDC = new MultipleDC();
MDC->SemanticDC = getDeclContext();
MDC->LexicalDC = DC;
- DeclCtx.setPointer(reinterpret_cast<DeclContext*>(MDC));
- DeclCtx.setInt(true);
+ DeclCtx = MDC;
} else {
getMultipleDC()->LexicalDC = DC;
}
diff --git a/lib/AST/DeclSerialization.cpp b/lib/AST/DeclSerialization.cpp
index 965874502d..8e3ef08d2c 100644
--- a/lib/AST/DeclSerialization.cpp
+++ b/lib/AST/DeclSerialization.cpp
@@ -135,12 +135,10 @@ Decl* Decl::Create(Deserializer& D, ASTContext& C) {
// *object* for back-patching. Its actual value will get filled in later.
uintptr_t X;
D.ReadUIntPtr(X, SemaDCPtrID);
- Dcl->DeclCtx.setFromOpaqueValue(reinterpret_cast<void*>(X));
- }
- else {
+ Dcl->DeclCtx = reinterpret_cast<DeclContext*>(X);
+ } else {
MultipleDC *MDC = new MultipleDC();
- Dcl->DeclCtx.setPointer(reinterpret_cast<DeclContext*>(MDC));
- Dcl->DeclCtx.setInt(true);
+ Dcl->DeclCtx = MDC;
// Allow back-patching. Observe that we register the variable of the
// *object* for back-patching. Its actual value will get filled in later.
D.ReadPtr(MDC->SemanticDC, SemaDCPtrID);