diff options
Diffstat (limited to 'gcc/gcc-3.3.3/pr13260-test.patch')
-rw-r--r-- | gcc/gcc-3.3.3/pr13260-test.patch | 56 |
1 files changed, 56 insertions, 0 deletions
diff --git a/gcc/gcc-3.3.3/pr13260-test.patch b/gcc/gcc-3.3.3/pr13260-test.patch index e69de29bb2..d9cc3e45b1 100644 --- a/gcc/gcc-3.3.3/pr13260-test.patch +++ b/gcc/gcc-3.3.3/pr13260-test.patch @@ -0,0 +1,56 @@ +See http://gcc.gnu.org/PR13260 + +/cvs/gcc/gcc/gcc/testsuite/gcc.c-torture/execute/20031204-1.c,v --> standard output +revision 1.1 +--- - 1970-01-01 00:00:00.000000000 +0000 ++++ gcc/gcc/testsuite/gcc.c-torture/execute/20031204-1.c +@@ -0,0 +1,49 @@ ++/* PR optimization/13260 */ ++ ++#include <string.h> ++ ++typedef unsigned long u32; ++ ++u32 in_aton(const char* x) ++{ ++ return 0x0a0b0c0d; ++} ++ ++u32 root_nfs_parse_addr(char *name) ++{ ++ u32 addr; ++ int octets = 0; ++ char *cp, *cq; ++ ++ cp = cq = name; ++ while (octets < 4) { ++ while (*cp >= '0' && *cp <= '9') ++ cp++; ++ if (cp == cq || cp - cq > 3) ++ break; ++ if (*cp == '.' || octets == 3) ++ octets++; ++ if (octets < 4) ++ cp++; ++ cq = cp; ++ } ++ ++ if (octets == 4 && (*cp == ':' || *cp == '\0')) { ++ if (*cp == ':') ++ *cp++ = '\0'; ++ addr = in_aton(name); ++ strcpy(name, cp); ++ } else ++ addr = (-1); ++ ++ return addr; ++} ++ ++int ++main() ++{ ++ static char addr[] = "10.11.12.13:/hello"; ++ u32 result = root_nfs_parse_addr(addr); ++ if (result != 0x0a0b0c0d) { abort(); } ++ return 0; ++} |