summaryrefslogtreecommitdiff
path: root/gcc/testsuite/gcc.dg/unsigned-long-compare.c
blob: 74e7638f1ce9859d117e90d23e44e8af1cc2df53 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
/* Copyright (C) 2006 Free Software Foundation, Inc. */
/* Contributed by Carlos O'Donell on 2006-01-30 */

/* Test a division corner case where the expression simplifies
   to a comparison, and the optab expansion is wrong. The optab 
   expansion emits a function whose return is unbiased and needs
   adjustment. */
/* Origin: Carlos O'Donell <carlos@codesourcery.com> */
/* { dg-do run } */
/* { dg-options "" } */
#include <stdlib.h>

#define BIG_CONSTANT 0xFFFFFFFF80000000ULL

int main (void)
{
  unsigned long long OneULL = 1ULL;
  unsigned long long result;

  result = OneULL / BIG_CONSTANT; 
  if (result)
    abort ();
  exit (0);
}