15a83710eSEric Fiselier //===----------------------------------------------------------------------===//
25a83710eSEric Fiselier //
357b08b09SChandler Carruth // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
457b08b09SChandler Carruth // See https://llvm.org/LICENSE.txt for license information.
557b08b09SChandler Carruth // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
65a83710eSEric Fiselier //
75a83710eSEric Fiselier //===----------------------------------------------------------------------===//
8ed7c81d1SLouis Dionne 
931cbe0f2SLouis Dionne // UNSUPPORTED: c++03
105a83710eSEric Fiselier 
11ed7c81d1SLouis Dionne // ::quick_exit and ::at_quick_exit are not implemented on macOS.
12ed7c81d1SLouis Dionne // TODO: We should never be using `darwin` as the triple, but LLVM's config.guess script
13ed7c81d1SLouis Dionne //       guesses the host triple to be darwin instead of macosx when on macOS.
14*e8118e6cSLouis Dionne // XFAIL: target={{.+}}-apple-macos{{.*}}
15ed7c81d1SLouis Dionne // XFAIL: target={{.+}}-apple-darwin{{.+}}
16ed7c81d1SLouis Dionne 
175a83710eSEric Fiselier // test quick_exit and at_quick_exit
185a83710eSEric Fiselier 
195a83710eSEric Fiselier #include <cstdlib>
205a83710eSEric Fiselier 
f()215a83710eSEric Fiselier void f() {}
225a83710eSEric Fiselier 
main(int,char **)23ed7c81d1SLouis Dionne int main(int, char**) {
245a83710eSEric Fiselier     std::at_quick_exit(f);
255a83710eSEric Fiselier     std::quick_exit(0);
262df59c50SJF Bastien     return 0;
275a83710eSEric Fiselier }
28