From 206977b2edecbe086beb23a32c9c114e2d5af28d Mon Sep 17 00:00:00 2001 From: Tom de Vries Date: Tue, 26 Jul 2022 15:02:18 +0200 Subject: [PATCH] [gdb/testsuite] Fix gdb.opt/inline-small-func.exp with clang When running test-case gdb.opt/inline-small-func.exp with clang 12.0.1, I run into: ... gdb compile failed, /usr/bin/ld: inline-small-func0.o: in function `main': inline-small-func.c:21: undefined reference to `callee' clang-12.0: error: linker command failed with exit code 1 \ (use -v to see invocation) UNTESTED: gdb.opt/inline-small-func.exp: failed to prepare ... Fix this by using __attribute__((always_inline)). Tested on x86_64-linux. --- gdb/testsuite/gdb.opt/inline-small-func.h | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/gdb/testsuite/gdb.opt/inline-small-func.h b/gdb/testsuite/gdb.opt/inline-small-func.h index 66323952cf4..44b6e86fc15 100644 --- a/gdb/testsuite/gdb.opt/inline-small-func.h +++ b/gdb/testsuite/gdb.opt/inline-small-func.h @@ -13,9 +13,15 @@ You should have received a copy of the GNU General Public License along with this program. If not, see . */ +#ifdef __GNUC__ +#define ATTR __attribute__((always_inline)) +#else +#define ATTR +#endif + int counter = 42; -inline void +inline ATTR void callee () { counter = 0; /* callee: body. */ } -- 2.30.2