1*87aa9c9eSJonas Devlieghere
2*87aa9c9eSJonas Devlieghere // Global functions
Func_arg_array(int array[])3*87aa9c9eSJonas Devlieghere int Func_arg_array(int array[]) { return 1; }
Func_arg_void(void)4*87aa9c9eSJonas Devlieghere void Func_arg_void(void) { return; }
Func_arg_none(void)5*87aa9c9eSJonas Devlieghere void Func_arg_none(void) { return; }
Func_varargs(...)6*87aa9c9eSJonas Devlieghere void Func_varargs(...) { return; }
7*87aa9c9eSJonas Devlieghere
8*87aa9c9eSJonas Devlieghere // Class
9*87aa9c9eSJonas Devlieghere namespace MemberTest {
10*87aa9c9eSJonas Devlieghere class A {
11*87aa9c9eSJonas Devlieghere public:
Func(int a,...)12*87aa9c9eSJonas Devlieghere int Func(int a, ...) { return 1; }
13*87aa9c9eSJonas Devlieghere };
14*87aa9c9eSJonas Devlieghere }
15*87aa9c9eSJonas Devlieghere
16*87aa9c9eSJonas Devlieghere // Template
17*87aa9c9eSJonas Devlieghere template <int N=1, class ...T>
TemplateFunc(T...Arg)18*87aa9c9eSJonas Devlieghere void TemplateFunc(T ...Arg) {
19*87aa9c9eSJonas Devlieghere return;
20*87aa9c9eSJonas Devlieghere }
21*87aa9c9eSJonas Devlieghere
22*87aa9c9eSJonas Devlieghere // namespace
23*87aa9c9eSJonas Devlieghere namespace {
Func(int a,const long b,volatile bool c,...)24*87aa9c9eSJonas Devlieghere void Func(int a, const long b, volatile bool c, ...) { return; }
25*87aa9c9eSJonas Devlieghere }
26*87aa9c9eSJonas Devlieghere
27*87aa9c9eSJonas Devlieghere namespace NS {
Func(char a,int b)28*87aa9c9eSJonas Devlieghere void Func(char a, int b) {
29*87aa9c9eSJonas Devlieghere return;
30*87aa9c9eSJonas Devlieghere }
31*87aa9c9eSJonas Devlieghere }
32*87aa9c9eSJonas Devlieghere
33*87aa9c9eSJonas Devlieghere // Static function
StaticFunction(int a)34*87aa9c9eSJonas Devlieghere static long StaticFunction(int a)
35*87aa9c9eSJonas Devlieghere {
36*87aa9c9eSJonas Devlieghere return 2;
37*87aa9c9eSJonas Devlieghere }
38*87aa9c9eSJonas Devlieghere
39*87aa9c9eSJonas Devlieghere // Inlined function
InlinedFunction(long a)40*87aa9c9eSJonas Devlieghere inline void InlinedFunction(long a) { return; }
41*87aa9c9eSJonas Devlieghere
42*87aa9c9eSJonas Devlieghere extern void FunctionCall();
43*87aa9c9eSJonas Devlieghere
main()44*87aa9c9eSJonas Devlieghere int main() {
45*87aa9c9eSJonas Devlieghere MemberTest::A v1;
46*87aa9c9eSJonas Devlieghere v1.Func('a',10);
47*87aa9c9eSJonas Devlieghere
48*87aa9c9eSJonas Devlieghere Func(1, 5, true, 10, 8);
49*87aa9c9eSJonas Devlieghere NS::Func('c', 2);
50*87aa9c9eSJonas Devlieghere
51*87aa9c9eSJonas Devlieghere TemplateFunc(10);
52*87aa9c9eSJonas Devlieghere TemplateFunc(10,11,88);
53*87aa9c9eSJonas Devlieghere
54*87aa9c9eSJonas Devlieghere StaticFunction(2);
55*87aa9c9eSJonas Devlieghere InlinedFunction(1);
56*87aa9c9eSJonas Devlieghere
57*87aa9c9eSJonas Devlieghere FunctionCall();
58*87aa9c9eSJonas Devlieghere return 0;
59*87aa9c9eSJonas Devlieghere }
60