Changeset 29


Ignore:
Timestamp:
2006-05-26T04:31:45+02:00 (8 years ago)
Author:
moo
Message:

outputs info about how autocheck is built

Location:
trunk/processor
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/processor/head.m4

    r4 r29  
    3030#undef NDEBUG 
    3131#include <assert.h> 
    32 include(builddir`/structinfo.m4') 
     32m4_errprint(`AUTOCHECK INFO: runtime autocheck Enabled (debug build)') 
     33', ` 
     34m4_errprint(`AUTOCHECK INFO: runtime autocheck Disabled (optimized build)') 
    3335') 
     36sinclude(builddir`/structinfo.m4') 
     37 
    3438#ifndef NDEBUG 
    3539#   undef inline 
  • trunk/processor/struct.m4

    r11 r29  
    2929DECL_STRUCT_P_FUNC(`$1', `$2', 1) 
    3030    { 
     31        pushdef(`ELEMENTS_DONE') 
     32        ifdef(`SIZEOF_$1', , `m4_errprint(`AUTOCHECK WARN: $1: missing structinfo, dont panic')define(`SIZEOF_$1', 0)') 
    3133        IFASSERT(` 
    3234            /* {{{ init assert */ 
    3335            ifdef(`SIZEOF_$1', , `m4_errprint(`missing SIZEOF_$1, safe to ignore')define(`SIZEOF_$1', 0)') 
    3436            ifdef(`COUNTOF_$1', , `m4_errprint(`missing COUNTOF_$1, safe to ignore')define(`COUNTOF_$1', 0)') 
     37            dnl SIZEOF_x COUNTOF_x can be both defined or both not 
     38            ifdef(`SIZEOF_$1', ` 
     39                ifdef(`COUNTOF_$1', , `m4_errprint(`AUTOCHECK WARN: missing COUNTOF_$1')') 
     40            ', ` 
     41                define(`SIZEOF_$1', 0) 
     42            ') 
     43            ifdef(`COUNTOF_$1', ` 
     44                ifdef(`SIZEOF_$1', , `m4_errprint(`AUTOCHECK WARN: missing SIZEOF_$1')') 
     45            ', ` 
     46                define(`COUNTOF_$1', 0) 
     47            ') 
    3548            int assert_size = SIZEOF_$1, assert_count = COUNTOF_$1; 
    3649            int done_size = 0, done_count = 0; 
    37             pushdef(`ELEMENTS_DONE') 
    3850            /* }}} */ 
    3951            IFRESTORE(`assert(xc_is_shm(src));') 
     
    5668            INDENT()fprintf(stderr, "}\n"); 
    5769        ') 
    58         ifdef(`SKIPASSERT_ONCE', `undefine(`SKIPASSERT_ONCE')', `IFASSERT(` 
     70        ifdef(`SKIPASSERT_ONCE', `undefine(`SKIPASSERT_ONCE')', ` 
     71            IFASSERT(` 
    5972                /* {{{ check assert */ 
    6073                if (done_count != assert_count) { 
     
    7487                    abort(); 
    7588                } 
    76                 ifdef(`ELEMENTSOF_$1', ` 
    77                     pushdef(`ELEMENTS_UNDONE', LIST_DIFF(defn(`ELEMENTSOF_$1'), defn(`ELEMENTS_DONE'))) 
    78                     ifelse(defn(`ELEMENTS_UNDONE'), , , ` 
    79                         m4_errprint(`====' KIND `$1 =================') 
    80                         m4_errprint(`expected:' defn(`ELEMENTSOF_$1')) 
    81                         m4_errprint(`missing :' defn(`ELEMENTS_UNDONE')) 
    82                         define(`EXIT_PENDING', 1) 
    83                     ') 
    84                     popdef(`ELEMENTS_UNDONE') 
     89                /* }}} */ 
     90            ') 
     91            ifdef(`ELEMENTSOF_$1', ` 
     92                pushdef(`ELEMENTS_UNDONE', LIST_DIFF(defn(`ELEMENTSOF_$1'), defn(`ELEMENTS_DONE'))) 
     93                ifelse(defn(`ELEMENTS_UNDONE'), , `m4_errprint(`AUTOCHECK INFO: $1: processor looks good')', ` 
     94                    m4_errprint(`AUTOCHECK ERROR: ====' KIND `$1 =================') 
     95                    m4_errprint(`AUTOCHECK expected:' defn(`ELEMENTSOF_$1')) 
     96                    m4_errprint(`AUTOCHECK missing :' defn(`ELEMENTS_UNDONE')) 
     97                    define(`EXIT_PENDING', 1) 
    8598                ') 
    86                 /* }}} */ 
    87         ')') 
     99                popdef(`ELEMENTS_UNDONE') 
     100            ') 
     101        ') 
    88102        ifdef(`USEMEMCPY', `IFCOPY(` 
    89103            } while (0); 
     
    91105        IFASSERT(` 
    92106            } while (0); 
    93             undefine(`ELEMENTS_DONE') 
    94         ') 
     107        ') 
     108        popdef(`ELEMENTS_DONE') 
    95109    } 
    96110/* }`}'} */ 
Note: See TracChangeset for help on using the changeset viewer.