| // Test for int128 arithmetic conversions. |
| // { dg-do compile { target int128 } } |
| // { dg-require-effective-target c++11 } |
| // { dg-options "" } |
| |
| template <class T, class U> struct same; |
| template <class T> struct same<T,T> { }; |
| #define assert_same(T,U) (same<T,U>()) |
| |
| int main() |
| { |
| long long ll; |
| unsigned long long ull; |
| __int128 i8; |
| unsigned __int128 u8; |
| assert_same (decltype (ll+i8), __int128); |
| assert_same (decltype (ull+i8), __int128); |
| assert_same (decltype (ll+u8), unsigned __int128); |
| assert_same (decltype (ull+u8), unsigned __int128); |
| } |