Changeset 851fd92 for libcfa/src/bits
- Timestamp:
- Apr 27, 2020, 11:36:47 AM (4 years ago)
- Branches:
- ADT, arm-eh, ast-experimental, enum, forall-pointer-decay, jacob/cs343-translation, master, new-ast, new-ast-unique-expr, pthread-emulation, qualifiedEnum
- Children:
- c680a4b
- Parents:
- b25aafa
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
libcfa/src/bits/debug.hfa
rb25aafa r851fd92 9 9 // Author : Thierry Delisle 10 10 // Created On : Mon Nov 28 12:27:26 2016 11 // Last Modified By : Peter A. Buhr12 // Last Modified On : Tue Feb 4 12:29:21202013 // Update Count : 911 // Last Modified By : Andrew Beach 12 // Last Modified On : Mon Apr 27 10:15:00 2020 13 // Update Count : 10 14 14 // 15 15 … … 40 40 #endif 41 41 #include <stdarg.h> 42 #include <stdio.h>43 42 44 43 extern void __cfaabi_bits_write( int fd, const char buffer[], int len ); … … 49 48 extern void __cfaabi_bits_print_vararg( int fd, const char fmt[], va_list arg ); 50 49 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__) || defined(__CFA_DEBUG_PRINT_IO__) \ 52 || defined(__CFA_DEBUG_PRINT_MONITOR__) || defined(__CFA_DEBUG_PRINT_PREEMPTION__) \ 53 || defined(__CFA_DEBUG_PRINT_RUNTIME_CORE__) || defined(__CFA_DEBUG_PRINT_EXCEPTION__) 54 #include <stdio.h> 55 #include <unistd.h> 56 #endif 51 57 #ifdef __cforall 52 58 } 53 59 #endif 54 60 61 // Deprecated: Use the versions with the new module names. 55 62 #ifdef __CFA_DEBUG_PRINT__ 56 63 #define __cfaabi_dbg_write( buffer, len ) __cfaabi_bits_write( STDERR_FILENO, buffer, len ) … … 73 80 #endif 74 81 82 // Debug print functions and statements: 83 // Most are wrappers around the bits printing function but are not always used. 84 // If they are used depends if the group (first argument) is active or not. The group must be one 85 // defined belowe. The other arguments depend on the wrapped function. 86 #define __cfadbg_write(group, buffer, len) \ 87 __CFADBG_PRINT_GROUP_##group(__cfaabi_bits_write(STDERR_FILENO, buffer, len)) 88 #define __cfadbg_acquire(group) \ 89 __CFADBG_PRINT_GROUP_##group(__cfaabi_bits_acquire()) 90 #define __cfadbg_release(group) \ 91 __CFADBG_PRINT_GROUP_##group(__cfaabi_bits_release()) 92 #define __cfadbg_print_safe(group, ...) \ 93 __CFADBG_PRINT_GROUP_##group(__cfaabi_bits_print_safe(STDERR_FILENO, __VA_ARGS__)) 94 #define __cfadbg_print_nolock(group, ...) \ 95 __CFADBG_PRINT_GROUP_##group(__cfaabi_bits_print_nolock(STDERR_FILENO, __VA_ARGS__)) 96 #define __cfadbg_print_buffer(group, ...) \ 97 __CFADBG_PRINT_GROUP_##group(__cfaabi_bits_print_buffer(STDERR_FILENO, __VA_ARGS__)) 98 #define __cfadbg_print_buffer_decl(group, ...) \ 99 __CFADBG_PRINT_GROUP_##group(char __dbg_text[256]; int __dbg_len = snprintf( __dbg_text, 256, __VA_ARGS__ ); __cfaabi_bits_write( __dbg_text, __dbg_len )) 100 #define __cfadbg_print_buffer_local(group, ...) \ 101 __CFADBG_PRINT_GROUP_##group(__dbg_len = snprintf( __dbg_text, 256, __VA_ARGS__ ); __cfaabi_bits_write(STDERR_FILENO, __dbg_text, __dbg_len)) 102 103 // The debug print groups: 104 #if defined(__CFA_DEBUG_PRINT__) || defined(__CFA_DEBUG_PRINT_IO__) 105 # define __CFADBG_PRINT_GROUP_io(...) __VA_ARGS__ 106 #else 107 # define __CFADBG_PRINT_GROUP_io(...) ((void)0) 108 #endif 109 #if defined(__CFA_DEBUG_PRINT__) || defined(__CFA_DEBUG_PRINT_MONITOR__) 110 # define __CFADBG_PRINT_GROUP_monitor(...) __VA_ARGS__ 111 #else 112 # define __CFADBG_PRINT_GROUP_monitor(...) ((void)0) 113 #endif 114 #if defined(__CFA_DEBUG_PRINT__) || defined(__CFA_DEBUG_PRINT_PREEMPTION__) 115 # define __CFADBG_PRINT_GROUP_preemption(...) __VA_ARGS__ 116 #else 117 # define __CFADBG_PRINT_GROUP_preemption(...) ((void)0) 118 #endif 119 #if defined(__CFA_DEBUG_PRINT__) || defined(__CFA_DEBUG_PRINT_RUNTIME_CORE__) 120 # define __CFADBG_PRINT_GROUP_runtime_core(...) __VA_ARGS__ 121 #else 122 # define __CFADBG_PRINT_GROUP_runtime_core(...) ((void)0) 123 #endif 124 #if defined(__CFA_DEBUG_PRINT__) || defined(__CFA_DEBUG_PRINT_READY_QUEUE__) 125 # define __CFADBG_PRINT_GROUP_ready_queue(...) __VA_ARGS__ 126 #else 127 # define __CFADBG_PRINT_GROUP_ready_queue(...) ((void)0) 128 #endif 129 #if defined(__CFA_DEBUG_PRINT__) || defined(__CFA_DEBUG_PRINT_EXCEPTION__) 130 # define __CFADBG_PRINT_GROUP_exception(...) __VA_ARGS__ 131 #else 132 # define __CFADBG_PRINT_GROUP_exception(...) ((void)0) 133 #endif 134 75 135 // Local Variables: // 76 136 // mode: c //
Note: See TracChangeset
for help on using the changeset viewer.