/*
- * Copyright 2012 Facebook, Inc.
+ * Copyright 2014 Facebook, Inc.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* limitations under the License.
*/
-#include "folly/PackedSyncPtr.h"
+#include <folly/PackedSyncPtr.h>
#include <cinttypes>
#include <gtest/gtest.h>
// Compile time check for packability. This requires that
// PackedSyncPtr is a POD struct on gcc.
-struct ignore { PackedSyncPtr<int> foo; char c; } __attribute__((packed));
+FOLLY_PACK_PUSH
+struct ignore { PackedSyncPtr<int> foo; char c; } FOLLY_PACK_ATTR;
+FOLLY_PACK_POP
static_assert(sizeof(ignore) == 9, "PackedSyncPtr wasn't packable");
}
sp.setExtra(0x13);
EXPECT_EQ(sp.extra(), 0x13);
EXPECT_EQ((sp.get() + 1)->second, 7);
- delete sp.get();
+ delete[] sp.get();
auto newP = new std::pair<int,int>();
sp.set(newP);
EXPECT_EQ(sp.extra(), 0x13);