modernc.org/ccgo/v3@v3.16.14/lib/testdata/gcc-9.1.0/gcc/testsuite/gcc.c-torture/execute/990106-2.c (about)

     1  unsigned calc_mp(unsigned mod)
     2  {
     3        unsigned a,b,c;
     4        c=-1;
     5        a=c/mod;
     6        b=0-a*mod;
     7        if (b > mod) { a += 1; b-=mod; }
     8        return b;
     9  }
    10  
    11  int main(int argc, char *argv[])
    12  {
    13        unsigned x = 1234;
    14        unsigned y = calc_mp(x);
    15  
    16        if ((sizeof (y) == 4 && y != 680)
    17  	  || (sizeof (y) == 2 && y != 134))
    18  	abort ();
    19        exit (0);
    20  }
    21  
    22