Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • libcfa/src/bits/debug.hfa

    r3e2b9c9 r1c40091  
    99// Author           : Thierry Delisle
    1010// Created On       : Mon Nov 28 12:27:26 2016
    11 // Last Modified By : Andrew Beach
    12 // Last Modified On : Mon Apr 27 10:15:00 2020
    13 // Update Count     : 10
     11// Last Modified By : Peter A. Buhr
     12// Last Modified On : Thu Nov 21 17:06:58 2019
     13// Update Count     : 8
    1414//
    1515
    1616#pragma once
    17 
    18 #include <assert.h>
    1917
    2018#ifdef __CFA_DEBUG__
     
    2321        #define __cfaabi_dbg_ctx __PRETTY_FUNCTION__
    2422        #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
    2925#else
    3026        #define __cfaabi_dbg_debug_do(...)
     
    3430        #define __cfaabi_dbg_ctx_param
    3531        #define __cfaabi_dbg_ctx_param2
    36         #define __cfaabi_dbg_ctx_fwd
    37         #define __cfaabi_dbg_ctx_fwd2
    3832#endif
    3933
     
    4236#endif
    4337        #include <stdarg.h>
     38        #include <stdio.h>
    4439
    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 );
    4641        extern void __cfaabi_bits_acquire();
    4742        extern void __cfaabi_bits_release();
     
    5045        extern void __cfaabi_bits_print_vararg( int fd, const char fmt[], va_list arg );
    5146        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 #endif
    6147#ifdef __cforall
    6248}
    6349#endif
    6450
    65 // Deprecated: Use the versions with the new module names.
    6651#ifdef __CFA_DEBUG_PRINT__
    6752        #define __cfaabi_dbg_write( buffer, len )         __cfaabi_bits_write( STDERR_FILENO, buffer, len )
    6853        #define __cfaabi_dbg_acquire()                    __cfaabi_bits_acquire()
    6954        #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 );
    7560#else
    7661        #define __cfaabi_dbg_write(...)               ((void)0)
     
    8469#endif
    8570
    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 one
    89 // 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 #else
    111 #       define __CFADBG_PRINT_GROUP_io(...) ((void)0)
    112 #endif
    113 #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 #else
    116 #       define __CFADBG_PRINT_GROUP_io_core(...) ((void)0)
    117 #endif
    118 #if defined(__CFA_DEBUG_PRINT__) || defined(__CFA_DEBUG_PRINT_MONITOR__)
    119 #       define __CFADBG_PRINT_GROUP_monitor(...) __VA_ARGS__
    120 #else
    121 #       define __CFADBG_PRINT_GROUP_monitor(...) ((void)0)
    122 #endif
    123 #if defined(__CFA_DEBUG_PRINT__) || defined(__CFA_DEBUG_PRINT_PREEMPTION__)
    124 #       define __CFADBG_PRINT_GROUP_preemption(...) __VA_ARGS__
    125 #else
    126 #       define __CFADBG_PRINT_GROUP_preemption(...) ((void)0)
    127 #endif
    128 #if defined(__CFA_DEBUG_PRINT__) || defined(__CFA_DEBUG_PRINT_RUNTIME_CORE__)
    129 #       define __CFADBG_PRINT_GROUP_runtime_core(...) __VA_ARGS__
    130 #else
    131 #       define __CFADBG_PRINT_GROUP_runtime_core(...) ((void)0)
    132 #endif
    133 #if defined(__CFA_DEBUG_PRINT__) || defined(__CFA_DEBUG_PRINT_READY_QUEUE__)
    134 #       define __CFADBG_PRINT_GROUP_ready_queue(...) __VA_ARGS__
    135 #else
    136 #       define __CFADBG_PRINT_GROUP_ready_queue(...) ((void)0)
    137 #endif
    138 #if defined(__CFA_DEBUG_PRINT__) || defined(__CFA_DEBUG_PRINT_EXCEPTION__)
    139 #       define __CFADBG_PRINT_GROUP_exception(...) __VA_ARGS__
    140 #else
    141 #       define __CFADBG_PRINT_GROUP_exception(...) ((void)0)
    142 #endif
    143 
    14471// Local Variables: //
    14572// mode: c //
Note: See TracChangeset for help on using the changeset viewer.