mirror of
https://github.com/zeldaret/ph
synced 2026-06-08 12:17:17 -04:00
25 lines
617 B
C++
25 lines
617 B
C++
#ifndef _C_STDARG_H
|
|
#define _C_STDARG_H
|
|
|
|
extern "C" {
|
|
typedef char* va_list;
|
|
|
|
#define __std(ref) ::std::ref
|
|
#define __fourbytealign(n) ((((unsigned long)(n)) + 3U) & ~3U)
|
|
#define __va_start(parm) ((__std(va_list)) ((char *)((unsigned long)(&parm) & ~3U) + __fourbytealign(sizeof(parm))))
|
|
|
|
#define va_start(ap, parm) ((ap) = __va_start(parm))
|
|
#define va_arg(ap, type) (*(type *)((ap += __fourbytealign(sizeof(type))) - __fourbytealign(sizeof(type))))
|
|
#define va_end(ap) ((void)0)
|
|
}
|
|
|
|
#if defined(__cplusplus)
|
|
namespace std {
|
|
using ::va_list;
|
|
};
|
|
|
|
using std::va_list;
|
|
#endif
|
|
|
|
#endif
|