From 8d2e5ad7f1723c9125c2d511c281b4fe62ff29cd Mon Sep 17 00:00:00 2001 From: Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> Date: Mon, 11 Dec 2023 13:38:19 +0100 Subject: [PATCH] ada: Fix Ada bootstrap on FreeBSD Ada bootstrap on FreeBSD/amd64 was also broken by the recent warning changes: terminals.c: In function 'allocate_pty_desc': terminals.c:1200:12: error: implicit declaration of function 'openpty'; did you mean 'openat'? [-Wimplicit-function-declaration] 1200 | status = openpty (&master_fd, &slave_fd, NULL, NULL, NULL); | ^~~~~~~ | openat terminals.c: At top level: terminals.c:1268:9: warning: "TABDLY" redefined 1268 | #define TABDLY 0 | ^~~~~~ In file included from /usr/include/termios.h:38, from terminals.c:1109: /usr/include/sys/_termios.h:111:9: note: this is the location of the previous definition 111 | #define TABDLY 0x00000004 /* tab delay mask */ | ^~~~~~ make[7]: *** [../gcc-interface/Makefile:302: terminals.o] Error 1 Fixed by including the necessary header and guarding the fallback definition of TABDLY. This allowed a 64-bit-only bootstrap on x86_64-unknown-freebsd14.0 to complete successfully. 2023-12-11 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> gcc/ada: * terminals.c [__FreeBSD__]: Include <libutil.h>. (TABDLY): Only define if missing. --- gcc/ada/terminals.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/gcc/ada/terminals.c b/gcc/ada/terminals.c index 14de0feb32ac..21784b1202b8 100644 --- a/gcc/ada/terminals.c +++ b/gcc/ada/terminals.c @@ -1125,6 +1125,9 @@ __gnat_setup_winsize (void *desc ATTRIBUTE_UNUSED, #if defined (__APPLE__) # include <util.h> #endif +#if defined (__FreeBSD__) +# include <libutil.h> +#endif #define CDISABLE _POSIX_VDISABLE @@ -1265,11 +1268,13 @@ allocate_pty_desc (pty_desc **desc) { #ifndef NLDLY #define NLDLY 0 #define CRDLY 0 -#define TABDLY 0 #define BSDLY 0 #define VTDLY 0 #define FFDLY 0 #endif +#ifndef TABDLY +#define TABDLY 0 +#endif /* child_setup_tty - set terminal properties * -- GitLab