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 <[email protected]>
---
.../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