Fix testsuite fallout from r252976.
authorMartin Sebor <msebor@redhat.com>
Wed, 20 Sep 2017 22:19:53 +0000 (22:19 +0000)
committerMartin Sebor <msebor@gcc.gnu.org>
Wed, 20 Sep 2017 22:19:53 +0000 (16:19 -0600)
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

gcc/testsuite/ChangeLog
gcc/testsuite/gcc.dg/attr-ifunc-1.c
gcc/testsuite/gcc.dg/attr-ifunc-2.c
gcc/testsuite/gcc.dg/attr-ifunc-3.c
gcc/testsuite/gcc.dg/attr-ifunc-4.c
gcc/testsuite/gcc.dg/attr-ifunc-5.c
gcc/testsuite/gcc.dg/pr81854.c
gcc/testsuite/lib/target-supports.exp

index a636327cd939127b5efe52daa9774c0daba570a1..fd89f9ec878fd2bbec2e8bac7dd3240ee3767d9f 100644 (file)
@@ -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
index 3f7450e2c699ab9e964c9e1b2f5bdf32c8e2e221..f1a198665635059c4baefebfa28f1d3cc5f6133f 100644 (file)
@@ -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;
 }
index 8375af9988c3e7d49bd90f4461cda0eaf6454c5e..8221cd431381e7ea1557784995272b8e0d9f870f 100644 (file)
@@ -1,6 +1,8 @@
 /* { dg-require-ifunc "" } */
 
-static void *resolver ()
+typedef int F (void);
+
+static F *resolver ()
 {
   return 0;
 }
index fbd972d7caabb812786ace5520c2cbcb010870ac..653af856d6bbf827111b214b95a99069231735b6 100644 (file)
@@ -14,7 +14,7 @@ static int __attribute__((noinline))
   return 0;
 }
 
-static void *resolver (void)
+static __typeof__ (implementation) *resolver (void)
 {
   return (void *)implementation;
 }
index 698c06b1a749e1ebe4daca2d0974d782f0ea51ac..5c87445b3943fe8a1ed4e8d6aa4753608019a4f8 100644 (file)
@@ -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")));
index 4dddec430efb03a37abf0d581a638db058b88dee..1ecc391f7397476ee200fa5e5316bd27a6591127 100644 (file)
@@ -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;
 }
index 4b0f4da0f810f60ee1b80d8560bc5e036a2be0a3..b8499f8b130930c1889f33d8f07e1ceab1b0754d 100644 (file)
@@ -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" } */
index 43d3c2c196dda7a74da442f65648a3e7b12686bd..f04687f382c1090789c1968d84de4d496e67b845 100644 (file)
@@ -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")));
     }]
 }