[gdb/testsuite] Fix gdb.opt/inline-small-func.exp with clang
authorTom de Vries <tdevries@suse.de>
Tue, 26 Jul 2022 13:02:18 +0000 (15:02 +0200)
committerTom de Vries <tdevries@suse.de>
Tue, 26 Jul 2022 13:02:18 +0000 (15:02 +0200)
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

index 66323952cf40e87063fdb9721ffe09c705c00746..44b6e86fc15bb108a68e18cf139cddb9f5a38dec 100644 (file)
    You should have received a copy of the GNU General Public License
    along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
+#ifdef __GNUC__
+#define ATTR __attribute__((always_inline))
+#else
+#define ATTR
+#endif
+
 int counter = 42;
 
-inline void
+inline ATTR void
 callee () {
   counter = 0; /* callee: body.  */
 }