patches/gcc/3.3.2/pr13260-test.patch
changeset 1 eeea35fbf182
     1.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     1.2 +++ b/patches/gcc/3.3.2/pr13260-test.patch	Sat Feb 24 11:00:05 2007 +0000
     1.3 @@ -0,0 +1,56 @@
     1.4 +See http://gcc.gnu.org/PR13260
     1.5 +
     1.6 +/cvs/gcc/gcc/gcc/testsuite/gcc.c-torture/execute/20031204-1.c,v  -->  standard output
     1.7 +revision 1.1
     1.8 +--- -	1970-01-01 00:00:00.000000000 +0000
     1.9 ++++ gcc/gcc/testsuite/gcc.c-torture/execute/20031204-1.c
    1.10 +@@ -0,0 +1,49 @@
    1.11 ++/* PR optimization/13260 */
    1.12 ++
    1.13 ++#include <string.h>
    1.14 ++
    1.15 ++typedef unsigned long u32;
    1.16 ++
    1.17 ++u32 in_aton(const char* x)
    1.18 ++{
    1.19 ++  return 0x0a0b0c0d;
    1.20 ++}
    1.21 ++
    1.22 ++u32 root_nfs_parse_addr(char *name)
    1.23 ++{
    1.24 ++ u32 addr;
    1.25 ++ int octets = 0;
    1.26 ++ char *cp, *cq;
    1.27 ++
    1.28 ++ cp = cq = name;
    1.29 ++ while (octets < 4) {
    1.30 ++  while (*cp >= '0' && *cp <= '9')
    1.31 ++   cp++;
    1.32 ++  if (cp == cq || cp - cq > 3)
    1.33 ++   break;
    1.34 ++  if (*cp == '.' || octets == 3)
    1.35 ++   octets++;
    1.36 ++  if (octets < 4)
    1.37 ++   cp++;
    1.38 ++  cq = cp;
    1.39 ++ }
    1.40 ++
    1.41 ++ if (octets == 4 && (*cp == ':' || *cp == '\0')) {
    1.42 ++  if (*cp == ':')
    1.43 ++   *cp++ = '\0';
    1.44 ++  addr = in_aton(name);
    1.45 ++  strcpy(name, cp);
    1.46 ++ } else
    1.47 ++  addr = (-1);
    1.48 ++
    1.49 ++ return addr;
    1.50 ++}
    1.51 ++
    1.52 ++int
    1.53 ++main()
    1.54 ++{
    1.55 ++  static char addr[] = "10.11.12.13:/hello";
    1.56 ++  u32 result = root_nfs_parse_addr(addr);
    1.57 ++  if (result != 0x0a0b0c0d) { abort(); }
    1.58 ++  return 0;
    1.59 ++}