[COMMITTED,v2] Don't use nested function in test-ffs
Commit Message
This is what I committed based on your suggestion Florian.
Thanks,
Siddhesh
There is no real need to use a nested function in that test, so break
it out so that it can build with clang too.
---
string/test-ffs.c | 36 ++++++++++++++----------------------
1 file changed, 14 insertions(+), 22 deletions(-)
@@ -20,28 +20,25 @@
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
+#include <support/check.h>
+
+void try (const char *name, long long int param, int value, int expected)
+{
+ if (value != expected)
+ {
+ printf ("%s(%#llx) expected %d got %d\n",
+ name, param, expected, value);
+ support_record_failure ();
+ }
+ else
+ printf ("%s(%#llx) as expected %d\n", name, param, value);
+}
int
do_test (void)
{
- int failures = 0;
int i;
- auto void try (const char *name, long long int param, int value,
- int expected);
-
- void try (const char *name, long long int param, int value, int expected)
- {
- if (value != expected)
- {
- printf ("%s(%#llx) expected %d got %d\n",
- name, param, expected, value);
- ++failures;
- }
- else
- printf ("%s(%#llx) as expected %d\n", name, param, value);
- }
-
#define TEST(fct, type) \
try (#fct, 0, fct ((type) 0), 0); \
for (i=0 ; i < 8 * sizeof (type); i++) \
@@ -54,12 +51,7 @@ do_test (void)
TEST (ffsl, long int);
TEST (ffsll, long long int);
- if (failures)
- printf ("Test FAILED! %d failure%s.\n", failures, &"s"[failures == 1]);
- else
- puts ("Test succeeded.");
-
- return failures;
+ return 0;
}
#include <support/test-driver.c>