1 // RUN: %clang_cc1 -triple %itanium_abi_triple -emit-llvm %s -o %t
3 // Note-LABEL: define CLANG_GENERATE_KNOWN_GOOD and compile to generate code
4 // that makes all of the defaulted arguments explicit. The resulting
5 // byte code should be identical to the compilation without
6 // CLANG_GENERATE_KNOWN_GOOD.
7 #ifdef CLANG_GENERATE_KNOWN_GOOD
8 # define DEFARG(...) __VA_ARGS__
14 struct S
{ float x
; float y
; } s
;
17 void f(int i
= 0, int j
= 1, int k
= x
, struct S t
= s
, double _Complex d
= c
);
20 f(0, 1, x
, s
DEFARG(, c
));
21 f(0, 1, x
DEFARG(, s
, c
));
22 f(0, 1 DEFARG(, x
, s
, c
));
23 f(0 DEFARG(, 1, x
, s
, c
));
24 f(DEFARG(0, 1, x
, s
, c
));