[gcc(refs/users/giulianob/heads/autopar_rebase2)] TESTSUITE: Fix Wconversion-null*.C tests for aarch64 -mabi=ilp32
Giuliano Belinassi
giulianob@gcc.gnu.org
Mon Aug 17 22:37:01 GMT 2020
https://gcc.gnu.org/g:e94dcb80e21243b2e84bbcc3a60a95e2f25e29f6
commit e94dcb80e21243b2e84bbcc3a60a95e2f25e29f6
Author: Jozef Lawrynowicz <jozef.l@mittosystems.com>
Date: Wed May 20 22:15:18 2020 +0100
TESTSUITE: Fix Wconversion-null*.C tests for aarch64 -mabi=ilp32
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.
Diff:
---
gcc/testsuite/g++.dg/warn/Wconversion-null-2.C | 20 ++++++++++++++++++--
gcc/testsuite/g++.dg/warn/Wconversion-null.C | 20 ++++++++++++++++++--
2 files changed, 36 insertions(+), 4 deletions(-)
diff --git a/gcc/testsuite/g++.dg/warn/Wconversion-null-2.C b/gcc/testsuite/g++.dg/warn/Wconversion-null-2.C
index 0f5bf58bd5d..3ba756e596b 100644
--- a/gcc/testsuite/g++.dg/warn/Wconversion-null-2.C
+++ b/gcc/testsuite/g++.dg/warn/Wconversion-null-2.C
@@ -3,7 +3,12 @@
#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>
@@ -15,7 +20,18 @@ template <class T>
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()
{
diff --git a/gcc/testsuite/g++.dg/warn/Wconversion-null.C b/gcc/testsuite/g++.dg/warn/Wconversion-null.C
index 4cac2671116..4c68d233450 100644
--- a/gcc/testsuite/g++.dg/warn/Wconversion-null.C
+++ b/gcc/testsuite/g++.dg/warn/Wconversion-null.C
@@ -3,7 +3,12 @@
#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>
@@ -15,7 +20,18 @@ template <class T>
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()
{
More information about the Gcc-cvs
mailing list