s390/compat: automatic zero, sign and pointer conversion of syscalls
[firefly-linux-kernel-4.4.55.git] / include / linux / syscalls.h
index a747a77ea584aafb124ae230862360c8dd0b6073..1e67b7a5968c77c2f9290e48801971adc9c0f3fc 100644 (file)
@@ -98,6 +98,8 @@ struct sigaltstack;
 #define __MAP(n,...) __MAP##n(__VA_ARGS__)
 
 #define __SC_DECL(t, a)        t a
+#define __TYPE_IS_L(t) (__same_type((t)0, 0L))
+#define __TYPE_IS_UL(t)        (__same_type((t)0, 0UL))
 #define __TYPE_IS_LL(t) (__same_type((t)0, 0LL) || __same_type((t)0, 0ULL))
 #define __SC_LONG(t, a) __typeof(__builtin_choose_expr(__TYPE_IS_LL(t), 0LL, 0L)) a
 #define __SC_CAST(t, a)        (t) a