diff options
Diffstat (limited to 'gcc/testsuite/c-c++-common/uninit-17.c')
-rw-r--r-- | gcc/testsuite/c-c++-common/uninit-17.c | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/gcc/testsuite/c-c++-common/uninit-17.c b/gcc/testsuite/c-c++-common/uninit-17.c new file mode 100644 index 000000000..1719ae85f --- /dev/null +++ b/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; + } + b += 1; /* { dg-warning "may be used uninitialized" } */ + ptr++; + } + while (--a != 0); +} +void foobar(int a, int *ptr) +{ + bar(foo(a), ptr); +} + |