public inbox for gcc-cvs@sourceware.org
help / color / mirror / Atom feed
* [gcc r14-6411] ada: Fix Ada bootstrap on FreeBSD
@ 2023-12-11 12:38 Rainer Orth
  0 siblings, 0 replies; only message in thread
From: Rainer Orth @ 2023-12-11 12:38 UTC (permalink / raw)
  To: gcc-cvs

https://gcc.gnu.org/g:8d2e5ad7f1723c9125c2d511c281b4fe62ff29cd

commit r14-6411-g8d2e5ad7f1723c9125c2d511c281b4fe62ff29cd
Author: Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
Date:   Mon Dec 11 13:38:19 2023 +0100

    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.

Diff:
---
 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 14de0feb32a..21784b1202b 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
  *

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2023-12-11 12:38 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-12-11 12:38 [gcc r14-6411] ada: Fix Ada bootstrap on FreeBSD Rainer Orth

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).