Bug with __int128_t in Clang?
This little code compiles with both GCC and Clang, but gives different results: #include <stdio.h> int main(){ __int128_t test=10; while(test>0){ int myTest=(int)test; printf("? %d\n", myTest); test--; } } With GCC this counts from 10 down to 1, the intended behaviour, while for Clang it keeps on counting into negative numbers. With Clang, if I replace test-- with test-=1 then it gives the expected behaviour as well. __int128_t is a GCC extension, so the above results only apply to non-standard C, so maybe __int128_t is "use at your own risk" in Clang. Is this a bug in Clang, or did I make