[glib: 1/2] Better detection of the cleanup attribute.




commit 03753cda7909983e3b45ba2dd5572835b6bd37d3
Author: Alvarito050506 <donfrutosgomez gmail com>
Date:   Wed Aug 11 19:33:08 2021 -0300

    Better detection of the cleanup attribute.
    
    Use g_macro__has_attribute to detect it instead of
    hardcoding __GNUC__ || __clang__. This adds support
    for a few compiler and is consistent with the rest
    of the gmacros.h file.

 docs/reference/glib/glib-sections.txt | 1 +
 glib/gmacros.h                        | 3 ++-
 2 files changed, 3 insertions(+), 1 deletion(-)
---
diff --git a/docs/reference/glib/glib-sections.txt b/docs/reference/glib/glib-sections.txt
index 35b58cfb0..340e29dfa 100644
--- a/docs/reference/glib/glib-sections.txt
+++ b/docs/reference/glib/glib-sections.txt
@@ -783,6 +783,7 @@ g_macro__has_attribute_fallthrough
 g_macro__has_attribute_may_alias
 g_macro__has_attribute___noinline__
 g_macro__has_attribute_warn_unused_result
+g_macro__has_attribute_cleanup
 </SECTION>
 
 <SECTION>
diff --git a/glib/gmacros.h b/glib/gmacros.h
index 7fc34d59d..d528531f4 100644
--- a/glib/gmacros.h
+++ b/glib/gmacros.h
@@ -142,6 +142,7 @@
 #define g_macro__has_attribute___deprecated__ G_GNUC_CHECK_VERSION (3, 1)
 #define g_macro__has_attribute_may_alias G_GNUC_CHECK_VERSION (3, 3)
 #define g_macro__has_attribute_warn_unused_result G_GNUC_CHECK_VERSION (3, 4)
+#define g_macro__has_attribute_cleanup G_GNUC_CHECK_VERSION (3, 3)
 
 #endif
 
@@ -1187,7 +1188,7 @@
 
 #ifndef __GI_SCANNER__
 
-#if defined (__GNUC__) || defined (__clang__)
+#if g_macro__has_attribute(cleanup)
 
 /* these macros are private */
 #define _GLIB_AUTOPTR_FUNC_NAME(TypeName) glib_autoptr_cleanup_##TypeName


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]