1*fcf107d4SArtem Dergachev //RUN: %clang_analyze_cc1 -std=c++17 -analyze -analyzer-checker=core -verify %s 2*fcf107d4SArtem Dergachev 3*fcf107d4SArtem Dergachev // expected-no-diagnostics 4*fcf107d4SArtem Dergachev 5*fcf107d4SArtem Dergachev // Notice the weird alignment. 6*fcf107d4SArtem Dergachev struct alignas(1024) S {}; 7*fcf107d4SArtem Dergachev foo()8*fcf107d4SArtem Dergachevvoid foo() { 9*fcf107d4SArtem Dergachev // Operator new() here is the C++17 aligned new that takes two arguments: 10*fcf107d4SArtem Dergachev // size and alignment. Size is passed implicitly as usual, and alignment 11*fcf107d4SArtem Dergachev // is passed implicitly in a similar manner. 12*fcf107d4SArtem Dergachev S *s = new S; // no-warning 13*fcf107d4SArtem Dergachev delete s; 14*fcf107d4SArtem Dergachev } 15