Index: base/memory/aligned_memory_unittest.cc |
diff --git a/base/memory/aligned_memory_unittest.cc b/base/memory/aligned_memory_unittest.cc |
index 065e9522a9853ba5bb42f68509214255f2d34211..4532305b61431dcf1bb143ffd143ce73334e5c6d 100644 |
--- a/base/memory/aligned_memory_unittest.cc |
+++ b/base/memory/aligned_memory_unittest.cc |
@@ -3,7 +3,6 @@ |
// found in the LICENSE file. |
#include "base/memory/aligned_memory.h" |
-#include "base/memory/scoped_ptr.h" |
#include "testing/gtest/include/gtest/gtest.h" |
#define EXPECT_ALIGNED(ptr, align) \ |
@@ -15,9 +14,9 @@ using base::AlignedMemory; |
TEST(AlignedMemoryTest, StaticAlignment) { |
static AlignedMemory<8, 8> raw8; |
- static AlignedMemory<8, 16> raw16; |
- static AlignedMemory<8, 256> raw256; |
- static AlignedMemory<8, 4096> raw4096; |
+ static AlignedMemory<16, 8> raw16; |
+ static AlignedMemory<256, 8> raw256; |
+ static AlignedMemory<4096, 8> raw4096; |
EXPECT_EQ(8u, ALIGNOF(raw8)); |
EXPECT_EQ(16u, ALIGNOF(raw16)); |
@@ -32,9 +31,9 @@ TEST(AlignedMemoryTest, StaticAlignment) { |
TEST(AlignedMemoryTest, StackAlignment) { |
AlignedMemory<8, 8> raw8; |
- AlignedMemory<8, 16> raw16; |
- AlignedMemory<8, 256> raw256; |
- AlignedMemory<8, 4096> raw4096; |
+ AlignedMemory<16, 8> raw16; |
+ AlignedMemory<256, 8> raw256; |
+ AlignedMemory<4096, 8> raw4096; |
EXPECT_EQ(8u, ALIGNOF(raw8)); |
EXPECT_EQ(16u, ALIGNOF(raw16)); |
@@ -47,4 +46,26 @@ TEST(AlignedMemoryTest, StackAlignment) { |
EXPECT_ALIGNED(raw4096.void_data(), 4096); |
} |
+TEST(AlignedMemoryTest, StackDynamicAllocation) { |
+#if !defined(ARCH_CPU_64_BITS) || defined(OS_NACL) |
+ AlignedMemory<4> raw4(8); |
+ EXPECT_TRUE(raw4.void_data()); |
+ EXPECT_ALIGNED(raw4.void_data(), 4); |
+#endif |
+ |
+ AlignedMemory<8> raw8(8); |
+ AlignedMemory<16> raw16(8); |
+ AlignedMemory<256> raw256(8); |
+ AlignedMemory<4096> raw4096(8); |
+ |
+ EXPECT_TRUE(raw8.void_data()); |
+ EXPECT_ALIGNED(raw8.void_data(), 8); |
+ EXPECT_TRUE(raw16.void_data()); |
+ EXPECT_ALIGNED(raw16.void_data(), 16); |
+ EXPECT_TRUE(raw256.void_data()); |
+ EXPECT_ALIGNED(raw256.void_data(), 256); |
+ EXPECT_TRUE(raw4096.void_data()); |
+ EXPECT_ALIGNED(raw4096.void_data(), 4096); |
+} |
+ |
} // namespace |