diff options
Diffstat (limited to 'gcc-4.8/gcc/testsuite/gcc.target/arm/pr59826.c')
-rw-r--r-- | gcc-4.8/gcc/testsuite/gcc.target/arm/pr59826.c | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/gcc-4.8/gcc/testsuite/gcc.target/arm/pr59826.c b/gcc-4.8/gcc/testsuite/gcc.target/arm/pr59826.c new file mode 100644 index 000000000..b7053e426 --- /dev/null +++ b/gcc-4.8/gcc/testsuite/gcc.target/arm/pr59826.c @@ -0,0 +1,35 @@ +/* { dg-do compile } */ +/* { dg-options "-mthumb -mcpu=cortex-m4 -fprefetch-loop-arrays -O2" } */ + +typedef struct genxWriter_rec * genxWriter; +typedef unsigned char * utf8; +typedef const unsigned char * constUtf8; + +int genxScrubText(genxWriter w, constUtf8 in, utf8 out) +{ + int problems = 0; + constUtf8 last = in; + + while (*in) + { + int c = genxNextUnicodeChar(&in); + if (c == -1) + { + problems++; + last = in; + continue; + } + + if (!isXMLChar(w, c)) + { + problems++; + last = in; + continue; + } + + while (last < in) + *out++ = *last++; + } + *out = 0; + return problems; +} |