From f535ac931c2b7dc65fefa83e47bb8c79ca90e92d Mon Sep 17 00:00:00 2001 From: xleroy Date: Mon, 17 Oct 2011 09:38:31 +0000 Subject: Corrected initialization of char arrays by string literals. Added -flongdouble option (to turn long double into double) git-svn-id: https://yquem.inria.fr/compcert/svn/compcert/trunk@1731 fca1b0fc-160b-0410-b1d3-a4f43f01ea2e --- test/regression/Results/initializers | Bin 404 -> 465 bytes test/regression/initializers.c | 25 +++++++++++++++++++++++-- 2 files changed, 23 insertions(+), 2 deletions(-) (limited to 'test') diff --git a/test/regression/Results/initializers b/test/regression/Results/initializers index b626a2a..67460cc 100644 Binary files a/test/regression/Results/initializers and b/test/regression/Results/initializers differ diff --git a/test/regression/initializers.c b/test/regression/initializers.c index c16a356..a0913fd 100644 --- a/test/regression/initializers.c +++ b/test/regression/initializers.c @@ -46,6 +46,21 @@ char * x18 = "Hello!"; char * x19[2] = { "Hello", "world!" }; +char x20[3] = "Hello!"; + +char x21[10] = "Hello!"; + +static void print_chars(char * s, int sz) +{ + int i; + for (i = 0; i < sz; i++) { + if (s[i] >= 32 && s[i] < 127) + printf("'%c', ", s[i]); + else + printf("%d, ", s[i]); + } +} + int main() { int i; @@ -62,7 +77,7 @@ int main() printf("x7 = { %d, '%c' }\n", x7.y, x7.z); printf("x8 = { '%c', %d }\n", x8.y, x8.z); printf("x9 = { { "); - for (i = 0; i < 9; i++) printf("'%c', ", x9.y[i]); + print_chars(x9.y, 9); printf("}, %.3f }\n", x9.z); printf("x10 = { { '%c', %d }, %.3f }\n", x10.u.y, x10.u.z, x10.v); @@ -81,10 +96,16 @@ int main() else printf("x16 error\n"); printf("x17[%d] = { ", (int) sizeof(x17)); - for (i = 0; i < sizeof(x17); i++) printf("'%c', ", x17[i]); + print_chars(x17, sizeof(x17)); printf("}\n"); printf("x18 = \"%s\"\n", x18); printf("x19 = { \"%s\", \"%s\" }\n", x19[0], x19[1]); + printf("x20 = { "); + print_chars(x20, sizeof(x20)); + printf("}\n"); + printf("x21 = { "); + print_chars(x21, sizeof(x21)); + printf("}\n"); return 0; } -- cgit v1.2.3