From 3bd168c181a618a1c52bdd9bfaa005496fa3b1f1 Mon Sep 17 00:00:00 2001 From: Eric Biggers Date: Thu, 30 Mar 2023 00:00:56 -0700 Subject: [PATCH] compiler.h: remove _cold_attribute This abstraction layer serves no purpose other than supporting gcc 4.3 and earlier, which is too old to bother supporting. Just use __attribute__((cold)) directly. --- include/wimlib/compiler.h | 7 ------- include/wimlib/error.h | 20 ++++++++------------ include/wimlib/win32_common.h | 16 ++++++++-------- 3 files changed, 16 insertions(+), 27 deletions(-) diff --git a/include/wimlib/compiler.h b/include/wimlib/compiler.h index 40f92762..2f712545 100644 --- a/include/wimlib/compiler.h +++ b/include/wimlib/compiler.h @@ -73,13 +73,6 @@ /* Prefetch into L1 cache for write. */ #define prefetchw(addr) __builtin_prefetch((addr), 1) -/* Hint that the annotated function is rarely called. */ -#if GCC_PREREQ(4, 4) || __has_attribute(cold) -# define _cold_attribute __attribute__((cold)) -#else -# define _cold_attribute -#endif - /* Hint that the annotated function takes a printf()-like format string and * arguments. This is currently disabled on Windows because MinGW does not * support this attribute on functions taking wide-character strings. */ diff --git a/include/wimlib/error.h b/include/wimlib/error.h index 0e44d334..062acacf 100644 --- a/include/wimlib/error.h +++ b/include/wimlib/error.h @@ -7,21 +7,17 @@ #include "wimlib/compiler.h" #include "wimlib/types.h" -void -wimlib_error(const tchar *format, ...) - _format_attribute(printf, 1, 2) _cold_attribute; +void _format_attribute(printf, 1, 2) __attribute__((cold)) +wimlib_error(const tchar *format, ...); -void -wimlib_error_with_errno(const tchar *format, ...) - _format_attribute(printf, 1, 2) _cold_attribute; +void _format_attribute(printf, 1, 2) __attribute__((cold)) +wimlib_error_with_errno(const tchar *format, ...); -void -wimlib_warning(const tchar *format, ...) - _format_attribute(printf, 1, 2) _cold_attribute; +void _format_attribute(printf, 1, 2) __attribute__((cold)) +wimlib_warning(const tchar *format, ...); -void -wimlib_warning_with_errno(const tchar *format, ...) - _format_attribute(printf, 1, 2) _cold_attribute; +void _format_attribute(printf, 1, 2) __attribute__((cold)) +wimlib_warning_with_errno(const tchar *format, ...); #define ERROR(format, ...) wimlib_error(T(format), ## __VA_ARGS__) #define ERROR_WITH_ERRNO(format, ...) wimlib_error_with_errno(T(format), ## __VA_ARGS__) diff --git a/include/wimlib/win32_common.h b/include/wimlib/win32_common.h index 320da3eb..46faf6ac 100644 --- a/include/wimlib/win32_common.h +++ b/include/wimlib/win32_common.h @@ -145,17 +145,17 @@ win32_get_drive_path(const wchar_t *file_path, wchar_t drive_path[7]); bool win32_try_to_attach_wof(const wchar_t *drive); -void -win32_warning(DWORD err, const wchar_t *format, ...) _cold_attribute; +void __attribute__((cold)) +win32_warning(DWORD err, const wchar_t *format, ...); -void -win32_error(DWORD err, const wchar_t *format, ...) _cold_attribute; +void __attribute__((cold)) +win32_error(DWORD err, const wchar_t *format, ...); -void -winnt_warning(NTSTATUS status, const wchar_t *format, ...) _cold_attribute; +void __attribute__((cold)) +winnt_warning(NTSTATUS status, const wchar_t *format, ...); -void -winnt_error(NTSTATUS status, const wchar_t *format, ...) _cold_attribute; +void __attribute__((cold)) +winnt_error(NTSTATUS status, const wchar_t *format, ...); NTSTATUS winnt_fsctl(HANDLE h, u32 code, const void *in, u32 in_size, -- 2.43.0