1  /* { dg-do compile { target { powerpc*-*-darwin* && lp64 } } } */
       2  /* { dg-options "-O1 -static" } */
       3  typedef unsigned long long uint64_t;
       4  
       5  static int
       6  match(name, pat)
       7   uint64_t *name, *pat;
       8  {
       9   int ok=0, negate_range;
      10   uint64_t c, k;
      11  
      12    c = *pat++;
      13    switch (c & 0xffffffffffULL) {
      14    case ((uint64_t)(('[')|0x8000000000ULL)):
      15     if ((negate_range = ((*pat & 0xffffffffffULL) == ((uint64_t)(('!')|0x8000000000ULL)) )) != '\0')
      16      ++pat;
      17     while (((c = *pat++) & 0xffffffffffULL) )
      18      if ((*pat & 0xffffffffffULL) == ((uint64_t)(('-')|0x8000000000ULL))) 
      19        {
      20         pat += 2;
      21        } 
      22  
      23     if (ok == negate_range)
      24      return(0);
      25     break;
      26    }
      27   return(*name == '\0');
      28  }
      29