Successfully tested on x86_64-pc-linux-gnu. Pushed to trunk as r13-6467-gdf0184906a7b86.
gcc/testsuite/ChangeLog: PR analyzer/109016 * gcc.dg/analyzer/omp-parallel-for-1.c: New test. * gcc.dg/analyzer/omp-parallel-for-get-min.c: New test. Signed-off-by: David Malcolm <dmalc...@redhat.com> --- .../gcc.dg/analyzer/omp-parallel-for-1.c | 21 ++++++++++++++++ .../analyzer/omp-parallel-for-get-min.c | 24 +++++++++++++++++++ 2 files changed, 45 insertions(+) create mode 100644 gcc/testsuite/gcc.dg/analyzer/omp-parallel-for-1.c create mode 100644 gcc/testsuite/gcc.dg/analyzer/omp-parallel-for-get-min.c diff --git a/gcc/testsuite/gcc.dg/analyzer/omp-parallel-for-1.c b/gcc/testsuite/gcc.dg/analyzer/omp-parallel-for-1.c new file mode 100644 index 00000000000..dae940dac20 --- /dev/null +++ b/gcc/testsuite/gcc.dg/analyzer/omp-parallel-for-1.c @@ -0,0 +1,21 @@ +/* { dg-additional-options "-fopenmp -Wall" } */ + +typedef struct _Image +{ + int columns, rows; +} Image; + +extern int get_num_threads(void); + +void +test (Image* image) +{ + int y; + +#pragma omp parallel for schedule(static) \ + num_threads(get_num_threads ()) + + for (y = 0; y < image->rows; y++) { + /* [...snip...] */ + } +} diff --git a/gcc/testsuite/gcc.dg/analyzer/omp-parallel-for-get-min.c b/gcc/testsuite/gcc.dg/analyzer/omp-parallel-for-get-min.c new file mode 100644 index 00000000000..a7e64e1a3a8 --- /dev/null +++ b/gcc/testsuite/gcc.dg/analyzer/omp-parallel-for-get-min.c @@ -0,0 +1,24 @@ +/* Reduced from ImageMagick-7.1.0-57's MagickCore/attribute.c: GetEdgeBackgroundColor */ + +/* { dg-additional-options "-fopenmp -Wall" } */ + +extern double get_census (void); + +double +test() +{ + double census[4], edge_census; + int i; + +#pragma omp parallel for schedule(static) + + for (i = 0; i < 4; i++) { + census[i] = get_census (); + } + edge_census = (-1.0); + for (i = 0; i < 4; i++) + if (census[i] > edge_census) { /* { dg-bogus "use of uninitialized value" } */ + edge_census = census[i]; + } + return edge_census; +} -- 2.26.3