aboutsummaryrefslogtreecommitdiff
path: root/gcc/testsuite/g++.dg/ext/int128-4.C
blob: 7e5a5020fff69980ab909b470bea0ae74d05c91a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
// 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);
}