History

Make non-null return attributes meaningful with gcc 4.9 and up

Mans Rullgard committed 11 years ago

Commit 42d30cf1 parent 61b964b1 file · +13 −0Browse files

Unified · Split

src/sox.h+13−0
@@ -32,6 +32,19 @@ extern "C" { · 31 unmodified lines
3232 #pragma GCC system_header
3333 #endif
3434
35+#if defined __GNUC__
36+#define LSX_GCC(maj, min) \
37+ ((__GNUC__ > (maj)) || (__GNUC__ == (maj) && __GNUC_MINOR__ >= (min)))
38+#else
39+#define LSX_GCC(maj, min) 0
40+#endif
41+
42+#if LSX_GCC(4,9)
43+#define _Ret_ __attribute__ ((returns_nonnull))
44+#define _Ret_valid_ _Ret_
45+#define _Ret_z_ _Ret_
46+#endif
47+
3548 /*****************************************************************************
3649 API decoration macros:
3750 Mostly for documentation purposes. For some compilers, decorations also affect

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t