/* { dg-do run } */ /* { dg-additional-options "-ftracer" } */ extern void abort (void); typedef long int _PyTime_t; typedef enum { _PyTime_ROUND_FLOOR = 0, _PyTime_ROUND_CEILING = 1 } _PyTime_round_t; static _PyTime_t _PyTime_Divide(const _PyTime_t t, const _PyTime_t k, const _PyTime_round_t round) { if (round == _PyTime_ROUND_CEILING) { if (t >= 0) return (t + k - 1) / k; else return t / k; } else { if (t >= 0) return t / k; else return (t - (k - 1)) / k; } } _PyTime_t __attribute__((noinline,noclone)) _PyTime_AsMicroseconds(_PyTime_t t, _PyTime_round_t round) { return _PyTime_Divide(t, 1000, round); } int main() { if (_PyTime_AsMicroseconds (10000, _PyTime_ROUND_FLOOR) != 10) abort (); return 0; }