diff options
Diffstat (limited to 'trunk/testsuite/ifunc3lib1.c')
-rw-r--r-- | trunk/testsuite/ifunc3lib1.c | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/trunk/testsuite/ifunc3lib1.c b/trunk/testsuite/ifunc3lib1.c new file mode 100644 index 0000000..133b389 --- /dev/null +++ b/trunk/testsuite/ifunc3lib1.c @@ -0,0 +1,37 @@ +#include "ifunc.h" + +static int lib1t11 (void) { return 11; } +static int lib1t12 (void) { return 12; } + +IFUNC_LOCAL (lib1t1, lib1t11, lib1t12); + +static int lib1t21 (void) { return 1; } +static int lib1t22 (void) { return 2; } + +IFUNC_GLOBAL (lib1t2, lib1t21, lib1t22); + +static int lib1t31 (void) { return 3; } +static int lib1t32 (void) { return 4; } + +IFUNC_GLOBAL (lib1t3, lib1t31, lib1t32); + +char lib1b1[4]; +char *lib1b2 = &lib1b1[2]; + +extern void abort (void); + +int (*lib1p1) (void) = lib1t1; + +int +lib1test (void) +{ + if (lib1t1 () != PICKNO + 10) + abort (); + if (lib1t3 () != PICKNO) + abort (); + if (lib1p1 () != PICKNO + 10) + abort (); + if (lib1b2 != lib1b1 + 2) + abort (); + return 0; +} |