aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorMartin Sebor <msebor@redhat.com>2017-09-20 22:19:53 +0000
committerMartin Sebor <msebor@gcc.gnu.org>2017-09-20 16:19:53 -0600
commit5f2fd590311e5ff636404de6771a7b0dbb8f788d (patch)
treee9a4dc71935c4a61cf048ff1f14da5a760b87163 /gcc
parent329c9aee7390d033fc3f186d72d3fbe2138de80c (diff)
downloadgcc-5f2fd590311e5ff636404de6771a7b0dbb8f788d.zip
gcc-5f2fd590311e5ff636404de6771a7b0dbb8f788d.tar.gz
gcc-5f2fd590311e5ff636404de6771a7b0dbb8f788d.tar.bz2
Fix testsuite fallout from r252976.
gcc/testsuite/ChangeLog: PR c/81854 * gcc.dg/attr-ifunc-1.c: Correct type errors. * gcc.dg/attr-ifunc-2.c: Ditto. * gcc.dg/attr-ifunc-3.c: Ditto. * gcc.dg/attr-ifunc-4.c: Ditto. * gcc.dg/attr-ifunc-5.c: Ditto. * gcc.dg/pr81854.c: Require ifunc support. * gcc/testsuite/lib/target-supports.exp: Correct type error. From-SVN: r253037
Diffstat (limited to 'gcc')
-rw-r--r--gcc/testsuite/ChangeLog11
-rw-r--r--gcc/testsuite/gcc.dg/attr-ifunc-1.c4
-rw-r--r--gcc/testsuite/gcc.dg/attr-ifunc-2.c4
-rw-r--r--gcc/testsuite/gcc.dg/attr-ifunc-3.c2
-rw-r--r--gcc/testsuite/gcc.dg/attr-ifunc-4.c6
-rw-r--r--gcc/testsuite/gcc.dg/attr-ifunc-5.c4
-rw-r--r--gcc/testsuite/gcc.dg/pr81854.c3
-rw-r--r--gcc/testsuite/lib/target-supports.exp3
8 files changed, 25 insertions, 12 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index a636327..fd89f9e 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,14 @@
+2017-09-20 Martin Sebor <msebor@redhat.com>
+
+ PR c/81854
+ * gcc.dg/attr-ifunc-1.c: Correct type errors.
+ * gcc.dg/attr-ifunc-2.c: Ditto.
+ * gcc.dg/attr-ifunc-3.c: Ditto.
+ * gcc.dg/attr-ifunc-4.c: Ditto.
+ * gcc.dg/attr-ifunc-5.c: Ditto.
+ * gcc.dg/pr81854.c: Require ifunc support.
+ * gcc/testsuite/lib/target-supports.exp: Correct type error.
+
2017-09-20 Jeff Law <law@redhat.com>
* gcc.target/i386/stack-check-11.c: Update test and regexp
diff --git a/gcc/testsuite/gcc.dg/attr-ifunc-1.c b/gcc/testsuite/gcc.dg/attr-ifunc-1.c
index 3f7450e..f1a1986 100644
--- a/gcc/testsuite/gcc.dg/attr-ifunc-1.c
+++ b/gcc/testsuite/gcc.dg/attr-ifunc-1.c
@@ -2,15 +2,13 @@
/* { dg-require-ifunc "" } */
/* { dg-options "" } */
-typedef int F (void);
-
static int implementation (void)
{
__builtin_printf ("'ere I am JH\n");
return 0;
}
-static F* resolver (void)
+static __typeof__ (implementation)* resolver (void)
{
return implementation;
}
diff --git a/gcc/testsuite/gcc.dg/attr-ifunc-2.c b/gcc/testsuite/gcc.dg/attr-ifunc-2.c
index 8375af9..8221cd4 100644
--- a/gcc/testsuite/gcc.dg/attr-ifunc-2.c
+++ b/gcc/testsuite/gcc.dg/attr-ifunc-2.c
@@ -1,6 +1,8 @@
/* { dg-require-ifunc "" } */
-static void *resolver ()
+typedef int F (void);
+
+static F *resolver ()
{
return 0;
}
diff --git a/gcc/testsuite/gcc.dg/attr-ifunc-3.c b/gcc/testsuite/gcc.dg/attr-ifunc-3.c
index fbd972d..653af85 100644
--- a/gcc/testsuite/gcc.dg/attr-ifunc-3.c
+++ b/gcc/testsuite/gcc.dg/attr-ifunc-3.c
@@ -14,7 +14,7 @@ static int __attribute__((noinline))
return 0;
}
-static void *resolver (void)
+static __typeof__ (implementation) *resolver (void)
{
return (void *)implementation;
}
diff --git a/gcc/testsuite/gcc.dg/attr-ifunc-4.c b/gcc/testsuite/gcc.dg/attr-ifunc-4.c
index 698c06b..5c87445 100644
--- a/gcc/testsuite/gcc.dg/attr-ifunc-4.c
+++ b/gcc/testsuite/gcc.dg/attr-ifunc-4.c
@@ -4,15 +4,15 @@
#include <stdio.h>
-static void *implementation (void)
+static int implementation (void)
{
printf ("'ere I am JH\n");
return 0;
}
-static void *resolver (void)
+static __typeof__ (implementation)* resolver (void)
{
- return (void *)implementation;
+ return implementation;
}
static int magic (void) __attribute__ ((ifunc ("resolver")));
diff --git a/gcc/testsuite/gcc.dg/attr-ifunc-5.c b/gcc/testsuite/gcc.dg/attr-ifunc-5.c
index 4dddec4..1ecc391 100644
--- a/gcc/testsuite/gcc.dg/attr-ifunc-5.c
+++ b/gcc/testsuite/gcc.dg/attr-ifunc-5.c
@@ -4,13 +4,13 @@
#include <stdio.h>
-static void *implementation (void)
+static int implementation (void)
{
printf ("'ere I am JH\n");
return 0;
}
-static void *resolver (void)
+static __typeof__ (implementation)* resolver (void)
{
return (void *)implementation;
}
diff --git a/gcc/testsuite/gcc.dg/pr81854.c b/gcc/testsuite/gcc.dg/pr81854.c
index 4b0f4da..b8499f8 100644
--- a/gcc/testsuite/gcc.dg/pr81854.c
+++ b/gcc/testsuite/gcc.dg/pr81854.c
@@ -1,5 +1,6 @@
/* PR c/81854 - weak alias of an incompatible symbol accepted
- { dg-do compile } */
+ { dg-do compile }
+ { dg-require-ifunc "" } */
const char* __attribute__ ((weak, alias ("f0_target")))
f0 (void); /* { dg-error "alias between function and variable" } */
diff --git a/gcc/testsuite/lib/target-supports.exp b/gcc/testsuite/lib/target-supports.exp
index 43d3c2c..f04687f 100644
--- a/gcc/testsuite/lib/target-supports.exp
+++ b/gcc/testsuite/lib/target-supports.exp
@@ -439,7 +439,8 @@ proc check_ifunc_available { } {
#ifdef __cplusplus
extern "C"
#endif
- void g() {}
+ typedef void F (void);
+ F* g() {}
void f() __attribute__((ifunc("g")));
}]
}