1 /* Ltrace Test : demangle.cpp
2 Objectives : Verify that ltrace can demangle C++ symbols.
4 This file was written by Yao Qi <qiyao@cn.ibm.com>. */
9 /* Number of arguments */
11 extern int Fi_s (short);
12 extern int Fii_i(int , int);
13 extern int Fiii_i(int, int, int);
14 extern int Fie_i(int bar, ...);
17 extern void Fv_v(void);
18 extern char Fv_c(void);
19 extern signed char Fv_Sc(void);
20 extern unsigned char Fv_Uc(void);
21 extern short Fv_s(void);
22 extern unsigned short Fv_Us(void);
23 extern int Fv_i(void);
24 extern const int Fv_Ci(void);
25 extern unsigned int Fv_Ui(void);
26 extern volatile int Fv_Vi(void);
27 extern long Fv_l(void);
28 extern unsigned long Fv_Ul(void);
29 extern float Fv_f(void) ;
30 extern double Fv_g(void);
31 extern long double Fv_Lg(void);
35 extern void * Fv_Pv(void);
36 extern void ** Fv_PPv(void);
39 extern int& Fv_Ri(void);
42 extern int FPi_i(int *a);
43 extern int FA10_i_i(int a[10]) ;
44 extern int Fc_i(char bar);
45 extern int Ff_i(float bar);
46 extern int Fg_i(double bar);
48 /* Function pointers */
49 typedef int (*x)(int);
50 typedef int (*y)(short);
53 extern int Fxx_i(x fnptr, x fnptr2);
54 extern int Fxxx_i(x fnptr, x fnptr2, x fnptr3);
55 extern int Fxxi_i(x fnptr, x fnptr2, x fnptr3, int i);
56 extern int Fxix_i(x fnptr, int i, x fnptr3);
57 extern int Fxyxy_i(x fnptr, y fnptr2, x fnptr3, y fnptr4);
60 extern void Fmyclass_v(myclass m);
61 extern void Fmxmx_v(myclass arg1, x arg2, myclass arg3, x arg4);
101 Fxxx_i (Fi_i, Fi_i, Fi_i);
102 Fxxi_i (Fi_i, Fi_i, Fi_i, 0);
103 Fxyxy_i (Fi_i, Fi_s, Fi_i, Fi_s);
116 b = (myclass*) new myclass(0);