path: root/test-skeleton.c
diff options
authorArjun Shankar <arjun.is@lostca.se>2015-05-18 12:28:06 +0530
committerSiddhesh Poyarekar <siddhesh@redhat.com>2015-05-18 12:28:06 +0530
commit330fadfc62498041c838cba3a0413bb9c715b73f (patch)
tree848d985164199b0e37402a45fc17b78c9fa86636 /test-skeleton.c
parentb40a4e1a7bf7000018a8d1d1ee2f37f5c63e5a42 (diff)
Ensure `wint_t' is defined before use in include/stdio.h
While trying to get nptl/tst-initializers1.c to include the test skeleton, I came across a couple of speed bumps. Firstly: after making the appropriate changes to the test, running `make check' led to this error: > In file included from ../malloc/malloc.h:24:0, .. > from tst-initializers1.c:60: > ../include/stdio.h:111:1: error: unknown type name `wint_t' > extern wint_t __getwc_unlocked (FILE *__fp); So, `wint_t' is used before being defined. Question: Why did test-skeleton.c not cause this error in any of the other tests that include it? Anyway, I noticed include/stdio.h includes stddef.h, which in turn defines `wint_t', but only if `__need_wint_t' is defined. So I put in a `#define __need_wint_t' before the include to get rid of the error. Is that the correct fix? A subsequent `make && make check' led to this second error: > from tst-initializers1-c89.c:1: > ../test-skeleton.c: In function `main': > ../test-skeleton.c:356:11: error: `for' loop initial declarations are only > allowed in C99 mode > for (struct temp_name_list *n = temp_name_list; Although there seem to be several other C89 no-noes in test-skeleton.c, I needed only to fix this specific one for gcc-4.8.3 to stop complaining.
Diffstat (limited to 'test-skeleton.c')
1 files changed, 2 insertions, 1 deletions
diff --git a/test-skeleton.c b/test-skeleton.c
index 43fc236fc3b..1332c94a86f 100644
--- a/test-skeleton.c
+++ b/test-skeleton.c
@@ -352,8 +352,9 @@ main (int argc, char *argv[])
if (temp_name_list != NULL)
+ struct temp_name_list *n;
fprintf (f, "temp_files=(\n");
- for (struct temp_name_list *n = temp_name_list;
+ for (n = temp_name_list;
n != NULL;
n = (struct temp_name_list *) n->q.q_forw)
fprintf (f, " '%s'\n", n->name);