Changes in libcfa/src/bits/debug.hfa [c1581a0:ae66348]
- File:
-
- 1 edited
-
libcfa/src/bits/debug.hfa (modified) (4 diffs)
Legend:
- Unmodified
- Added
- Removed
-
libcfa/src/bits/debug.hfa
rc1581a0 rae66348 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:00202013 // Update Count : 1011 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Tue Feb 4 12:29:21 2020 13 // Update Count : 9 14 14 // 15 15 … … 40 40 #endif 41 41 #include <stdarg.h> 42 #include <stdio.h> 42 43 43 44 extern void __cfaabi_bits_write( int fd, const char buffer[], int len ); … … 48 49 extern void __cfaabi_bits_print_vararg( int fd, const char fmt[], va_list arg ); 49 50 extern void __cfaabi_bits_print_buffer( int fd, char buffer[], int buffer_size, const char fmt[], ... ) __attribute__(( format(printf, 4, 5) )); 50 51 #if defined(__CFA_DEBUG_PRINT__) \52 || defined(__CFA_DEBUG_PRINT_IO__) || defined(__CFA_DEBUG_PRINT_IO_CORE__) \53 || defined(__CFA_DEBUG_PRINT_MONITOR__) || defined(__CFA_DEBUG_PRINT_PREEMPTION__) \54 || defined(__CFA_DEBUG_PRINT_RUNTIME_CORE__) || defined(__CFA_DEBUG_PRINT_EXCEPTION__)55 #include <stdio.h>56 #include <unistd.h>57 #endif58 51 #ifdef __cforall 59 52 } 60 53 #endif 61 54 62 // Deprecated: Use the versions with the new module names.63 55 #ifdef __CFA_DEBUG_PRINT__ 64 56 #define __cfaabi_dbg_write( buffer, len ) __cfaabi_bits_write( STDERR_FILENO, buffer, len ) 65 57 #define __cfaabi_dbg_acquire() __cfaabi_bits_acquire() 66 58 #define __cfaabi_dbg_release() __cfaabi_bits_release() 67 #define __cfaabi_dbg_print_safe(...) __cfaabi_bits_print_safe ( STDERR_FILENO, __VA_ARGS__)68 #define __cfaabi_dbg_print_nolock(...) __cfaabi_bits_print_nolock ( STDERR_FILENO, __VA_ARGS__)69 #define __cfaabi_dbg_print_buffer(...) __cfaabi_bits_print_buffer ( STDERR_FILENO, __VA_ARGS__)70 #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 );71 #define __cfaabi_dbg_print_buffer_local(...) __dbg_len = snprintf( __dbg_text, 256, __VA_ARGS__ ); __cfaabi_dbg_write( STDERR_FILENO,__dbg_text, __dbg_len );59 #define __cfaabi_dbg_print_safe(...) __cfaabi_bits_print_safe (__VA_ARGS__) 60 #define __cfaabi_dbg_print_nolock(...) __cfaabi_bits_print_nolock (__VA_ARGS__) 61 #define __cfaabi_dbg_print_buffer(...) __cfaabi_bits_print_buffer (__VA_ARGS__) 62 #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 ); 63 #define __cfaabi_dbg_print_buffer_local(...) __dbg_len = snprintf( __dbg_text, 256, __VA_ARGS__ ); __cfaabi_dbg_write( __dbg_text, __dbg_len ); 72 64 #else 73 65 #define __cfaabi_dbg_write(...) ((void)0) … … 81 73 #endif 82 74 83 // Debug print functions and statements:84 // Most are wrappers around the bits printing function but are not always used.85 // If they are used depends if the group (first argument) is active or not. The group must be one86 // defined belowe. The other arguments depend on the wrapped function.87 #define __cfadbg_write(group, buffer, len) \88 __CFADBG_PRINT_GROUP_##group(__cfaabi_bits_write(STDERR_FILENO, buffer, len))89 #define __cfadbg_acquire(group) \90 __CFADBG_PRINT_GROUP_##group(__cfaabi_bits_acquire())91 #define __cfadbg_release(group) \92 __CFADBG_PRINT_GROUP_##group(__cfaabi_bits_release())93 #define __cfadbg_print_safe(group, ...) \94 __CFADBG_PRINT_GROUP_##group(__cfaabi_bits_print_safe(STDERR_FILENO, __VA_ARGS__))95 #define __cfadbg_print_nolock(group, ...) \96 __CFADBG_PRINT_GROUP_##group(__cfaabi_bits_print_nolock(STDERR_FILENO, __VA_ARGS__))97 #define __cfadbg_print_buffer(group, ...) \98 __CFADBG_PRINT_GROUP_##group(__cfaabi_bits_print_buffer(STDERR_FILENO, __VA_ARGS__))99 #define __cfadbg_print_buffer_decl(group, ...) \100 __CFADBG_PRINT_GROUP_##group(char __dbg_text[256]; int __dbg_len = snprintf( __dbg_text, 256, __VA_ARGS__ ); __cfaabi_bits_write( __dbg_text, __dbg_len ))101 #define __cfadbg_print_buffer_local(group, ...) \102 __CFADBG_PRINT_GROUP_##group(__dbg_len = snprintf( __dbg_text, 256, __VA_ARGS__ ); __cfaabi_bits_write(STDERR_FILENO, __dbg_text, __dbg_len))103 104 // The debug print groups:105 #if defined(__CFA_DEBUG_PRINT__) || defined(__CFA_DEBUG_PRINT_IO__)106 # define __CFADBG_PRINT_GROUP_io(...) __VA_ARGS__107 #else108 # define __CFADBG_PRINT_GROUP_io(...) ((void)0)109 #endif110 #if defined(__CFA_DEBUG_PRINT__) || defined(__CFA_DEBUG_PRINT_IO__) || defined(__CFA_DEBUG_PRINT_IO_CORE__)111 # define __CFADBG_PRINT_GROUP_io_core(...) __VA_ARGS__112 #else113 # define __CFADBG_PRINT_GROUP_io_core(...) ((void)0)114 #endif115 #if defined(__CFA_DEBUG_PRINT__) || defined(__CFA_DEBUG_PRINT_MONITOR__)116 # define __CFADBG_PRINT_GROUP_monitor(...) __VA_ARGS__117 #else118 # define __CFADBG_PRINT_GROUP_monitor(...) ((void)0)119 #endif120 #if defined(__CFA_DEBUG_PRINT__) || defined(__CFA_DEBUG_PRINT_PREEMPTION__)121 # define __CFADBG_PRINT_GROUP_preemption(...) __VA_ARGS__122 #else123 # define __CFADBG_PRINT_GROUP_preemption(...) ((void)0)124 #endif125 #if defined(__CFA_DEBUG_PRINT__) || defined(__CFA_DEBUG_PRINT_RUNTIME_CORE__)126 # define __CFADBG_PRINT_GROUP_runtime_core(...) __VA_ARGS__127 #else128 # define __CFADBG_PRINT_GROUP_runtime_core(...) ((void)0)129 #endif130 #if defined(__CFA_DEBUG_PRINT__) || defined(__CFA_DEBUG_PRINT_READY_QUEUE__)131 # define __CFADBG_PRINT_GROUP_ready_queue(...) __VA_ARGS__132 #else133 # define __CFADBG_PRINT_GROUP_ready_queue(...) ((void)0)134 #endif135 #if defined(__CFA_DEBUG_PRINT__) || defined(__CFA_DEBUG_PRINT_EXCEPTION__)136 # define __CFADBG_PRINT_GROUP_exception(...) __VA_ARGS__137 #else138 # define __CFADBG_PRINT_GROUP_exception(...) ((void)0)139 #endif140 141 75 // Local Variables: // 142 76 // mode: c //
Note:
See TracChangeset
for help on using the changeset viewer.