Changes in libcfa/src/bits/debug.hfa [3e2b9c9:1c40091]
- File:
-
- 1 edited
-
libcfa/src/bits/debug.hfa (modified) (6 diffs)
Legend:
- Unmodified
- Added
- Removed
-
libcfa/src/bits/debug.hfa
r3e2b9c9 r1c40091 9 9 // Author : Thierry Delisle 10 10 // Created On : Mon Nov 28 12:27:26 2016 11 // Last Modified By : Andrew Beach12 // Last Modified On : Mon Apr 27 10:15:00 202013 // Update Count : 1011 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Thu Nov 21 17:06:58 2019 13 // Update Count : 8 14 14 // 15 15 16 16 #pragma once 17 18 #include <assert.h>19 17 20 18 #ifdef __CFA_DEBUG__ … … 23 21 #define __cfaabi_dbg_ctx __PRETTY_FUNCTION__ 24 22 #define __cfaabi_dbg_ctx2 , __PRETTY_FUNCTION__ 25 #define __cfaabi_dbg_ctx_param const char caller[] 26 #define __cfaabi_dbg_ctx_param2 , const char caller[] 27 #define __cfaabi_dbg_ctx_fwd caller 28 #define __cfaabi_dbg_ctx_fwd2 , caller 23 #define __cfaabi_dbg_ctx_param const char * caller 24 #define __cfaabi_dbg_ctx_param2 , const char * caller 29 25 #else 30 26 #define __cfaabi_dbg_debug_do(...) … … 34 30 #define __cfaabi_dbg_ctx_param 35 31 #define __cfaabi_dbg_ctx_param2 36 #define __cfaabi_dbg_ctx_fwd37 #define __cfaabi_dbg_ctx_fwd238 32 #endif 39 33 … … 42 36 #endif 43 37 #include <stdarg.h> 38 #include <stdio.h> 44 39 45 extern void __cfaabi_bits_write( int fd, const char buffer[], int len );40 extern void __cfaabi_bits_write( int fd, const char *buffer, int len ); 46 41 extern void __cfaabi_bits_acquire(); 47 42 extern void __cfaabi_bits_release(); … … 50 45 extern void __cfaabi_bits_print_vararg( int fd, const char fmt[], va_list arg ); 51 46 extern void __cfaabi_bits_print_buffer( int fd, char buffer[], int buffer_size, const char fmt[], ... ) __attribute__(( format(printf, 4, 5) )); 52 53 #if defined(__CFA_DEBUG_PRINT__) \54 || defined(__CFA_DEBUG_PRINT_IO__) || defined(__CFA_DEBUG_PRINT_IO_CORE__) \55 || defined(__CFA_DEBUG_PRINT_MONITOR__) || defined(__CFA_DEBUG_PRINT_PREEMPTION__) \56 || defined(__CFA_DEBUG_PRINT_RUNTIME_CORE__) || defined(__CFA_DEBUG_PRINT_EXCEPTION__) \57 || defined(__CFA_DEBUG_PRINT_READY_QUEUE__)58 #include <stdio.h>59 #include <unistd.h>60 #endif61 47 #ifdef __cforall 62 48 } 63 49 #endif 64 50 65 // Deprecated: Use the versions with the new module names.66 51 #ifdef __CFA_DEBUG_PRINT__ 67 52 #define __cfaabi_dbg_write( buffer, len ) __cfaabi_bits_write( STDERR_FILENO, buffer, len ) 68 53 #define __cfaabi_dbg_acquire() __cfaabi_bits_acquire() 69 54 #define __cfaabi_dbg_release() __cfaabi_bits_release() 70 #define __cfaabi_dbg_print_safe(...) __cfaabi_bits_print_safe ( STDERR_FILENO, __VA_ARGS__)71 #define __cfaabi_dbg_print_nolock(...) __cfaabi_bits_print_nolock ( STDERR_FILENO, __VA_ARGS__)72 #define __cfaabi_dbg_print_buffer(...) __cfaabi_bits_print_buffer ( STDERR_FILENO, __VA_ARGS__)73 #define __cfaabi_dbg_print_buffer_decl(...) char __dbg_text[256]; int __dbg_len = snprintf( __dbg_text, 256, __VA_ARGS__ ); __cfaabi_bits_write( STDERR_FILENO,__dbg_text, __dbg_len );74 #define __cfaabi_dbg_print_buffer_local(...) __dbg_len = snprintf( __dbg_text, 256, __VA_ARGS__ ); __cfaabi_dbg_write( STDERR_FILENO,__dbg_text, __dbg_len );55 #define __cfaabi_dbg_print_safe(...) __cfaabi_bits_print_safe (__VA_ARGS__) 56 #define __cfaabi_dbg_print_nolock(...) __cfaabi_bits_print_nolock (__VA_ARGS__) 57 #define __cfaabi_dbg_print_buffer(...) __cfaabi_bits_print_buffer (__VA_ARGS__) 58 #define __cfaabi_dbg_print_buffer_decl(...) char __dbg_text[256]; int __dbg_len = snprintf( __dbg_text, 256, __VA_ARGS__ ); __cfaabi_bits_write( __dbg_text, __dbg_len ); 59 #define __cfaabi_dbg_print_buffer_local(...) __dbg_len = snprintf( __dbg_text, 256, __VA_ARGS__ ); __cfaabi_dbg_write( __dbg_text, __dbg_len ); 75 60 #else 76 61 #define __cfaabi_dbg_write(...) ((void)0) … … 84 69 #endif 85 70 86 // Debug print functions and statements:87 // Most are wrappers around the bits printing function but are not always used.88 // If they are used depends if the group (first argument) is active or not. The group must be one89 // defined belowe. The other arguments depend on the wrapped function.90 #define __cfadbg_write(group, buffer, len) \91 __CFADBG_PRINT_GROUP_##group(__cfaabi_bits_write(STDERR_FILENO, buffer, len))92 #define __cfadbg_acquire(group) \93 __CFADBG_PRINT_GROUP_##group(__cfaabi_bits_acquire())94 #define __cfadbg_release(group) \95 __CFADBG_PRINT_GROUP_##group(__cfaabi_bits_release())96 #define __cfadbg_print_safe(group, ...) \97 __CFADBG_PRINT_GROUP_##group(__cfaabi_bits_print_safe(STDERR_FILENO, __VA_ARGS__))98 #define __cfadbg_print_nolock(group, ...) \99 __CFADBG_PRINT_GROUP_##group(__cfaabi_bits_print_nolock(STDERR_FILENO, __VA_ARGS__))100 #define __cfadbg_print_buffer(group, ...) \101 __CFADBG_PRINT_GROUP_##group(__cfaabi_bits_print_buffer(STDERR_FILENO, __VA_ARGS__))102 #define __cfadbg_print_buffer_decl(group, ...) \103 __CFADBG_PRINT_GROUP_##group(char __dbg_text[256]; int __dbg_len = snprintf( __dbg_text, 256, __VA_ARGS__ ); __cfaabi_bits_write( __dbg_text, __dbg_len ))104 #define __cfadbg_print_buffer_local(group, ...) \105 __CFADBG_PRINT_GROUP_##group(__dbg_len = snprintf( __dbg_text, 256, __VA_ARGS__ ); __cfaabi_bits_write(STDERR_FILENO, __dbg_text, __dbg_len))106 107 // The debug print groups:108 #if defined(__CFA_DEBUG_PRINT__) || defined(__CFA_DEBUG_PRINT_IO__)109 # define __CFADBG_PRINT_GROUP_io(...) __VA_ARGS__110 #else111 # define __CFADBG_PRINT_GROUP_io(...) ((void)0)112 #endif113 #if defined(__CFA_DEBUG_PRINT__) || defined(__CFA_DEBUG_PRINT_IO__) || defined(__CFA_DEBUG_PRINT_IO_CORE__)114 # define __CFADBG_PRINT_GROUP_io_core(...) __VA_ARGS__115 #else116 # define __CFADBG_PRINT_GROUP_io_core(...) ((void)0)117 #endif118 #if defined(__CFA_DEBUG_PRINT__) || defined(__CFA_DEBUG_PRINT_MONITOR__)119 # define __CFADBG_PRINT_GROUP_monitor(...) __VA_ARGS__120 #else121 # define __CFADBG_PRINT_GROUP_monitor(...) ((void)0)122 #endif123 #if defined(__CFA_DEBUG_PRINT__) || defined(__CFA_DEBUG_PRINT_PREEMPTION__)124 # define __CFADBG_PRINT_GROUP_preemption(...) __VA_ARGS__125 #else126 # define __CFADBG_PRINT_GROUP_preemption(...) ((void)0)127 #endif128 #if defined(__CFA_DEBUG_PRINT__) || defined(__CFA_DEBUG_PRINT_RUNTIME_CORE__)129 # define __CFADBG_PRINT_GROUP_runtime_core(...) __VA_ARGS__130 #else131 # define __CFADBG_PRINT_GROUP_runtime_core(...) ((void)0)132 #endif133 #if defined(__CFA_DEBUG_PRINT__) || defined(__CFA_DEBUG_PRINT_READY_QUEUE__)134 # define __CFADBG_PRINT_GROUP_ready_queue(...) __VA_ARGS__135 #else136 # define __CFADBG_PRINT_GROUP_ready_queue(...) ((void)0)137 #endif138 #if defined(__CFA_DEBUG_PRINT__) || defined(__CFA_DEBUG_PRINT_EXCEPTION__)139 # define __CFADBG_PRINT_GROUP_exception(...) __VA_ARGS__140 #else141 # define __CFADBG_PRINT_GROUP_exception(...) ((void)0)142 #endif143 144 71 // Local Variables: // 145 72 // mode: c //
Note:
See TracChangeset
for help on using the changeset viewer.