// RUN: %clang_cc1 -triple=x86_64-pc-linux-gnu -Wover-aligned %s -isystem %S/Inputs -verify
// This test ensures that we still get the warning even if we #include <new>
// where the header here simulates <new>.
#include<warn-new-overaligned-3.h>namespacetest1{structTest{template<typename T>structSeparateCacheLines{T data;}__attribute__((aligned(256)));
SeparateCacheLines<int> high_contention_data[10];};voidhelper(){
Test t;new Test;// expected-warning {{type 'test1::Test' requires 256 bytes of alignment and the default allocator only guarantees}}
new Test[10];// expected-warning {{type 'test1::Test' requires 256 bytes of alignment and the default allocator only guarantees}}
}}namespacetest2{structhelper{int i __attribute__((aligned(256)));};structPlacement{Placement(){new(d)helper();}
helper *d;};}