summaryrefslogtreecommitdiff
path: root/gcc/testsuite/gcc.dg/pr45570.c
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/testsuite/gcc.dg/pr45570.c')
-rw-r--r--gcc/testsuite/gcc.dg/pr45570.c28
1 files changed, 28 insertions, 0 deletions
diff --git a/gcc/testsuite/gcc.dg/pr45570.c b/gcc/testsuite/gcc.dg/pr45570.c
new file mode 100644
index 000000000..8a25951fc
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/pr45570.c
@@ -0,0 +1,28 @@
+/* { dg-do compile { target powerpc*-*-* ia64-*-* i?86-*-* x86_64-*-* } } */
+/* { dg-options "-O3 -fselective-scheduling2 -fsel-sched-pipelining -fsel-sched-pipelining-outer-loops -ftracer" } */
+void
+parser_get_next_char (char c, int qm, char *p)
+{
+ int quote_mode = 0;
+ for (; *p; p++)
+ {
+ if (qm)
+ {
+ if (quote_mode == 0 && *p == '"' && *(p - 1))
+ {
+ quote_mode = 1;
+ continue;
+ }
+ if (quote_mode && *p == '"' && *(p - 1))
+ quote_mode = 0;
+ }
+ if (quote_mode == 0 && *p == c && *(p - 1))
+ break;
+ }
+}
+
+void
+parser_get_next_parameter (char *p)
+{
+ parser_get_next_char (':', 1, p);
+}