36 lines
1.4 KiB
Markdown
36 lines
1.4 KiB
Markdown
[cstdarg.syn]
|
||
|
||
# 17 Language support library [[support]](./#support)
|
||
|
||
## 17.14 Other runtime support [[support.runtime]](support.runtime#cstdarg.syn)
|
||
|
||
### 17.14.2 Header <cstdarg> synopsis [cstdarg.syn]
|
||
|
||
[ð](#header:%3ccstdarg%3e)
|
||
|
||
// all freestanding#define __STDC_VERSION_STDARG_H__ 202311Lnamespace std {using [va_list](#lib:va_list "17.14.2 Header <cstdarg> synopsis [cstdarg.syn]") = *see below*;}#define va_arg(V, P) *see below*#define va_copy(VDST, VSRC) *see below*#define va_end(V) *see below*#define va_start(V, ...) *see below*
|
||
|
||
[1](#1)
|
||
|
||
[#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/support.tex#L6396)
|
||
|
||
The contents of the header <cstdarg> are the same as the C
|
||
standard library header [<stdarg.h>](support.c.headers.general#header:%3cstdarg.h%3e "17.15.1 General [support.c.headers.general]"), with the following changes:
|
||
|
||
- [(1.1)](#1.1)
|
||
|
||
In lieu of the default argument promotions specified in ISO/IEC 9899:2024 6.5.2.2,
|
||
the definition in [[expr.call]](expr.call "7.6.1.3 Function call") applies[.](#1.1.sentence-1)
|
||
|
||
- [(1.2)](#1.2)
|
||
|
||
The preprocessing tokens
|
||
comprising the second and subsequent arguments to va_start (if any)
|
||
are discarded[.](#1.2.sentence-1)
|
||
[*Note [1](#note-1)*:
|
||
va_start accepts a second argument
|
||
for compatibility with prior revisions of C++[.](#1.2.sentence-2)
|
||
â *end note*]
|
||
|
||
See also: ISO/IEC 9899:2024, 7.16
|