diff options
Diffstat (limited to 'gcc-4.9/gcc/testsuite/c-c++-common/uninit-17.c')
-rw-r--r-- | gcc-4.9/gcc/testsuite/c-c++-common/uninit-17.c | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/gcc-4.9/gcc/testsuite/c-c++-common/uninit-17.c b/gcc-4.9/gcc/testsuite/c-c++-common/uninit-17.c new file mode 100644 index 000000000..fd773da78 --- /dev/null +++ b/gcc-4.9/gcc/testsuite/c-c++-common/uninit-17.c @@ -0,0 +1,25 @@ +/* { dg-do compile } */ +/* { dg-options "-O2 -Wuninitialized -fno-ivopts" } */ + +inline int foo(int x) +{ + return x; +} +static void bar(int a, int *ptr) +{ + do + { + int b; /* { dg-message "declared" } */ + if (b < 40) { + ptr[0] = b; /* { dg-warning "may be used uninitialized" } */ + } + b += 1; + ptr++; + } + while (--a != 0); +} +void foobar(int a, int *ptr) +{ + bar(foo(a), ptr); +} + |