aboutsummaryrefslogtreecommitdiffstats
path: root/gcc-4.9/gcc/testsuite/gcc.c-torture/compile/pr39423-1.c
diff options
context:
space:
mode:
Diffstat (limited to 'gcc-4.9/gcc/testsuite/gcc.c-torture/compile/pr39423-1.c')
-rw-r--r--gcc-4.9/gcc/testsuite/gcc.c-torture/compile/pr39423-1.c22
1 files changed, 22 insertions, 0 deletions
diff --git a/gcc-4.9/gcc/testsuite/gcc.c-torture/compile/pr39423-1.c b/gcc-4.9/gcc/testsuite/gcc.c-torture/compile/pr39423-1.c
new file mode 100644
index 000000000..34ebb6638
--- /dev/null
+++ b/gcc-4.9/gcc/testsuite/gcc.c-torture/compile/pr39423-1.c
@@ -0,0 +1,22 @@
+/* PR target/39423 */
+
+int
+foo (const char *name, int nmlen, char *flags)
+{
+ const char *nonspc;
+ int len, n, lfn;
+ int needlfn[2], dotspc[2];
+ unsigned char locale[2];
+ for (nonspc = &name[nmlen - 1]; nonspc >= name && *nonspc == ' '; ++n)
+ {
+ if (!nmlen)
+ {
+ needlfn[name >= nonspc] = !0, dotspc[n != 0] =
+ locale[0], --n, name += len, nmlen -= len;
+ }
+ }
+ if (!lfn && ((dotspc[0] == ' ' && !(len & 0x0010)) || dotspc[0] == '.'))
+ return 22;
+ if (!(needlfn[0] || needlfn[1]))
+ *flags |= 0x02;
+}