ada: Fix Ada bootstrap on Solaris
Checks
Context |
Check |
Description |
linaro-tcwg-bot/tcwg_gcc_build--master-arm |
success
|
Testing passed
|
linaro-tcwg-bot/tcwg_gcc_build--master-aarch64 |
success
|
Testing passed
|
linaro-tcwg-bot/tcwg_gcc_check--master-aarch64 |
success
|
Testing passed
|
Commit Message
The recent warning patches broke Ada bootstrap on Solaris:
adaint.c: In function '__gnat_kill':
adaint.c:3597:3: error: implicit declaration of function 'kill' [-Wimplicit-function-declaration]
3597 | kill (pid, sig);
| ^~~~
expect.c: In function '__gnat_expect_poll':
expect.c:409:5: error: implicit declaration of function 'memset' [-Wimplicit-function-declaration]
409 | FD_ZERO (&rset);
| ^~~~~~~
expect.c:55:1: note: include '<string.h>' or provide a declaration of 'memset'
54 | #include <sys/wait.h>
+++ |+#include <string.h>
55 | #endif
I'm now including the necessary headers: <signal.h> for kill and
<string.h> for memset. However, I found the GNAT C sources to be an
incredible and hard to untangle maze: instead of using autoconf, they
are generously sprinkled with deeply nested platform macros, so I may
well have included the headers in an inappropriate place.
Bootstrapped without regressions on i386-pc-solaris2.11,
sparc-sun-solaris2.11, x86_64-pc-linux-gnu, and
x86_64-apple-darwin23.1.0.
Ok for trunk?
Rainer
Comments
> The recent warning patches broke Ada bootstrap on Solaris:
>
> adaint.c: In function '__gnat_kill':
> adaint.c:3597:3: error: implicit declaration of function 'kill' [-Wimplicit-function-declaration]
> 3597 | kill (pid, sig);
> | ^~~~
>
> expect.c: In function '__gnat_expect_poll':
> expect.c:409:5: error: implicit declaration of function 'memset' [-Wimplicit-function-declaration]
> 409 | FD_ZERO (&rset);
> | ^~~~~~~
> expect.c:55:1: note: include '<string.h>' or provide a declaration of 'memset'
> 54 | #include <sys/wait.h>
> +++ |+#include <string.h>
> 55 | #endif
>
> I'm now including the necessary headers: <signal.h> for kill and
> <string.h> for memset. However, I found the GNAT C sources to be an
> incredible and hard to untangle maze: instead of using autoconf, they
> are generously sprinkled with deeply nested platform macros, so I may
> well have included the headers in an inappropriate place.
>
> Bootstrapped without regressions on i386-pc-solaris2.11,
> sparc-sun-solaris2.11, x86_64-pc-linux-gnu, and
> x86_64-apple-darwin23.1.0.
>
> Ok for trunk?
OK, thanks.
# HG changeset patch
# Parent 5cf4f08be31b5169b377de570ac0ab0f159161af
ada: Fix Ada bootstrap on Solaris
@@ -243,6 +243,7 @@ UINT __gnat_current_ccs_encoding;
#define DIR_SEPARATOR '\\'
#else
+#include <signal.h>
#include <utime.h>
#endif
@@ -41,6 +41,7 @@
#include "adaint.h"
#include <sys/types.h>
+#include <string.h>
#if defined (__vxworks) && defined (__RTP__)
# include <wait.h>