Home | History | Annotate | Line # | Download | only in TEST
math.m4 revision 1.1
      1  1.1  drochner dnl $NetBSD: math.m4,v 1.1 2005/10/06 17:23:23 drochner Exp $
      2  1.1  drochner dnl FreeBSD: /repoman/r/ncvs/src/usr.bin/m4/TEST/math.m4,v 1.1 2004/05/01 03:27:05 smkelly Exp
      3  1.1  drochner dnl A regression test for m4 C operators		(ksb,petef)
      4  1.1  drochner dnl If you think you have a short-circuiting m4, run us m4 -DSHORCIRCUIT=yes
      5  1.1  drochner dnl
      6  1.1  drochner dnl first level of precedence
      7  1.1  drochner ifelse(expr(-7),-7,,`failed -
      8  1.1  drochner ')dnl
      9  1.1  drochner ifelse(expr(- -2),2,,`failed -
     10  1.1  drochner ')dnl
     11  1.1  drochner ifelse(expr(!0),1,,`failed !
     12  1.1  drochner ')dnl
     13  1.1  drochner ifelse(expr(!7),0,,`failed !
     14  1.1  drochner ')dnl
     15  1.1  drochner ifelse(expr(~-1),0,,`failed ~
     16  1.1  drochner ')dnl
     17  1.1  drochner dnl next level of precedence
     18  1.1  drochner ifelse(expr(3*5),15,,`failed *
     19  1.1  drochner ')dnl
     20  1.1  drochner ifelse(expr(3*0),0,,`failed *
     21  1.1  drochner ')dnl
     22  1.1  drochner ifelse(expr(11/2),5,,`failed /
     23  1.1  drochner ')dnl
     24  1.1  drochner ifelse(expr(1/700),0,,`failed /
     25  1.1  drochner ')dnl
     26  1.1  drochner ifelse(expr(10%5),0,,`failed %
     27  1.1  drochner ')dnl
     28  1.1  drochner ifelse(expr(2%5),2,,`failed %
     29  1.1  drochner ')dnl
     30  1.1  drochner ifelse(expr(2%-1),0,,`failed %
     31  1.1  drochner ')dnl
     32  1.1  drochner dnl next level of precedence
     33  1.1  drochner ifelse(expr(2+2),4,,`failed +
     34  1.1  drochner ')dnl
     35  1.1  drochner ifelse(expr(2+-2),0,,`failed +
     36  1.1  drochner ')dnl
     37  1.1  drochner ifelse(expr(2- -2),4,,`failed -
     38  1.1  drochner ')dnl
     39  1.1  drochner ifelse(expr(2-2),0,,`failed -
     40  1.1  drochner ')dnl
     41  1.1  drochner dnl next level of precedence
     42  1.1  drochner ifelse(expr(1<<4),16,,`failed <<
     43  1.1  drochner ')dnl
     44  1.1  drochner ifelse(expr(16>>4),1,,`failed >>
     45  1.1  drochner ')dnl
     46  1.1  drochner dnl next level of precedence
     47  1.1  drochner ifelse(expr(4<4),0,,`failed <
     48  1.1  drochner ')dnl
     49  1.1  drochner ifelse(expr(4<5),1,,`failed <
     50  1.1  drochner ')dnl
     51  1.1  drochner ifelse(expr(4<3),0,,`failed <
     52  1.1  drochner ')dnl
     53  1.1  drochner ifelse(expr(4>4),0,,`failed >
     54  1.1  drochner ')dnl
     55  1.1  drochner ifelse(expr(4>5),0,,`failed >
     56  1.1  drochner ')dnl
     57  1.1  drochner ifelse(expr(4>3),1,,`failed >
     58  1.1  drochner ')dnl
     59  1.1  drochner ifelse(expr(4<=4),1,,`failed <=
     60  1.1  drochner ')dnl
     61  1.1  drochner ifelse(expr(4<=5),1,,`failed <=
     62  1.1  drochner ')dnl
     63  1.1  drochner ifelse(expr(4<=3),0,,`failed <=
     64  1.1  drochner ')dnl
     65  1.1  drochner ifelse(expr(4>=4),1,,`failed >=
     66  1.1  drochner ')dnl
     67  1.1  drochner ifelse(expr(4>=5),0,,`failed >=
     68  1.1  drochner ')dnl
     69  1.1  drochner ifelse(expr(4>=3),1,,`failed >=
     70  1.1  drochner ')dnl
     71  1.1  drochner dnl next level of precedence
     72  1.1  drochner ifelse(expr(1==1),1,,`failed ==
     73  1.1  drochner ')dnl
     74  1.1  drochner ifelse(expr(1==-1),0,,`failed ==
     75  1.1  drochner ')dnl
     76  1.1  drochner ifelse(expr(1!=1),0,,`failed !=
     77  1.1  drochner ')dnl
     78  1.1  drochner ifelse(expr(1!=2),1,,`failed !=
     79  1.1  drochner ')dnl
     80  1.1  drochner dnl next level of precedence
     81  1.1  drochner ifelse(expr(3&5),1,,`failed &
     82  1.1  drochner ')dnl
     83  1.1  drochner ifelse(expr(8&7),0,,`failed &
     84  1.1  drochner ')dnl
     85  1.1  drochner dnl next level of precedence
     86  1.1  drochner ifelse(expr(1^1),0,,`failed ^
     87  1.1  drochner ')dnl
     88  1.1  drochner ifelse(expr(21^5),16,,`failed ^
     89  1.1  drochner ')dnl
     90  1.1  drochner dnl next level of precedence
     91  1.1  drochner ifelse(expr(1|1),1,,`failed |
     92  1.1  drochner ')dnl
     93  1.1  drochner ifelse(expr(21|5),21,,`failed |
     94  1.1  drochner ')dnl
     95  1.1  drochner ifelse(expr(100|1),101,,`failed |
     96  1.1  drochner ')dnl
     97  1.1  drochner dnl next level of precedence
     98  1.1  drochner ifelse(expr(1&&1),1,,`failed &&
     99  1.1  drochner ')dnl
    100  1.1  drochner ifelse(expr(0&&1),0,,`failed &&
    101  1.1  drochner ')dnl
    102  1.1  drochner ifelse(expr(1&&0),0,,`failed &&
    103  1.1  drochner ')dnl
    104  1.1  drochner ifelse(SHORTCIRCUIT,`yes',`ifelse(expr(0&&10/0),0,,`failed && shortcircuit
    105  1.1  drochner ')')dnl
    106  1.1  drochner dnl next level of precedence
    107  1.1  drochner ifelse(expr(1||1),1,,`failed ||
    108  1.1  drochner ')dnl
    109  1.1  drochner ifelse(expr(1||0),1,,`failed ||
    110  1.1  drochner ')dnl
    111  1.1  drochner ifelse(expr(0||0),0,,`failed ||
    112  1.1  drochner ')dnl
    113  1.1  drochner ifelse(SHORTCIRCUIT,`yes',`ifelse(expr(1||10/0),1,,`failed || shortcircuit
    114  1.1  drochner ')')dnl
    115  1.1  drochner dnl next level of precedence
    116  1.1  drochner ifelse(expr(0 ? 2 : 5),5,,`failed ?:
    117  1.1  drochner ')dnl
    118  1.1  drochner ifelse(expr(1 ? 2 : 5),2,,`failed ?:
    119  1.1  drochner ')dnl
    120  1.1  drochner ifelse(SHORTCIRCUIT,`yes',`ifelse(expr(0 ? 10/0 : 7),7,,`failed ?: shortcircuit
    121  1.1  drochner ')')dnl
    122  1.1  drochner ifelse(SHORTCIRCUIT,`yes',`ifelse(expr(1 ? 7 : 10/0),7,,`failed ?: shortcircuit
    123  1.1  drochner ')')dnl
    124  1.1  drochner dnl operator precedence
    125  1.1  drochner ifelse(expr(!0*-2),-2,,`precedence wrong, ! *
    126  1.1  drochner ')dnl
    127  1.1  drochner ifelse(expr(~8/~2),3,,`precedence wrong ~ /
    128  1.1  drochner ')dnl
    129  1.1  drochner ifelse(expr(~-20%7),5,,`precedence wrong ~ %
    130  1.1  drochner ')dnl
    131  1.1  drochner ifelse(expr(3*2+100),106,,`precedence wrong * +
    132  1.1  drochner ')dnl
    133  1.1  drochner ifelse(expr(3+2*100),203,,`precedence wrong + *
    134  1.1  drochner ')dnl
    135  1.1  drochner ifelse(expr(2%5-6/3),0,,`precedence wrong % -
    136  1.1  drochner ')dnl
    137  1.1  drochner ifelse(expr(2/5-5%3),-2,,`precedence wrong / -
    138  1.1  drochner ')dnl
    139  1.1  drochner ifelse(expr(2+5%5+1),3,,`precedence wrong % +
    140  1.1  drochner ')dnl
    141  1.1  drochner ifelse(expr(7+9<<1),32,,`precedence wrong + <<
    142  1.1  drochner ')dnl
    143  1.1  drochner ifelse(expr(35-3>>2),8,,`precedence wrong - >>
    144  1.1  drochner ')dnl
    145  1.1  drochner ifelse(expr(9<10<<5),1,,`precedence wrong << <
    146  1.1  drochner ')dnl
    147  1.1  drochner ifelse(expr(9>10<<5),0,,`precedence wrong << >
    148  1.1  drochner ')dnl
    149  1.1  drochner ifelse(expr(32>>2<32),1,,`precedence wrong >> <
    150  1.1  drochner ')dnl
    151  1.1  drochner ifelse(expr(9<=10<<5),1,,`precedence wrong << <
    152  1.1  drochner ')dnl
    153  1.1  drochner ifelse(expr(5<<1<=20>>1),1,,`precedence wrong << <=
    154  1.1  drochner ')dnl
    155  1.1  drochner ifelse(expr(5<<1>=20>>1),1,,`precedence wrong << >=
    156  1.1  drochner ')dnl
    157  1.1  drochner ifelse(expr(0<7==5>=5),1,,`precedence wrong < ==
    158  1.1  drochner ')dnl
    159  1.1  drochner ifelse(expr(0<7!=5>=5),0,,`precedence wrong < !=
    160  1.1  drochner ')dnl
    161  1.1  drochner ifelse(expr(0>7==5>=5),0,,`precedence wrong > ==
    162  1.1  drochner ')dnl
    163  1.1  drochner ifelse(expr(0>7!=5>=5),1,,`precedence wrong > !=
    164  1.1  drochner ')dnl
    165  1.1  drochner ifelse(expr(1&7==7),1,,`precedence wrong & ==
    166  1.1  drochner ')dnl
    167  1.1  drochner ifelse(expr(0&7!=6),0,,`precedence wrong & !=
    168  1.1  drochner ')dnl
    169  1.1  drochner ifelse(expr(9&1|5),5,,`precedence wrong & |
    170  1.1  drochner ')dnl
    171  1.1  drochner ifelse(expr(9&1^5),4,,`precedence wrong & ^
    172  1.1  drochner ')dnl
    173  1.1  drochner ifelse(expr(9^1|5),13,,`precedence wrong ^ |
    174  1.1  drochner ')dnl
    175  1.1  drochner ifelse(expr(5|0&&1),1,,`precedence wrong | &&
    176  1.1  drochner ')dnl
    177  1.1  drochner ifelse(expr(5&&0||0&&5||5),1,,`precedence wrong && ||
    178  1.1  drochner ')dnl
    179  1.1  drochner ifelse(expr(0 || 1 ? 0 : 1),0,,`precedence wrong || ?:
    180  1.1  drochner ')dnl
    181  1.1  drochner ifelse(expr(5&&(0||0)&&(5||5)),0,,`precedence wrong || parens
    182  1.1  drochner ')dnl
    183