diff options
author | Martin Sebor <msebor@redhat.com> | 2017-09-20 22:19:53 +0000 |
---|---|---|
committer | Martin Sebor <msebor@gcc.gnu.org> | 2017-09-20 16:19:53 -0600 |
commit | 5f2fd590311e5ff636404de6771a7b0dbb8f788d (patch) | |
tree | e9a4dc71935c4a61cf048ff1f14da5a760b87163 /gcc | |
parent | 329c9aee7390d033fc3f186d72d3fbe2138de80c (diff) | |
download | gcc-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/ChangeLog | 11 | ||||
-rw-r--r-- | gcc/testsuite/gcc.dg/attr-ifunc-1.c | 4 | ||||
-rw-r--r-- | gcc/testsuite/gcc.dg/attr-ifunc-2.c | 4 | ||||
-rw-r--r-- | gcc/testsuite/gcc.dg/attr-ifunc-3.c | 2 | ||||
-rw-r--r-- | gcc/testsuite/gcc.dg/attr-ifunc-4.c | 6 | ||||
-rw-r--r-- | gcc/testsuite/gcc.dg/attr-ifunc-5.c | 4 | ||||
-rw-r--r-- | gcc/testsuite/gcc.dg/pr81854.c | 3 | ||||
-rw-r--r-- | gcc/testsuite/lib/target-supports.exp | 3 |
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"))); }] } |