summaryrefslogtreecommitdiff
path: root/gcc/testsuite/gcc.dg/profile-generate-2.c
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/testsuite/gcc.dg/profile-generate-2.c')
-rw-r--r--gcc/testsuite/gcc.dg/profile-generate-2.c35
1 files changed, 35 insertions, 0 deletions
diff --git a/gcc/testsuite/gcc.dg/profile-generate-2.c b/gcc/testsuite/gcc.dg/profile-generate-2.c
new file mode 100644
index 000000000..eaea065f5
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/profile-generate-2.c
@@ -0,0 +1,35 @@
+/* PR middle-end/23199 */
+/* Testcase by Ralf Menzel <menzel@ls6.cs.uni-dortmund.de> */
+
+/* { dg-do compile } */
+/* { dg-options "-O -fprofile-generate" } */
+
+union rtunion_def
+{
+ struct rtx_def *rt_rtx;
+};
+
+typedef union rtunion_def rtunion;
+
+struct rtx_def
+{
+ unsigned int in_struct : 1;
+ union u {
+ rtunion fld[1];
+ } u;
+};
+
+typedef struct rtx_def *rtx;
+
+static void
+check_annul_list_true_false (int annul_true_p, rtx delay_list)
+{
+ rtx temp;
+ while (1)
+ {
+ temp = delay_list;
+ rtx trial = (((temp)->u.fld[0]).rt_rtx);
+ if ((annul_true_p && (((trial))->in_struct)))
+ return;
+ }
+}