Index: net/quic/platform/impl/quic_aligned_impl.h |
diff --git a/net/quic/platform/impl/quic_aligned_impl.h b/net/quic/platform/impl/quic_aligned_impl.h |
new file mode 100644 |
index 0000000000000000000000000000000000000000..eec157cb4833f8f0a9a9a34fd5b424f98bf8ad56 |
--- /dev/null |
+++ b/net/quic/platform/impl/quic_aligned_impl.h |
@@ -0,0 +1,22 @@ |
+// Copyright 2016 The Chromium Authors. All rights reserved. |
+// Use of this source code is governed by a BSD-style license that can be |
+// found in the LICENSE file. |
+ |
+#ifndef NET_QUIC_PLATFORM_IMPL_QUIC_ALIGNED_IMPL_H_ |
+#define NET_QUIC_PLATFORM_IMPL_QUIC_ALIGNED_IMPL_H_ |
+ |
+#ifdef _MSC_VER |
+// MSVC 2013 and prior don't have alignof or aligned(); they have __alignof and |
+// a __declspec instead. |
+#define QUIC_ALIGN_OF_IMPL __alignof |
+#define QUIC_ALIGNED_IMPL(X) __declspec(align(X)) |
+#else |
+#define QUIC_ALIGN_OF_IMPL alignof |
+#define QUIC_ALIGNED_IMPL(X) __attribute__((aligned(X))) |
+#endif // _MSC_VER |
+ |
+// TODO(rtenneti): Change the default 64 alignas value (used the default |
+// value from CACHELINE_SIZE). |
+#define QUIC_CACHELINE_ALIGNED_IMPL ALIGNAS(64) |
+ |
+#endif // NET_QUIC_PLATFORM_IMPL_QUIC_ALIGNED_IMPL_H_ |