Hi!
After r254437 "Instrument function exit with __builtin_unreachable in
C++" (assuming that I bisected that correctly), I'm seeing a number of
C++ "ifunc" test cases regress from PASS to UNSUPPORTED. This is because
of:
ifunc_available29518.c: In function 'void (* g())()':
ifunc_available29518.c:6:15: warning: no return statement in function
returning non-void [-Wreturn-type]
This is not a problem in C testing, where that diagnostic explicitly
needs to be enabled whereas in C++ mode it's enabled by default.
OK to fix that as follows? If approving this, please respond with
"Reviewed-by: NAME <EMAIL>" so that your effort will be recorded. See
<https://gcc.gnu.org/wiki/Reviewed-by>.
diff --git gcc/testsuite/lib/target-supports.exp
gcc/testsuite/lib/target-supports.exp
index d7ef04f..63cc75b 100644
--- gcc/testsuite/lib/target-supports.exp
+++ gcc/testsuite/lib/target-supports.exp
@@ -439,8 +439,9 @@ proc check_ifunc_available { } {
#ifdef __cplusplus
extern "C" {
#endif
+ extern void f_ ();
typedef void F (void);
- F* g (void) {}
+ F* g (void) { return &f_; }
void f () __attribute__ ((ifunc ("g")));
#ifdef __cplusplus
}
Grüße
Thomas