1*d1c5dc47SRobert Mustacchi /* 2*d1c5dc47SRobert Mustacchi * This file and its contents are supplied under the terms of the 3*d1c5dc47SRobert Mustacchi * Common Development and Distribution License ("CDDL"), version 1.0. 4*d1c5dc47SRobert Mustacchi * You may only use this file in accordance with the terms of version 5*d1c5dc47SRobert Mustacchi * 1.0 of the CDDL. 6*d1c5dc47SRobert Mustacchi * 7*d1c5dc47SRobert Mustacchi * A full copy of the text of the CDDL should have accompanied this 8*d1c5dc47SRobert Mustacchi * source. A copy of the CDDL is also available via the Internet at 9*d1c5dc47SRobert Mustacchi * http://www.illumos.org/license/CDDL. 10*d1c5dc47SRobert Mustacchi */ 11*d1c5dc47SRobert Mustacchi 12*d1c5dc47SRobert Mustacchi /* 13*d1c5dc47SRobert Mustacchi * Copyright 2016 Joyent, Inc. 14*d1c5dc47SRobert Mustacchi */ 15*d1c5dc47SRobert Mustacchi 16*d1c5dc47SRobert Mustacchi /* 17*d1c5dc47SRobert Mustacchi * An application should not include this header directly. Instead it 18*d1c5dc47SRobert Mustacchi * should be included only through the inclusion of other illumos headers. 19*d1c5dc47SRobert Mustacchi * 20*d1c5dc47SRobert Mustacchi * The contents of this header is limited to identifiers specified in 21*d1c5dc47SRobert Mustacchi * the C11 standard and in conflict with the C++ implementation of the 22*d1c5dc47SRobert Mustacchi * standard header. The C++ standard may adopt the C11 standard at 23*d1c5dc47SRobert Mustacchi * which point it is expected that the symbols included here will 24*d1c5dc47SRobert Mustacchi * become part of the C++ std namespace. 25*d1c5dc47SRobert Mustacchi */ 26*d1c5dc47SRobert Mustacchi 27*d1c5dc47SRobert Mustacchi #ifndef _ISO_STDLIB_C11_H 28*d1c5dc47SRobert Mustacchi #define _ISO_STDLIB_C11_H 29*d1c5dc47SRobert Mustacchi 30*d1c5dc47SRobert Mustacchi #include <sys/feature_tests.h> 31*d1c5dc47SRobert Mustacchi 32*d1c5dc47SRobert Mustacchi #ifdef __cplusplus 33*d1c5dc47SRobert Mustacchi extern "C" { 34*d1c5dc47SRobert Mustacchi #endif 35*d1c5dc47SRobert Mustacchi 36*d1c5dc47SRobert Mustacchi #if __cplusplus >= 199711L 37*d1c5dc47SRobert Mustacchi namespace std { 38*d1c5dc47SRobert Mustacchi #endif 39*d1c5dc47SRobert Mustacchi 40*d1c5dc47SRobert Mustacchi /* 41*d1c5dc47SRobert Mustacchi * The following have been added as a result of the ISO/IEC 9899:2011 42*d1c5dc47SRobert Mustacchi * standard. For a strictly conforming C application, visibility is 43*d1c5dc47SRobert Mustacchi * contingent on the value of __STDC_VERSION__ (see sys/feature_tests.h). 44*d1c5dc47SRobert Mustacchi * For non-strictly conforming C applications, there are no restrictions 45*d1c5dc47SRobert Mustacchi * on the C namespace. 46*d1c5dc47SRobert Mustacchi */ 47*d1c5dc47SRobert Mustacchi 48*d1c5dc47SRobert Mustacchi /* 49*d1c5dc47SRobert Mustacchi * Work around fix-includes and other bad actors with using multiple headers. 50*d1c5dc47SRobert Mustacchi */ 51*d1c5dc47SRobert Mustacchi #if !defined(_NORETURN_KYWD) 52*d1c5dc47SRobert Mustacchi #if __STDC_VERSION__ - 0 >= 201112L 53*d1c5dc47SRobert Mustacchi #define _NORETURN_KYWD _Noreturn 54*d1c5dc47SRobert Mustacchi #else 55*d1c5dc47SRobert Mustacchi #define _NORETURN_KYWD 56*d1c5dc47SRobert Mustacchi #endif /* __STDC_VERSION__ - 0 >= 201112L */ 57*d1c5dc47SRobert Mustacchi #endif /* !defined(_NORETURN_KYWD) */ 58*d1c5dc47SRobert Mustacchi 59*d1c5dc47SRobert Mustacchi #if !defined(_STRICT_SYMBOLS) || defined(_STDC_C11) 60*d1c5dc47SRobert Mustacchi extern void *aligned_alloc(size_t, size_t); 61*d1c5dc47SRobert Mustacchi extern int at_quick_exit(void (*)(void)); 62*d1c5dc47SRobert Mustacchi extern _NORETURN_KYWD void quick_exit(int); 63*d1c5dc47SRobert Mustacchi #endif /* !_STRICT_SYMBOLS || _STDC_C11 */ 64*d1c5dc47SRobert Mustacchi 65*d1c5dc47SRobert Mustacchi #if __cplusplus >= 199711L 66*d1c5dc47SRobert Mustacchi } 67*d1c5dc47SRobert Mustacchi #endif 68*d1c5dc47SRobert Mustacchi 69*d1c5dc47SRobert Mustacchi #ifdef __cplusplus 70*d1c5dc47SRobert Mustacchi } 71*d1c5dc47SRobert Mustacchi #endif 72*d1c5dc47SRobert Mustacchi 73*d1c5dc47SRobert Mustacchi #endif /* _ISO_STDLIB_C11_H */ 74