This fixes regressions for aarch64 with -mabi=ilp32 of the
Wconversion-null*.C tests, introduced by
92ea8e1bccc.
The "g (int)" declaration is required for that target where
sizeof(int) == sizeof(long) == sizeof(void *).
To handle the msp430/-mlarge case, an explicit declaration of
"g (__int20)" is required.
gcc/testsuite/ChangeLog:
* g++.dg/warn/Wconversion-null-2.C: Add explicit declarations for l()
and g() with int, long, long long and __int20 arguments.
* g++.dg/warn/Wconversion-null.C: Likewise.
#include <cstddef>
-void g(__INTPTR_TYPE__) {}
+void g(int) {}
+void g(long) {}
+void g(long long) {}
+#ifdef __MSP430X_LARGE__
+void g(__int20) {}
+#endif
extern void g(void*);
template <int I>
void l(T);
template <>
-void l(__INTPTR_TYPE__) {}
+void l(int) {}
+
+template <>
+void l(long) {}
+
+template <>
+void l(long long) {}
+
+#ifdef __MSP430X_LARGE__
+template <>
+void l(__int20) {}
+#endif
void warn_for_NULL()
{
#include <cstddef>
-void g(__INTPTR_TYPE__) {}
+void g(int) {}
+void g(long) {}
+void g(long long) {}
+#ifdef __MSP430X_LARGE__
+void g(__int20) {}
+#endif
extern void g(void*);
template <int I>
void l(T);
template <>
-void l(__INTPTR_TYPE__) {}
+void l(int) {}
+
+template <>
+void l(long) {}
+
+template <>
+void l(long long) {}
+
+#ifdef __MSP430X_LARGE__
+template <>
+void l(__int20) {}
+#endif
int main()
{