Ignore:
Timestamp:
2006-05-13T03:54:55+02:00 (8 years ago)
Author:
moo
Message:

compatibility fix: remove the using of gnu m4 extension

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/processor/struct.m4

    r1 r4  
    33') 
    44dnl {{{ DECL_STRUCT_P_FUNC(1:type, 2:name, 3:comma=;) 
    5 define(`DECL_STRUCT_P_FUNC', `patsubst( 
     5define(`DECL_STRUCT_P_FUNC', `translit( 
    66    pushdefFUNC_NAME(`$1', `$2') 
    77    define(`DEFINED_'ifelse(`$2', `', `$1', `$2'), `') 
     
    1717    )ifelse(`$3', `', `;') 
    1818    popdef(`FUNC_NAME')dnl 
    19 , `[ 
    20      ]+', ` ')') 
     19, ` 
     20', ` ')') 
    2121dnl }}} 
    2222dnl {{{ DEF_STRUCT_P_FUNC(1:type, 2:name, 3:body) 
     
    3535            int assert_size = SIZEOF_$1, assert_count = COUNTOF_$1; 
    3636            int done_size = 0, done_count = 0; 
    37             ifdef(`ELEMENTSOF_$1', ` 
    38                 define(`ELEMENTS', defn(`ELEMENTSOF_$1')) 
    39             ') 
     37            pushdef(`ELEMENTS_DONE') 
    4038            /* }}} */ 
    4139            IFRESTORE(`assert(xc_is_shm(src));') 
     
    7573                } 
    7674                ifdef(`ELEMENTSOF_$1', ` 
    77                     ifelse(ELEMENTS, , , ` 
     75                    pushdef(`ELEMENTS_UNDONE', LIST_DIFF(defn(`ELEMENTSOF_$1'), defn(`ELEMENTS_DONE'))) 
     76                    ifelse(defn(`ELEMENTS_UNDONE'), , , ` 
    7877                        m4_errprint(`====' KIND `$1 =================') 
    79                         m4_errprint(`expected:' ELEMENTSOF_$1) 
    80                         m4_errprint(`missing :' ELEMENTS) 
     78                        m4_errprint(`expected:' defn(`ELEMENTSOF_$1')) 
     79                        m4_errprint(`missing :' defn(`ELEMENTS_UNDONE')) 
    8180                        define(`EXIT_PENDING', 1) 
    8281                    ') 
     82                    popdef(`ELEMENTS_UNDONE') 
    8383                ') 
    84                 undefine(`ELEMENTS') 
    8584                /* }}} */ 
    8685        ')') 
     86        IFASSERT(` 
     87            undefine(`ELEMENTS_DONE') 
     88        ') 
    8789    } 
    8890/* }`}'} */ 
     
    9092') 
    9193dnl }}} 
    92 dnl {{{ STRUCT_P_EX(1:type, 2:dst, 3:src, 4:name=type, 5:&) 
     94dnl {{{ STRUCT_P_EX(1:type, 2:dst, 3:src, 4:elm-name, 5:name=type, 6:&) 
    9395define(`STRUCT_P_EX', ` 
    9496    DBG(`$0($*)') 
    95     pushdefFUNC_NAME(`$1', `$4') 
    96     ifdef(`DEFINED_'ifelse(`$4', `', `$1', `$4'), `', `m4_errprint(`Unknown struct "'ifelse(`$4', `', `$1', `$4')`"')') 
    97     assert(sizeof($1) == sizeof(($5 $3)[0])); 
    98     ifelse(`$5', `', `ALLOC(`$2', `$1')') 
     97    pushdefFUNC_NAME(`$1', `$5') 
     98    ifdef(`DEFINED_'ifelse(`$5', `', `$1', `$5'), `', `m4_errprint(`Unknown struct "'ifelse(`$5', `', `$1', `$5')`"')') 
     99    assert(sizeof($1) == sizeof(($6 $3)[0])); 
     100    ifelse(`$6', `', `ALLOC(`$2', `$1')') 
    99101    IFDASM(`do { 
    100102        zval *zv; 
     
    103105    ') 
    104106    FUNC_NAME`'( 
    105         IFDPRINT( `           $5 $3, indent') 
    106         IFCALC(   `processor, $5 $3') 
    107         IFSTORE(  `processor, $5 $2, $5 $3') 
    108         IFRESTORE(`processor, $5 $2, $5 $3') 
    109         IFDASM(   `zv, $5 $3') 
    110         IFASM(    `$5 $2, $5 $3') 
     107        IFDPRINT( `           $6 $3, indent') 
     108        IFCALC(   `processor, $6 $3') 
     109        IFSTORE(  `processor, $6 $2, $6 $3') 
     110        IFRESTORE(`processor, $6 $2, $6 $3') 
     111        IFDASM(   `zv, $6 $3') 
     112        IFASM(    `$6 $2, $6 $3') 
    111113        TSRMLS_CC 
    112114    ); 
    113115    IFDASM(` 
    114         add_assoc_zval_ex(dst, ZEND_STRS("patsubst(`$2', `dst->')"), zv); 
     116        add_assoc_zval_ex(dst, ZEND_STRS("$4"), zv); 
    115117    } while (0); 
    116118    ') 
    117119    popdef(`FUNC_NAME') 
    118     ifelse(`$5', , `FIXPOINTER_EX(`$1', `$2')') 
     120    ifelse(`$6', , `FIXPOINTER_EX(`$1', `$2')') 
    119121') 
    120122dnl }}} 
     
    123125    DBG(`$0($*)') 
    124126    if (src->$2) { 
    125         STRUCT_P_EX(`$1', `dst->$2', `src->$2', `$3') 
     127        STRUCT_P_EX(`$1', `dst->$2', `src->$2', `$2', `$3') 
    126128        IFDPRINT(`INDENT()`'fprintf(stderr, "$1:$2");') 
    127129    } 
    128130    else { 
    129         COPYNULL_EX(dst->$2) 
     131        COPYNULL_EX(`dst->$2', `$2') 
    130132        IFDPRINT(`INDENT()`'fprintf(stderr, "$1:$2:\tNULL\n");') 
    131133    } 
     
    138140    assert(sizeof($1) == sizeof(src->$2)); 
    139141    IFDPRINT(`INDENT()`'fprintf(stderr, "$1:$2");') 
    140     STRUCT_P_EX(`$1', `dst->$2', `src->$2', `$3', `&') 
     142    STRUCT_P_EX(`$1', `dst->$2', `src->$2', `$2', `$3', `&') 
    141143    DONE(`$2') 
    142144') 
Note: See TracChangeset for help on using the changeset viewer.