The testcase in the current form doesn't FAIL without the patch on
x86_64-linux unless also testing with -m32; as that the 64-bit testing
on that target is probably way more common, and we can use also attributes
that FAIL without the patch with -m64, the following patch adjusts the
test, so that it FAILs without the patch for both -m64 and -m32 (but not
-mx32) and PASSes with the patch.
2020-05-07 Jakub Jelinek <jakub@redhat.com>
PR c++/94946
* g++.dg/ext/attr-parm-1.C: Enable the test also for lp64 x86, use
sysv_abi and ms_abi attributes in that case instead of fastcall and
no attribute.
-202-05-07 Jakub Jelinek <jakub@redhat.com>
+2020-05-07 Jakub Jelinek <jakub@redhat.com>
+
+ PR c++/94946
+ * g++.dg/ext/attr-parm-1.C: Enable the test also for lp64 x86, use
+ sysv_abi and ms_abi attributes in that case instead of fastcall and
+ no attribute.
PR c/94968
* gcc.dg/pr94968.c: New test.
-// { dg-do compile { target { { i?86-*-* x86_64-*-* } && ia32 } } }
+// { dg-do compile { target { { i?86-*-* x86_64-*-* } && { ia32 || lp64 } } } }
// PR 94946
class a {
+#ifdef __LP64__
+ template <typename b> a(b(__attribute__((sysv_abi)) *c)());
+ template <typename b> a(b(__attribute__((ms_abi)) *c)());
+#else
template <typename b> a(b (*)());
template <typename b> a(b(__attribute__((fastcall)) *c)());
+#endif
};