60 lines · plain
1// -*- C++ -*-2//===----------------------------------------------------------------------===//3//4// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.5// See https://llvm.org/LICENSE.txt for license information.6// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception7//8//===----------------------------------------------------------------------===//9 10#ifndef _LIBCPP_CSTDARG11#define _LIBCPP_CSTDARG12 13/*14 cstdarg synopsis15 16Macros:17 18 type va_arg(va_list ap, type);19 void va_copy(va_list dest, va_list src); // C9920 void va_end(va_list ap);21 void va_start(va_list ap, parmN);22 23namespace std24{25 26Types:27 28 va_list29 30} // std31 32*/33 34#if __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)35# include <__cxx03/cstdarg>36#else37# include <__config>38 39// <stdarg.h> is not provided by libc++40# if __has_include(<stdarg.h>)41# include <stdarg.h>42# ifdef _LIBCPP_STDARG_H43# error "If libc++ starts defining <stdarg.h>, the __has_include check should move to libc++'s <stdarg.h>"44# endif45# endif46 47# if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)48# pragma GCC system_header49# endif50 51_LIBCPP_BEGIN_NAMESPACE_STD52 53using ::va_list _LIBCPP_USING_IF_EXISTS;54 55_LIBCPP_END_NAMESPACE_STD56 57#endif // __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)58 59#endif // _LIBCPP_CSTDARG60