Software APIs
sw
device
lib
base
freestanding
stdarg.h
Go to the documentation of this file.
1
// Copyright lowRISC contributors (OpenTitan project).
2
// Licensed under the Apache License, Version 2.0, see LICENSE for details.
3
// SPDX-License-Identifier: Apache-2.0
4
5
#ifndef OPENTITAN_SW_DEVICE_LIB_BASE_FREESTANDING_STDARG_H_
6
#define OPENTITAN_SW_DEVICE_LIB_BASE_FREESTANDING_STDARG_H_
7
8
/**
9
* @file
10
* @brief C library Variable arguments (Freestanding)
11
*
12
* This header implements the stdarg.h standard header, as required by C11 S4p6.
13
* This header is specified in detail in S7.16.
14
*
15
* The compiler intrinsics below are cribbed from
16
* https://clang.llvm.org/doxygen/stdarg_8h_source.html
17
*/
18
19
typedef
__builtin_va_list va_list;
20
#define va_start(ap, param) \
21
__builtin_va_start(ap, param)
/**< @hideinitializer */
22
#define va_end(ap) __builtin_va_end(ap)
/**< @hideinitializer */
23
#define va_arg(ap, type) __builtin_va_arg(ap, type)
/**< @hideinitializer */
24
#define va_copy(dst, src) __builtin_va_copy(dst, src)
/**< @hideinitializer */
25
26
#endif // OPENTITAN_SW_DEVICE_LIB_BASE_FREESTANDING_STDARG_H_
Return to
OpenTitan Documentation