diff --git a/xen/arch/arm/include/asm/smccc.h b/xen/arch/arm/include/asm/smccc.h index 5fdefc43d9..62c6985e73 100644 --- a/xen/arch/arm/include/asm/smccc.h +++ b/xen/arch/arm/include/asm/smccc.h @@ -114,31 +114,31 @@ struct arm_smccc_res { #define __declare_arg_1(a0, a1, res) \ __declare_arg_0(a0, res); \ - register typeof(a1) arg1 ASM_REG(1) = (a1) + register auto arg1 ASM_REG(1) = (a1) #define __declare_arg_2(a0, a1, a2, res) \ __declare_arg_1(a0, a1, res); \ - register typeof(a2) arg2 ASM_REG(2) = (a2) + register auto arg2 ASM_REG(2) = (a2) #define __declare_arg_3(a0, a1, a2, a3, res) \ __declare_arg_2(a0, a1, a2, res); \ - register typeof(a3) arg3 ASM_REG(3) = (a3) + register auto arg3 ASM_REG(3) = (a3) #define __declare_arg_4(a0, a1, a2, a3, a4, res) \ __declare_arg_3(a0, a1, a2, a3, res); \ - register typeof(a4) arg4 ASM_REG(4) = (a4) + register auto arg4 ASM_REG(4) = (a4) #define __declare_arg_5(a0, a1, a2, a3, a4, a5, res) \ __declare_arg_4(a0, a1, a2, a3, a4, res); \ - register typeof(a5) arg5 ASM_REG(5) = (a5) + register auto arg5 ASM_REG(5) = (a5) #define __declare_arg_6(a0, a1, a2, a3, a4, a5, a6, res) \ __declare_arg_5(a0, a1, a2, a3, a4, a5, res); \ - register typeof(a6) arg6 ASM_REG(6) = (a6) + register auto arg6 ASM_REG(6) = (a6) #define __declare_arg_7(a0, a1, a2, a3, a4, a5, a6, a7, res) \ __declare_arg_6(a0, a1, a2, a3, a4, a5, a6, res); \ - register typeof(a7) arg7 ASM_REG(7) = (a7) + register auto arg7 ASM_REG(7) = (a7) #define ___declare_args(count, ...) __declare_arg_ ## count(__VA_ARGS__) #define __declare_args(count, ...) ___declare_args(count, __VA_ARGS__) diff --git a/xen/arch/x86/include/asm/alternative-call.h b/xen/arch/x86/include/asm/alternative-call.h index b22c10c322..27024797f5 100644 --- a/xen/arch/x86/include/asm/alternative-call.h +++ b/xen/arch/x86/include/asm/alternative-call.h @@ -111,7 +111,7 @@ struct alt_call { }) #define alternative_vcall1(func, arg) ({ \ - typeof(arg) v1_ = (arg); \ + auto v1_ = (arg); \ ALT_CALL_ARG(v1_, 1); \ ALT_CALL_NO_ARG2; \ (void)sizeof(func(arg)); \ @@ -119,15 +119,15 @@ struct alt_call { }) #define alternative_call1(func, arg) ({ \ - typeof(arg) v1_ = (arg); \ + auto v1_ = (arg); \ ALT_CALL_ARG(v1_, 1); \ ALT_CALL_NO_ARG2; \ alternative_callN(1, typeof(func(arg)), func); \ }) #define alternative_vcall2(func, arg1, arg2) ({ \ - typeof(arg1) v1_ = (arg1); \ - typeof(arg2) v2_ = (arg2); \ + auto v1_ = (arg1); \ + auto v2_ = (arg2); \ ALT_CALL_ARG(v1_, 1); \ ALT_CALL_ARG(v2_, 2); \ ALT_CALL_NO_ARG3; \ @@ -136,8 +136,8 @@ struct alt_call { }) #define alternative_call2(func, arg1, arg2) ({ \ - typeof(arg1) v1_ = (arg1); \ - typeof(arg2) v2_ = (arg2); \ + auto v1_ = (arg1); \ + auto v2_ = (arg2); \ ALT_CALL_ARG(v1_, 1); \ ALT_CALL_ARG(v2_, 2); \ ALT_CALL_NO_ARG3; \ @@ -145,9 +145,9 @@ struct alt_call { }) #define alternative_vcall3(func, arg1, arg2, arg3) ({ \ - typeof(arg1) v1_ = (arg1); \ - typeof(arg2) v2_ = (arg2); \ - typeof(arg3) v3_ = (arg3); \ + auto v1_ = (arg1); \ + auto v2_ = (arg2); \ + auto v3_ = (arg3); \ ALT_CALL_ARG(v1_, 1); \ ALT_CALL_ARG(v2_, 2); \ ALT_CALL_ARG(v3_, 3); \ @@ -157,9 +157,9 @@ struct alt_call { }) #define alternative_call3(func, arg1, arg2, arg3) ({ \ - typeof(arg1) v1_ = (arg1); \ - typeof(arg2) v2_ = (arg2); \ - typeof(arg3) v3_ = (arg3); \ + auto v1_ = (arg1); \ + auto v2_ = (arg2); \ + auto v3_ = (arg3); \ ALT_CALL_ARG(v1_, 1); \ ALT_CALL_ARG(v2_, 2); \ ALT_CALL_ARG(v3_, 3); \ @@ -169,10 +169,10 @@ struct alt_call { }) #define alternative_vcall4(func, arg1, arg2, arg3, arg4) ({ \ - typeof(arg1) v1_ = (arg1); \ - typeof(arg2) v2_ = (arg2); \ - typeof(arg3) v3_ = (arg3); \ - typeof(arg4) v4_ = (arg4); \ + auto v1_ = (arg1); \ + auto v2_ = (arg2); \ + auto v3_ = (arg3); \ + auto v4_ = (arg4); \ ALT_CALL_ARG(v1_, 1); \ ALT_CALL_ARG(v2_, 2); \ ALT_CALL_ARG(v3_, 3); \ @@ -183,10 +183,10 @@ struct alt_call { }) #define alternative_call4(func, arg1, arg2, arg3, arg4) ({ \ - typeof(arg1) v1_ = (arg1); \ - typeof(arg2) v2_ = (arg2); \ - typeof(arg3) v3_ = (arg3); \ - typeof(arg4) v4_ = (arg4); \ + auto v1_ = (arg1); \ + auto v2_ = (arg2); \ + auto v3_ = (arg3); \ + auto v4_ = (arg4); \ ALT_CALL_ARG(v1_, 1); \ ALT_CALL_ARG(v2_, 2); \ ALT_CALL_ARG(v3_, 3); \ @@ -198,11 +198,11 @@ struct alt_call { }) #define alternative_vcall5(func, arg1, arg2, arg3, arg4, arg5) ({ \ - typeof(arg1) v1_ = (arg1); \ - typeof(arg2) v2_ = (arg2); \ - typeof(arg3) v3_ = (arg3); \ - typeof(arg4) v4_ = (arg4); \ - typeof(arg5) v5_ = (arg5); \ + auto v1_ = (arg1); \ + auto v2_ = (arg2); \ + auto v3_ = (arg3); \ + auto v4_ = (arg4); \ + auto v5_ = (arg5); \ ALT_CALL_ARG(v1_, 1); \ ALT_CALL_ARG(v2_, 2); \ ALT_CALL_ARG(v3_, 3); \ @@ -214,11 +214,11 @@ struct alt_call { }) #define alternative_call5(func, arg1, arg2, arg3, arg4, arg5) ({ \ - typeof(arg1) v1_ = (arg1); \ - typeof(arg2) v2_ = (arg2); \ - typeof(arg3) v3_ = (arg3); \ - typeof(arg4) v4_ = (arg4); \ - typeof(arg5) v5_ = (arg5); \ + auto v1_ = (arg1); \ + auto v2_ = (arg2); \ + auto v3_ = (arg3); \ + auto v4_ = (arg4); \ + auto v5_ = (arg5); \ ALT_CALL_ARG(v1_, 1); \ ALT_CALL_ARG(v2_, 2); \ ALT_CALL_ARG(v3_, 3); \ @@ -231,12 +231,12 @@ struct alt_call { }) #define alternative_vcall6(func, arg1, arg2, arg3, arg4, arg5, arg6) ({ \ - typeof(arg1) v1_ = (arg1); \ - typeof(arg2) v2_ = (arg2); \ - typeof(arg3) v3_ = (arg3); \ - typeof(arg4) v4_ = (arg4); \ - typeof(arg5) v5_ = (arg5); \ - typeof(arg6) v6_ = (arg6); \ + auto v1_ = (arg1); \ + auto v2_ = (arg2); \ + auto v3_ = (arg3); \ + auto v4_ = (arg4); \ + auto v5_ = (arg5); \ + auto v6_ = (arg6); \ ALT_CALL_ARG(v1_, 1); \ ALT_CALL_ARG(v2_, 2); \ ALT_CALL_ARG(v3_, 3); \ @@ -248,12 +248,12 @@ struct alt_call { }) #define alternative_call6(func, arg1, arg2, arg3, arg4, arg5, arg6) ({ \ - typeof(arg1) v1_ = (arg1); \ - typeof(arg2) v2_ = (arg2); \ - typeof(arg3) v3_ = (arg3); \ - typeof(arg4) v4_ = (arg4); \ - typeof(arg5) v5_ = (arg5); \ - typeof(arg6) v6_ = (arg6); \ + auto v1_ = (arg1); \ + auto v2_ = (arg2); \ + auto v3_ = (arg3); \ + auto v4_ = (arg4); \ + auto v5_ = (arg5); \ + auto v6_ = (arg6); \ ALT_CALL_ARG(v1_, 1); \ ALT_CALL_ARG(v2_, 2); \ ALT_CALL_ARG(v3_, 3); \ diff --git a/xen/common/bitops.c b/xen/common/bitops.c index e46ea1d3ec..859a4ca5c1 100644 --- a/xen/common/bitops.c +++ b/xen/common/bitops.c @@ -147,7 +147,7 @@ static void __init test_for_each_set_bit(void) * A copy of @val is taken internally. */ #define for_each_set_bit_reverse(iter, val) \ - for ( typeof(val) __v = (val); __v; __v = 0 ) \ + for ( auto __v = (val); __v; __v = 0 ) \ for ( unsigned int (iter); \ __v && ((iter) = fls_g(__v) - 1, true); \ __clear_bit(iter, &__v) ) diff --git a/xen/include/xen/bitops.h b/xen/include/xen/bitops.h index a4d31ec02a..24882fb482 100644 --- a/xen/include/xen/bitops.h +++ b/xen/include/xen/bitops.h @@ -299,7 +299,7 @@ static always_inline attr_const unsigned int fls64(uint64_t x) * A copy of @val is taken internally. */ #define for_each_set_bit(iter, val) \ - for ( typeof(val) __v = (val); __v; __v = 0 ) \ + for ( auto __v = (val); __v; __v = 0 ) \ for ( unsigned int (iter); \ __v && ((iter) = ffs_g(__v) - 1, true); \ __v &= __v - 1 ) @@ -310,7 +310,7 @@ static always_inline attr_const unsigned int fls64(uint64_t x) */ #define multiple_bits_set(x) \ ({ \ - typeof(x) _v = (x); \ + auto _v = (x); \ (_v & (_v - 1)) != 0; \ }) diff --git a/xen/include/xen/nospec.h b/xen/include/xen/nospec.h index c8167a8a24..0e474145b4 100644 --- a/xen/include/xen/nospec.h +++ b/xen/include/xen/nospec.h @@ -51,8 +51,8 @@ static inline unsigned long array_index_mask_nospec(unsigned long index, */ #define array_index_nospec(index, size) \ ({ \ - typeof(index) _i = (index); \ - typeof(size) _s = (size); \ + auto _i = (index); \ + auto _s = (size); \ unsigned long _mask = array_index_mask_nospec(_i, _s); \ \ BUILD_BUG_ON(sizeof(_i) > sizeof(long)); \ diff --git a/xen/include/xen/self-tests.h b/xen/include/xen/self-tests.h index c57cceb3b9..c4937e781f 100644 --- a/xen/include/xen/self-tests.h +++ b/xen/include/xen/self-tests.h @@ -18,7 +18,7 @@ */ #define COMPILE_CHECK(fn, val, res) \ do { \ - typeof(fn(val)) real = fn(val); \ + auto real = fn(val); \ \ if ( !__builtin_constant_p(real) ) \ BUILD_ERROR("'" STR(fn(val)) "' not compile-time constant"); \ @@ -36,7 +36,7 @@ */ #define RUNTIME_CHECK(fn, val, res) \ do { \ - typeof(fn(val)) real = fn(HIDE(val)); \ + auto real = fn(HIDE(val)); \ \ if ( real != (res) ) \ panic("%s: %s(%s) expected %u, got %u\n", \