+2017-05-24 Jakub Jelinek <jakub@redhat.com>
+
+ * g++.dg/ext/integer-pack2.C: Require int32 effective target.
+ Don't include limits.h.
+ (w): Conditionalize on long long wider than int. Use
+ 1LL << (__SIZEOF_INT__ * __CHAR_BIT__) instead of
+ -9223372036854775808.
+ (x): Use __INT_MAX__ instead of INT_MAX.
+
2017-05-24 Thomas Koenig <tkoenig@gcc.gnu.org>
PR fortran/66094
-// { dg-do compile { target c++11 } }
+// { dg-do compile { target { c++11 && int32 } } }
// { dg-options -w }
-#include <limits.h>
-
template<typename T, T...> struct integer_sequence { };
template<typename T, T num>
using make_integer_sequence = integer_sequence<T, __integer_pack(num)...>; // { dg-error "argument" }
-make_integer_sequence<int, -9223372036854775808> w;
-make_integer_sequence<int, INT_MAX> x; // { dg-message "required" }
+#if __SIZEOF_LONG_LONG__ > __SIZEOF_INT__
+make_integer_sequence<int, 1LL << (__SIZEOF_INT__ * __CHAR_BIT__)> w;
+#endif
+make_integer_sequence<int, __INT_MAX__> x; // { dg-message "required" }
make_integer_sequence<int, -2147483650> y; // { dg-message "required" }