1 | // RUN: %clang_cc1 -triple=x86_64-pc-linux-gnu -Wover-aligned -verify %s |
2 | // expected-no-diagnostics |
3 | |
4 | // This test verifies that we don't warn when the global operator new is |
5 | // overridden. That's why we can't merge this with the other test file. |
6 | |
7 | void* operator new(unsigned long); |
8 | void* operator new[](unsigned long); |
9 | |
10 | struct Test { |
11 | template <typename T> |
12 | struct SeparateCacheLines { |
13 | T data; |
14 | } __attribute__((aligned(256))); |
15 | |
16 | SeparateCacheLines<int> high_contention_data[10]; |
17 | }; |
18 | |
19 | void helper() { |
20 | Test t; |
21 | new Test; |
22 | new Test[10]; |
23 | } |
24 | |