1*7a6aaf9bSLouis Dionne //===----------------------------------------------------------------------===// 2*7a6aaf9bSLouis Dionne // 3*7a6aaf9bSLouis Dionne // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. 4*7a6aaf9bSLouis Dionne // See https://llvm.org/LICENSE.txt for license information. 5*7a6aaf9bSLouis Dionne // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception 6*7a6aaf9bSLouis Dionne // 7*7a6aaf9bSLouis Dionne //===----------------------------------------------------------------------===// 8*7a6aaf9bSLouis Dionne 9*7a6aaf9bSLouis Dionne // <memory> 10*7a6aaf9bSLouis Dionne 11*7a6aaf9bSLouis Dionne // default_delete 12*7a6aaf9bSLouis Dionne 13*7a6aaf9bSLouis Dionne // Test that default_delete's operator() requires a complete type 14*7a6aaf9bSLouis Dionne 15*7a6aaf9bSLouis Dionne #include <memory> 16*7a6aaf9bSLouis Dionne #include <cassert> 17*7a6aaf9bSLouis Dionne main(int,char **)18*7a6aaf9bSLouis Dionneint main(int, char**) 19*7a6aaf9bSLouis Dionne { 20*7a6aaf9bSLouis Dionne std::default_delete<const void> d; 21*7a6aaf9bSLouis Dionne const void* p = 0; 22*7a6aaf9bSLouis Dionne d(p); 23*7a6aaf9bSLouis Dionne 24*7a6aaf9bSLouis Dionne return 0; 25*7a6aaf9bSLouis Dionne } 26