1 #define NULL ((void*)0) 2 3 extern int print(const char *msg, ...); 4 5 int foo(const char *fmt, int a, long l, int *p); 6 int foo(const char *fmt, int a, long l, int *p) 7 { 8 return print(fmt, 'x', a, __LINE__, l, 0L, p, NULL); 9 } 10 11 /* 12 * check-name: call-variadic 13 * check-command: sparse-llvm-dis -m64 $file 14 * 15 * check-output-start 16 ; ModuleID = '<stdin>' 17 source_filename = "sparse" 18 19 define i32 @foo(i8* %ARG1., i32 %ARG2., i64 %ARG3., i32* %ARG4.) { 20 L0: 21 %R5. = call i32 (i8*, ...) @print(i8* %ARG1., i32 120, i32 %ARG2., i32 8, i64 %ARG3., i64 0, i32* %ARG4., i8* null) 22 ret i32 %R5. 23 } 24 25 declare i32 @print(i8*, ...) 26 * check-output-end 27 */