Revert "protobuf: work around a static analyzer bug" am: 2759c3c848 am: 4c69e012ac
am: 52c0200b5d

Change-Id: Ie4bbb17d580de7c0f752a61737ab10b55905b6ae
diff --git a/src/google/protobuf/metadata.h b/src/google/protobuf/metadata.h
index 550e071..fdee150 100644
--- a/src/google/protobuf/metadata.h
+++ b/src/google/protobuf/metadata.h
@@ -145,11 +145,8 @@
   GOOGLE_ATTRIBUTE_NOINLINE UnknownFieldSet* mutable_unknown_fields_slow() {
     Arena* my_arena = arena();
     Container* container = Arena::Create<Container>(my_arena);
-    // Two-step assignment works around a bug in clang's static analyzer:
-    // https://bugs.llvm.org/show_bug.cgi?id=34198.
-    ptr_ = container;
     ptr_ = reinterpret_cast<void*>(
-        reinterpret_cast<intptr_t>(ptr_) | kTagContainer);
+        reinterpret_cast<intptr_t>(container) | kTagContainer);
     container->arena_ = my_arena;
     return &(container->unknown_fields_);
   }