blob: 783c03ec5688bdd1edf7b1e6951e5111c74d1cf8 [file] [log] [blame]
Nick Lewycky3c1c7952012-01-24 21:28:47 +00001// RUN: %clang_cc1 -triple=x86_64-pc-linux-gnu -Wover-aligned %s -isystem %S/Inputs -verify
Nick Lewycky411fc652012-01-24 21:15:41 +00002
3// This test ensures that we still get the warning even if we #include <new>
4// where the header here simulates <new>.
5#include <warn-new-overaligned-3.h>
6
7struct Test {
8 template <typename T>
9 struct SeparateCacheLines {
10 T data;
11 } __attribute__((aligned(256)));
12
13 SeparateCacheLines<int> high_contention_data[10];
14};
15
16void helper() {
17 Test t;
18 new Test; // expected-warning {{type 'Test' requires 256 bytes of alignment and the default allocator only guarantees}}
19 new Test[10]; // expected-warning {{type 'Test' requires 256 bytes of alignment and the default allocator only guarantees}}
20}