blob: f3b0cb7dd18a5e8320345511a4bc0bfb218fa452 [file] [log] [blame]
Nick Lewycky411fc652012-01-24 21:15:41 +00001// RUN: %clang_cc1 -Wover-aligned %s -isystem %S/Inputs -verify
2
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}