r3953 - trunk/birnet



Author: timj
Date: 2006-10-09 19:35:14 -0400 (Mon, 09 Oct 2006)
New Revision: 3953

Modified:
   trunk/birnet/ChangeLog
   trunk/birnet/birnetcdefs.h
Log:
Tue Oct 10 01:34:05 2006  Tim Janik  <timj gtk org>                                                                                                           
                                                                                                                                                              
        * birnetcdefs.h: provide extra prototype for extern inline functions                                                                                  
        for newer gcc.                                                                                                                                        
                                                                                                                                                              



Modified: trunk/birnet/ChangeLog
===================================================================
--- trunk/birnet/ChangeLog	2006-10-09 23:26:28 UTC (rev 3952)
+++ trunk/birnet/ChangeLog	2006-10-09 23:35:14 UTC (rev 3953)
@@ -1,3 +1,8 @@
+Tue Oct 10 01:34:05 2006  Tim Janik  <timj gtk org>
+
+	* birnetcdefs.h: provide extra prototype for extern inline functions
+	for newer gcc.
+
 Mon Oct  9 23:58:21 2006  Tim Janik  <timj gtk org>
 
 	* birnetutils.cc: fixed typo in condition.

Modified: trunk/birnet/birnetcdefs.h
===================================================================
--- trunk/birnet/birnetcdefs.h	2006-10-09 23:26:28 UTC (rev 3952)
+++ trunk/birnet/birnetcdefs.h	2006-10-09 23:35:14 UTC (rev 3953)
@@ -71,9 +71,6 @@
 #define BIRNET_WARNING(...)		do { BIRNET__RUNTIME_PROBLEM ('W', BIRNET_LOG_DOMAIN, __FILE__, __LINE__, BIRNET_SIMPLE_FUNCTION, __VA_ARGS__); } while (0)
 #define BIRNET_ERROR(...)		do { BIRNET__RUNTIME_PROBLEM ('E', BIRNET_LOG_DOMAIN, __FILE__, __LINE__, BIRNET_SIMPLE_FUNCTION, __VA_ARGS__); BIRNET_ABORT_NORETURN(); } while (0)
 #define BIRNET_ABORT_NORETURN()		birnet_abort_noreturn()
-/* the above macros rely on a problem handler macro: */
-// BIRNET__RUNTIME_PROBLEM(ErrorWarningReturnAssertNotreach,domain,file,line,funcname,exprformat,...); // noreturn cases: 'E', 'A', 'N'
-extern inline void __attribute__ ((noreturn)) birnet_abort_noreturn (void) { while (1) *(void*volatile*)0; }
 
 /* --- convenient aliases --- */
 #ifdef  _BIRNET_SOURCE_EXTENSIONS
@@ -338,6 +335,12 @@
   void              (*cond_destroy)         (BirnetCond        *cond);
 } BirnetThreadTable;
 
+/* --- implementation bits --- */
+/* the above macros rely on a problem handler macro: */
+// BIRNET__RUNTIME_PROBLEM(ErrorWarningReturnAssertNotreach,domain,file,line,funcname,exprformat,...); // noreturn cases: 'E', 'A', 'N'
+extern inline void birnet_abort_noreturn (void) BIRNET_NORETURN;
+extern inline void birnet_abort_noreturn (void) { while (1) *(void*volatile*)0; }
+
 BIRNET_EXTERN_C_END();
 
 #endif /* __BIRNET_CDEFS_H__ */




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