Changeset 29 for trunk/processor/struct.m4
- Timestamp:
- 2006-05-26T04:31:45+02:00 (7 years ago)
- File:
-
- 1 edited
-
trunk/processor/struct.m4 (modified) (4 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/processor/struct.m4
r11 r29 29 29 DECL_STRUCT_P_FUNC(`$1', `$2', 1) 30 30 { 31 pushdef(`ELEMENTS_DONE') 32 ifdef(`SIZEOF_$1', , `m4_errprint(`AUTOCHECK WARN: $1: missing structinfo, dont panic')define(`SIZEOF_$1', 0)') 31 33 IFASSERT(` 32 34 /* {{{ init assert */ 33 35 ifdef(`SIZEOF_$1', , `m4_errprint(`missing SIZEOF_$1, safe to ignore')define(`SIZEOF_$1', 0)') 34 36 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 ') 35 48 int assert_size = SIZEOF_$1, assert_count = COUNTOF_$1; 36 49 int done_size = 0, done_count = 0; 37 pushdef(`ELEMENTS_DONE')38 50 /* }}} */ 39 51 IFRESTORE(`assert(xc_is_shm(src));') … … 56 68 INDENT()fprintf(stderr, "}\n"); 57 69 ') 58 ifdef(`SKIPASSERT_ONCE', `undefine(`SKIPASSERT_ONCE')', `IFASSERT(` 70 ifdef(`SKIPASSERT_ONCE', `undefine(`SKIPASSERT_ONCE')', ` 71 IFASSERT(` 59 72 /* {{{ check assert */ 60 73 if (done_count != assert_count) { … … 74 87 abort(); 75 88 } 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) 85 98 ') 86 /* }}} */ 87 ')') 99 popdef(`ELEMENTS_UNDONE') 100 ') 101 ') 88 102 ifdef(`USEMEMCPY', `IFCOPY(` 89 103 } while (0); … … 91 105 IFASSERT(` 92 106 } while (0); 93 undefine(`ELEMENTS_DONE')94 ')107 ') 108 popdef(`ELEMENTS_DONE') 95 109 } 96 110 /* }`}'} */
Note: See TracChangeset
for help on using the changeset viewer.

