posix: signal.h: reorder where sigval and siginfo_t are declared In order to avoid warnings, declare `union sigval` ahead of `struct sigevent` and declare `siginfo_t` ahead of `struct sigaction`. Signed-off-by: Chris Friedt <cfriedt@tenstorrent.com>
diff --git a/include/zephyr/posix/posix_signal.h b/include/zephyr/posix/posix_signal.h index 3e23fdf..d0e8907 100644 --- a/include/zephyr/posix/posix_signal.h +++ b/include/zephyr/posix/posix_signal.h
@@ -98,7 +98,15 @@ #if defined(_POSIX_REALTIME_SIGNALS) || defined(__DOXYGEN__) -union sigval; /* forward declaration (to preserve spec order) */ +/* slightly out of order w.r.t. the specification */ +#if !defined(_SIGVAL_DECLARED) && !defined(__sigval_defined) +union sigval { + int sival_int; + void *sival_ptr; +}; +#define _SIGVAL_DECLARED +#define __sigval_defined +#endif #if !defined(_SIGEVENT_DECLARED) && !defined(__sigevent_defined) struct sigevent { @@ -121,17 +129,28 @@ #endif /* defined(_POSIX_REALTIME_SIGNALS) || defined(__DOXYGEN__) */ -#if !defined(_SIGVAL_DECLARED) && !defined(__sigval_defined) -union sigval { - int sival_int; - void *sival_ptr; -}; -#define _SIGVAL_DECLARED -#define __sigval_defined -#endif - /* SIGRTMIN and SIGRTMAX defined above */ +#if !defined(_SIGINFO_T_DECLARED) && !defined(__siginfo_t_defined) +typedef struct { + void *si_addr; +#if defined(_XOPEN_STREAMS) || defined(__DOXYGEN__) + long si_band; +#endif + union sigval si_value; + pid_t si_pid; + uid_t si_uid; + int si_signo; + int si_code; +#if defined(_XOPEN_SOURCE) || defined(__DOXYGEN__) + int si_errno; +#endif + int si_status; +} siginfo_t; +#define _SIGINFO_T_DECLARED +#define __siginfo_t_defined +#endif + #if defined(_POSIX_REALTIME_SIGNALS) || defined(__DOXYGEN__) #if !defined(_SIGACTION_DECLARED) && !defined(__sigaction_defined) @@ -200,26 +219,6 @@ #endif /* defined(_POSIX_REALTIME_SIGNALS) || defined(__DOXYGEN__) */ -#if !defined(_SIGINFO_T_DECLARED) && !defined(__siginfo_t_defined) -typedef struct { - void *si_addr; -#if defined(_XOPEN_STREAMS) || defined(__DOXYGEN__) - long si_band; -#endif - union sigval si_value; - pid_t si_pid; - uid_t si_uid; - int si_signo; - int si_code; -#if defined(_XOPEN_SOURCE) || defined(__DOXYGEN__) - int si_errno; -#endif - int si_status; -} siginfo_t; -#define _SIGINFO_T_DECLARED -#define __siginfo_t_defined -#endif - /* Siginfo codes are defined below */ #if !defined(_SIGHANDLER_T_DECLARED) && !defined(__sighandler_t_defined)