diff options
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.c | 22 |
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; +} |