author | "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr> |
Sun May 06 21:47:29 2007 +0000 (2007-05-06) | |
changeset 62 | 651912c5477c |
permissions | -rw-r--r-- |
yann@1 | 1 |
See http://gcc.gnu.org/PR13260 |
yann@1 | 2 |
|
yann@1 | 3 |
/cvs/gcc/gcc/gcc/testsuite/gcc.c-torture/execute/20031204-1.c,v --> standard output |
yann@1 | 4 |
revision 1.1 |
yann@1 | 5 |
--- - 1970-01-01 00:00:00.000000000 +0000 |
yann@1 | 6 |
+++ gcc/gcc/testsuite/gcc.c-torture/execute/20031204-1.c |
yann@1 | 7 |
@@ -0,0 +1,49 @@ |
yann@1 | 8 |
+/* PR optimization/13260 */ |
yann@1 | 9 |
+ |
yann@1 | 10 |
+#include <string.h> |
yann@1 | 11 |
+ |
yann@1 | 12 |
+typedef unsigned long u32; |
yann@1 | 13 |
+ |
yann@1 | 14 |
+u32 in_aton(const char* x) |
yann@1 | 15 |
+{ |
yann@1 | 16 |
+ return 0x0a0b0c0d; |
yann@1 | 17 |
+} |
yann@1 | 18 |
+ |
yann@1 | 19 |
+u32 root_nfs_parse_addr(char *name) |
yann@1 | 20 |
+{ |
yann@1 | 21 |
+ u32 addr; |
yann@1 | 22 |
+ int octets = 0; |
yann@1 | 23 |
+ char *cp, *cq; |
yann@1 | 24 |
+ |
yann@1 | 25 |
+ cp = cq = name; |
yann@1 | 26 |
+ while (octets < 4) { |
yann@1 | 27 |
+ while (*cp >= '0' && *cp <= '9') |
yann@1 | 28 |
+ cp++; |
yann@1 | 29 |
+ if (cp == cq || cp - cq > 3) |
yann@1 | 30 |
+ break; |
yann@1 | 31 |
+ if (*cp == '.' || octets == 3) |
yann@1 | 32 |
+ octets++; |
yann@1 | 33 |
+ if (octets < 4) |
yann@1 | 34 |
+ cp++; |
yann@1 | 35 |
+ cq = cp; |
yann@1 | 36 |
+ } |
yann@1 | 37 |
+ |
yann@1 | 38 |
+ if (octets == 4 && (*cp == ':' || *cp == '\0')) { |
yann@1 | 39 |
+ if (*cp == ':') |
yann@1 | 40 |
+ *cp++ = '\0'; |
yann@1 | 41 |
+ addr = in_aton(name); |
yann@1 | 42 |
+ strcpy(name, cp); |
yann@1 | 43 |
+ } else |
yann@1 | 44 |
+ addr = (-1); |
yann@1 | 45 |
+ |
yann@1 | 46 |
+ return addr; |
yann@1 | 47 |
+} |
yann@1 | 48 |
+ |
yann@1 | 49 |
+int |
yann@1 | 50 |
+main() |
yann@1 | 51 |
+{ |
yann@1 | 52 |
+ static char addr[] = "10.11.12.13:/hello"; |
yann@1 | 53 |
+ u32 result = root_nfs_parse_addr(addr); |
yann@1 | 54 |
+ if (result != 0x0a0b0c0d) { abort(); } |
yann@1 | 55 |
+ return 0; |
yann@1 | 56 |
+} |