buffet: Fix CLang build issues
While trying to compile buffet with CLang compiler instead of GCC,
there were two breaks: nullptr_t wasn't quialified by std:: namespace
and buffet::internal_details::Buffer was forward-declared as 'struct'
but later defined as a 'class'.
BUG=None
TEST=USE="clang buffet" P2_TEST_FILTER="buffet::*" FEATURES=test emerge-link platform2
Change-Id: Iee253a85eeb49b35929bb0d40107bdcab8263930
Reviewed-on: https://chromium-review.googlesource.com/212300
Tested-by: Alex Vakulenko <avakulenko@chromium.org>
Reviewed-by: Chris Sosa <sosa@chromium.org>
Commit-Queue: Alex Vakulenko <avakulenko@chromium.org>
diff --git a/buffet/any_internal_impl.h b/buffet/any_internal_impl.h
index 5d93200..d875e3b 100644
--- a/buffet/any_internal_impl.h
+++ b/buffet/any_internal_impl.h
@@ -40,7 +40,7 @@
return false;
}
-struct Buffer; // Forward declaration of data buffer container.
+class Buffer; // Forward declaration of data buffer container.
// Abstract base class for contained variant data.
struct Data {
diff --git a/buffet/any_internal_impl_unittest.cc b/buffet/any_internal_impl_unittest.cc
index fbc56fc..8c2fa58 100644
--- a/buffet/any_internal_impl_unittest.cc
+++ b/buffet/any_internal_impl_unittest.cc
@@ -39,7 +39,7 @@
buffer.Assign(nullptr);
EXPECT_FALSE(buffer.IsEmpty());
EXPECT_EQ(Buffer::kContained, buffer.storage_);
- EXPECT_EQ(typeid(nullptr_t), buffer.GetDataPtr()->GetType());
+ EXPECT_EQ(typeid(std::nullptr_t), buffer.GetDataPtr()->GetType());
// char *
buffer.Assign("abcd");