view gcc/testsuite/gcc.dg/unsigned-long-compare.c @ 145:1830386684a0

gcc-9.2.0
author anatofuz
date Thu, 13 Feb 2020 11:34:05 +0900
parents 04ced10e8804
children
line wrap: on
line source

/* 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);
}