xref: /freebsd/contrib/llvm-project/clang/lib/Headers/__stddef_unreachable.h (revision dfa39133b333f57ca3133bf6c71cd75be4c3e801)
1 /*===---- __stddef_unreachable.h - Definition of unreachable ---------------===
2  *
3  * Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4  * See https://llvm.org/LICENSE.txt for license information.
5  * SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6  *
7  *===-----------------------------------------------------------------------===
8  */
9 
10 #ifndef __cplusplus
11 
12 /*
13  * When -fbuiltin-headers-in-system-modules is set this is a non-modular header
14  * and needs to behave as if it was textual.
15  */
16 #if !defined(unreachable) ||                                                   \
17     (__has_feature(modules) && !__building_module(_Builtin_stddef))
18 #define unreachable() __builtin_unreachable()
19 #endif
20 
21 #endif
22