]> git.ipfire.org Git - thirdparty/libarchive.git/commitdiff
Fix GCC version detection for __attribute__((deprecated)) (#2472)
authorSam James <sam@gentoo.org>
Wed, 1 Jan 2025 18:56:51 +0000 (18:56 +0000)
committerGitHub <noreply@github.com>
Wed, 1 Jan 2025 18:56:51 +0000 (10:56 -0800)
The #if condition as-written fails for any major >= 3 if minor < 1, e.g.
GCC 15.0 (while in development).

Use the idiom described in the GCC docs [0] to avoid this.

[0] https://gcc.gnu.org/onlinedocs/cpp/Common-Predefined-Macros.html

Fixes: ab94a813b0f64cbc1bcb952bf55424a2d9c7f1d9
libarchive/archive_entry.h

index de2d2ffd8e417d766b18ee91fd22925eb04fc155..079233c275650644a1e3e2bd612a3b4467f63524 100644 (file)
@@ -127,7 +127,8 @@ typedef ssize_t la_ssize_t;
 # define __LA_DECL
 #endif
 
-#if defined(__GNUC__) && __GNUC__ >= 3 && __GNUC_MINOR__ >= 1
+#if defined(__GNUC__) && (__GNUC__ > 3 || \
+    (__GNUC__ == 3 && __GNUC_MINOR__ >= 1))
 # define __LA_DEPRECATED __attribute__((deprecated))
 #else
 # define __LA_DEPRECATED