diff options
Diffstat (limited to 'src/os_unix.c')
-rw-r--r-- | src/os_unix.c | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/src/os_unix.c b/src/os_unix.c index 32850f3bf2..1c00f22793 100644 --- a/src/os_unix.c +++ b/src/os_unix.c @@ -3376,7 +3376,15 @@ exit_scroll(void) } #ifdef USE_GCOV_FLUSH -extern void __gcov_flush(); +# if (defined(__GNUC__) \ + && ((__GNUC__ == 11 && __GNUC_MINOR__ >= 1) || (__GNUC__ >= 12))) \ + || (defined(__clang__) && (__clang_major__ >= 12)) +extern void __gcov_dump(void); +extern void __gcov_reset(void); +# define __gcov_flush() do { __gcov_dump(); __gcov_reset(); } while (0) +# else +extern void __gcov_flush(void); +# endif #endif void |