From 9fbe3e29c758473f8649d7b4b12ecca686b6e458 Mon Sep 17 00:00:00 2001 From: David Malcolm Date: Sat, 25 Jul 2020 11:44:28 -0400 Subject: [PATCH 332/377] FIXME: add feasibility-1.c --- gcc/testsuite/gcc.dg/analyzer/feasibility-1.c | 33 +++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 gcc/testsuite/gcc.dg/analyzer/feasibility-1.c diff --git a/gcc/testsuite/gcc.dg/analyzer/feasibility-1.c b/gcc/testsuite/gcc.dg/analyzer/feasibility-1.c new file mode 100644 index 00000000000..09d4181cf66 --- /dev/null +++ b/gcc/testsuite/gcc.dg/analyzer/feasibility-1.c @@ -0,0 +1,33 @@ +#include "analyzer-decls.h" + +void test_1 (void) +{ + __analyzer_dump_path (); /* { dg-message "path" } */ +} + +void test_2 (int flag) +{ + if (flag) + __analyzer_dump_path (); /* { dg-message "path" } */ +} + +void test_3 (int flag) +{ + if (flag) + if (!flag) + __analyzer_dump_path (); /* { dg-bogus "path" } */ +} + +int global_for_test_4; +static void __attribute__((noinline)) called_by_test_4 () {} +void test_4 (void) +{ + /* Verify that a state change that happens in a stmt that + isn't the first within its BB can affect path feasibility. */ + global_for_test_4 = 0; + global_for_test_4 = 1; + /* Thwart the optimizer. */ + called_by_test_4 (); + if (global_for_test_4) + __analyzer_dump_path (); /* { dg-message "path" "" { xfail *-*-* } } */ +} -- 2.26.2