mirror of
https://github.com/dlang/dmd.git
synced 2025-04-26 05:00:16 +03:00
40 lines
615 B
D
40 lines
615 B
D
/* RUN_OUTPUT:
|
|
---
|
|
value: -5
|
|
value: -5
|
|
---
|
|
*/
|
|
|
|
// https://issues.dlang.org/show_bug.cgi?id=21506
|
|
|
|
import core.stdc.stdio;
|
|
import core.stdc.stdarg;
|
|
|
|
extern(C++)
|
|
{
|
|
|
|
void print(long a, va_list args){
|
|
vprintf("value: %d\n", args);
|
|
}
|
|
void proxy0(long a, long b, long c, long d, bool e, ...){
|
|
va_list ap;
|
|
va_start(ap, e);
|
|
print(a, ap);
|
|
va_end(ap);
|
|
// print(a, _argptr);
|
|
}
|
|
void proxy1(long d, bool e, ...){
|
|
va_list ap;
|
|
va_start(ap, e);
|
|
print(d, ap);
|
|
va_end(ap);
|
|
// print(d, _argptr);
|
|
}
|
|
|
|
}
|
|
|
|
void main(){
|
|
int var = -5;
|
|
proxy0(1, 2, 3, 4, true, var);
|
|
proxy1(4, true, var);
|
|
}
|