Ignore:
Timestamp:
Jun 21, 2023, 1:28:09 PM (14 months ago)
Author:
Michael Brooks <mlbrooks@…>
Branches:
master
Children:
6065281f
Parents:
2de175ce
Message:

Implement new rules for array dimension expression matching.

Core changes:
src/ResolvExpr/Unify.cc: add sense of "these two expressions unify"
src/InitTweak/GenInit.cc: make hoisting happen more often
tests/array-container/*: reconfigure the array-dimension test to use non-"classic" expectation rules

Misc contributors and noise:
libcfa/src/parseargs.cfa: ,ake a parameter, that's used as a length expression, constant (example of an array user following new rules)
src/ResolvExpr/ResolveTypeof.h: make fixArrayType public
src/Validate/GenericParameter.cpp: do the array-type desugaring in both AST corners that forall-variables can be found (not just in one of them)
tests/.expect/typedefRedef-ERR1.txt: old one was "expecting" a bug, that new array rules handle correctly

File:
1 edited

Legend:

Unmodified
Added
Removed
  • tests/array-container/.expect/dimexpr-match-cfa.txt

    r2de175ce rf02f546  
    11---- PTRPARM_CALL:   { void f( typeof( mkar_( ((tag(float)){}) , ((tag(__L__)){}) ) ) * x ) {} typeof( mkar_( ((tag(float)){}) , ((tag(__R__)){}) ) ) a; f( & a ); }
    22done STA EQ STA, L=7, R=7
    3 done STA NE STA, L=7, R=42
    4 done STA EQ STA, L=7, R=enu7
    5 done STA NE STA, L=7, R=enu42
    6 skip STA NE DYN, L=7, R=cpr42
    7 skip STA NE UNS, L=7, R=mut42
    8 done STA EQ STA, L=enu7, R=enu7
    9 done STA NE STA, L=enu7, R=enu42
    10 done STA EQ STA, L=enu7, R=7
    11 done STA NE STA, L=enu7, R=42
    12 skip STA NE DYN, L=enu7, R=cpr42
    13 skip STA NE UNS, L=enu7, R=mut42
    14 done DYN EQ DYN, L=cpr7, R=cpr7
    15 done DYN NE DYN, L=cpr7, R=cpr42
    16 skip DYN NE STA, L=cpr7, R=42
    17 skip DYN NE STA, L=cpr7, R=enu42
    18 done DYN NE UNS, L=cpr7, R=mut42
    19 done UNS EQ UNS, L=mut7, R=mut7
    20 done UNS NE UNS, L=mut7, R=mut42
    21 skip UNS NE STA, L=mut7, R=42
    22 skip UNS NE STA, L=mut7, R=enu42
    23 done UNS NE DYN, L=mut7, R=cpr42
    24 skip STA NE XXX, L=7, R=dim42
    25 skip STA NE XXX, L=enu7, R=dim42
    26 skip DYN NE XXX, L=cpr7, R=dim42
    27 done XXX EQ XXX, L=dim7, R=dim7
    28 skip XXX NE XXX, L=dim7, R=dim42
    29 skip XXX NE STA, L=dim7, R=42
    30 skip XXX NE STA, L=dim7, R=enu42
    31 skip XXX NE DYN, L=dim7, R=cpr42
    32 skip XXX NE UNS, L=dim7, R=mut42
    33 skip UNS NE XXX, L=mut7, R=dim42
     3skip STA NE STA, L=7, R=42
     4done STA EQ STA, L=7, R=enu7
     5skip STA NE STA, L=7, R=enu42
     6skip STA NE DYN, L=7, R=cpr42
     7skip STA NE UNS, L=7, R=mut42
     8done STA EQ STA, L=enu7, R=enu7
     9skip STA NE STA, L=enu7, R=enu42
     10done STA EQ STA, L=enu7, R=7
     11skip STA NE STA, L=enu7, R=42
     12skip STA NE DYN, L=enu7, R=cpr42
     13skip STA NE UNS, L=enu7, R=mut42
     14done DYN EQ DYN, L=cpr7, R=cpr7
     15skip DYN NE DYN, L=cpr7, R=cpr42
     16skip DYN NE STA, L=cpr7, R=42
     17skip DYN NE STA, L=cpr7, R=enu42
     18skip DYN NE UNS, L=cpr7, R=mut42
     19skip UNS EQ UNS, L=mut7, R=mut7
     20skip UNS NE UNS, L=mut7, R=mut42
     21skip UNS NE STA, L=mut7, R=42
     22skip UNS NE STA, L=mut7, R=enu42
     23skip UNS NE DYN, L=mut7, R=cpr42
     24skip STA NE DYN, L=7, R=dim42
     25skip STA NE DYN, L=enu7, R=dim42
     26skip DYN NE DYN, L=cpr7, R=dim42
     27done DYN EQ DYN, L=dim7, R=dim7
     28skip DYN NE DYN, L=dim7, R=dim42
     29skip DYN NE STA, L=dim7, R=42
     30skip DYN NE STA, L=dim7, R=enu42
     31skip DYN NE DYN, L=dim7, R=cpr42
     32skip DYN NE UNS, L=dim7, R=mut42
     33skip UNS NE DYN, L=mut7, R=dim42
    3434---- PTRVAR_INIT:   { typeof( mkar_( ((tag(float)){}) , ((tag(__R__)){}) ) ) a; typeof( mkar_( ((tag(float)){}) , ((tag(__L__)){}) ) ) * b = & a; }
    3535done STA EQ STA, L=7, R=7
    36 done STA NE STA, L=7, R=42
    37 done STA EQ STA, L=7, R=enu7
    38 done STA NE STA, L=7, R=enu42
    39 skip STA NE DYN, L=7, R=cpr42
    40 skip STA NE UNS, L=7, R=mut42
    41 done STA EQ STA, L=enu7, R=enu7
    42 done STA NE STA, L=enu7, R=enu42
    43 done STA EQ STA, L=enu7, R=7
    44 done STA NE STA, L=enu7, R=42
    45 skip STA NE DYN, L=enu7, R=cpr42
    46 skip STA NE UNS, L=enu7, R=mut42
    47 done DYN EQ DYN, L=cpr7, R=cpr7
    48 done DYN NE DYN, L=cpr7, R=cpr42
    49 skip DYN NE STA, L=cpr7, R=42
    50 skip DYN NE STA, L=cpr7, R=enu42
    51 done DYN NE UNS, L=cpr7, R=mut42
    52 done UNS EQ UNS, L=mut7, R=mut7
    53 done UNS NE UNS, L=mut7, R=mut42
    54 skip UNS NE STA, L=mut7, R=42
    55 skip UNS NE STA, L=mut7, R=enu42
    56 done UNS NE DYN, L=mut7, R=cpr42
    57 skip STA NE XXX, L=7, R=dim42
    58 skip STA NE XXX, L=enu7, R=dim42
    59 skip DYN NE XXX, L=cpr7, R=dim42
    60 done XXX EQ XXX, L=dim7, R=dim7
    61 skip XXX NE XXX, L=dim7, R=dim42
    62 skip XXX NE STA, L=dim7, R=42
    63 skip XXX NE STA, L=dim7, R=enu42
    64 skip XXX NE DYN, L=dim7, R=cpr42
    65 skip XXX NE UNS, L=dim7, R=mut42
    66 skip UNS NE XXX, L=mut7, R=dim42
     36skip STA NE STA, L=7, R=42
     37done STA EQ STA, L=7, R=enu7
     38skip STA NE STA, L=7, R=enu42
     39skip STA NE DYN, L=7, R=cpr42
     40skip STA NE UNS, L=7, R=mut42
     41done STA EQ STA, L=enu7, R=enu7
     42skip STA NE STA, L=enu7, R=enu42
     43done STA EQ STA, L=enu7, R=7
     44skip STA NE STA, L=enu7, R=42
     45skip STA NE DYN, L=enu7, R=cpr42
     46skip STA NE UNS, L=enu7, R=mut42
     47done DYN EQ DYN, L=cpr7, R=cpr7
     48skip DYN NE DYN, L=cpr7, R=cpr42
     49skip DYN NE STA, L=cpr7, R=42
     50skip DYN NE STA, L=cpr7, R=enu42
     51skip DYN NE UNS, L=cpr7, R=mut42
     52skip UNS EQ UNS, L=mut7, R=mut7
     53skip UNS NE UNS, L=mut7, R=mut42
     54skip UNS NE STA, L=mut7, R=42
     55skip UNS NE STA, L=mut7, R=enu42
     56skip UNS NE DYN, L=mut7, R=cpr42
     57skip STA NE DYN, L=7, R=dim42
     58skip STA NE DYN, L=enu7, R=dim42
     59skip DYN NE DYN, L=cpr7, R=dim42
     60done DYN EQ DYN, L=dim7, R=dim7
     61skip DYN NE DYN, L=dim7, R=dim42
     62skip DYN NE STA, L=dim7, R=42
     63skip DYN NE STA, L=dim7, R=enu42
     64skip DYN NE DYN, L=dim7, R=cpr42
     65skip DYN NE UNS, L=dim7, R=mut42
     66skip UNS NE DYN, L=mut7, R=dim42
    6767---- PTRVAR_ASGN:   { typeof( mkar_( ((tag(float)){}) , ((tag(__R__)){}) ) ) a; typeof( mkar_( ((tag(float)){}) , ((tag(__L__)){}) ) ) * b = 0p; b = & a; }
    6868done STA EQ STA, L=7, R=7
    69 done STA NE STA, L=7, R=42
    70 done STA EQ STA, L=7, R=enu7
    71 done STA NE STA, L=7, R=enu42
    72 skip STA NE DYN, L=7, R=cpr42
    73 skip STA NE UNS, L=7, R=mut42
    74 done STA EQ STA, L=enu7, R=enu7
    75 done STA NE STA, L=enu7, R=enu42
    76 done STA EQ STA, L=enu7, R=7
    77 done STA NE STA, L=enu7, R=42
    78 skip STA NE DYN, L=enu7, R=cpr42
    79 skip STA NE UNS, L=enu7, R=mut42
    80 done DYN EQ DYN, L=cpr7, R=cpr7
    81 done DYN NE DYN, L=cpr7, R=cpr42
    82 skip DYN NE STA, L=cpr7, R=42
    83 skip DYN NE STA, L=cpr7, R=enu42
    84 done DYN NE UNS, L=cpr7, R=mut42
    85 done UNS EQ UNS, L=mut7, R=mut7
    86 done UNS NE UNS, L=mut7, R=mut42
    87 skip UNS NE STA, L=mut7, R=42
    88 skip UNS NE STA, L=mut7, R=enu42
    89 done UNS NE DYN, L=mut7, R=cpr42
    90 skip STA NE XXX, L=7, R=dim42
    91 skip STA NE XXX, L=enu7, R=dim42
    92 skip DYN NE XXX, L=cpr7, R=dim42
    93 done XXX EQ XXX, L=dim7, R=dim7
    94 skip XXX NE XXX, L=dim7, R=dim42
    95 skip XXX NE STA, L=dim7, R=42
    96 skip XXX NE STA, L=dim7, R=enu42
    97 skip XXX NE DYN, L=dim7, R=cpr42
    98 skip XXX NE UNS, L=dim7, R=mut42
    99 skip UNS NE XXX, L=mut7, R=dim42
     69skip STA NE STA, L=7, R=42
     70done STA EQ STA, L=7, R=enu7
     71skip STA NE STA, L=7, R=enu42
     72skip STA NE DYN, L=7, R=cpr42
     73skip STA NE UNS, L=7, R=mut42
     74done STA EQ STA, L=enu7, R=enu7
     75skip STA NE STA, L=enu7, R=enu42
     76done STA EQ STA, L=enu7, R=7
     77skip STA NE STA, L=enu7, R=42
     78skip STA NE DYN, L=enu7, R=cpr42
     79skip STA NE UNS, L=enu7, R=mut42
     80done DYN EQ DYN, L=cpr7, R=cpr7
     81skip DYN NE DYN, L=cpr7, R=cpr42
     82skip DYN NE STA, L=cpr7, R=42
     83skip DYN NE STA, L=cpr7, R=enu42
     84skip DYN NE UNS, L=cpr7, R=mut42
     85skip UNS EQ UNS, L=mut7, R=mut7
     86skip UNS NE UNS, L=mut7, R=mut42
     87skip UNS NE STA, L=mut7, R=42
     88skip UNS NE STA, L=mut7, R=enu42
     89skip UNS NE DYN, L=mut7, R=cpr42
     90skip STA NE DYN, L=7, R=dim42
     91skip STA NE DYN, L=enu7, R=dim42
     92skip DYN NE DYN, L=cpr7, R=dim42
     93done DYN EQ DYN, L=dim7, R=dim7
     94skip DYN NE DYN, L=dim7, R=dim42
     95skip DYN NE STA, L=dim7, R=42
     96skip DYN NE STA, L=dim7, R=enu42
     97skip DYN NE DYN, L=dim7, R=cpr42
     98skip DYN NE UNS, L=dim7, R=mut42
     99skip UNS NE DYN, L=mut7, R=dim42
    100100---- REFPARM_CALL:   { void f( typeof( mkar_( ((tag(float)){}) , ((tag(__L__)){}) ) ) & x ) {} typeof( mkar_( ((tag(float)){}) , ((tag(__R__)){}) ) ) a; f( a ); }
    101101done STA EQ STA, L=7, R=7
    102 done STA NE STA, L=7, R=42
    103 done STA EQ STA, L=7, R=enu7
    104 done STA NE STA, L=7, R=enu42
    105 skip STA NE DYN, L=7, R=cpr42
    106 skip STA NE UNS, L=7, R=mut42
    107 done STA EQ STA, L=enu7, R=enu7
    108 done STA NE STA, L=enu7, R=enu42
    109 done STA EQ STA, L=enu7, R=7
    110 done STA NE STA, L=enu7, R=42
    111 skip STA NE DYN, L=enu7, R=cpr42
    112 skip STA NE UNS, L=enu7, R=mut42
    113 done DYN EQ DYN, L=cpr7, R=cpr7
    114 done DYN NE DYN, L=cpr7, R=cpr42
    115 skip DYN NE STA, L=cpr7, R=42
    116 skip DYN NE STA, L=cpr7, R=enu42
    117 done DYN NE UNS, L=cpr7, R=mut42
    118 done UNS EQ UNS, L=mut7, R=mut7
    119 done UNS NE UNS, L=mut7, R=mut42
    120 skip UNS NE STA, L=mut7, R=42
    121 skip UNS NE STA, L=mut7, R=enu42
    122 done UNS NE DYN, L=mut7, R=cpr42
    123 skip STA NE XXX, L=7, R=dim42
    124 skip STA NE XXX, L=enu7, R=dim42
    125 skip DYN NE XXX, L=cpr7, R=dim42
    126 done XXX EQ XXX, L=dim7, R=dim7
    127 skip XXX NE XXX, L=dim7, R=dim42
    128 skip XXX NE STA, L=dim7, R=42
    129 skip XXX NE STA, L=dim7, R=enu42
    130 skip XXX NE DYN, L=dim7, R=cpr42
    131 skip XXX NE UNS, L=dim7, R=mut42
    132 skip UNS NE XXX, L=mut7, R=dim42
     102skip STA NE STA, L=7, R=42
     103done STA EQ STA, L=7, R=enu7
     104skip STA NE STA, L=7, R=enu42
     105skip STA NE DYN, L=7, R=cpr42
     106skip STA NE UNS, L=7, R=mut42
     107done STA EQ STA, L=enu7, R=enu7
     108skip STA NE STA, L=enu7, R=enu42
     109done STA EQ STA, L=enu7, R=7
     110skip STA NE STA, L=enu7, R=42
     111skip STA NE DYN, L=enu7, R=cpr42
     112skip STA NE UNS, L=enu7, R=mut42
     113done DYN EQ DYN, L=cpr7, R=cpr7
     114skip DYN NE DYN, L=cpr7, R=cpr42
     115skip DYN NE STA, L=cpr7, R=42
     116skip DYN NE STA, L=cpr7, R=enu42
     117skip DYN NE UNS, L=cpr7, R=mut42
     118skip UNS EQ UNS, L=mut7, R=mut7
     119skip UNS NE UNS, L=mut7, R=mut42
     120skip UNS NE STA, L=mut7, R=42
     121skip UNS NE STA, L=mut7, R=enu42
     122skip UNS NE DYN, L=mut7, R=cpr42
     123skip STA NE DYN, L=7, R=dim42
     124skip STA NE DYN, L=enu7, R=dim42
     125skip DYN NE DYN, L=cpr7, R=dim42
     126done DYN EQ DYN, L=dim7, R=dim7
     127skip DYN NE DYN, L=dim7, R=dim42
     128skip DYN NE STA, L=dim7, R=42
     129skip DYN NE STA, L=dim7, R=enu42
     130skip DYN NE DYN, L=dim7, R=cpr42
     131skip DYN NE UNS, L=dim7, R=mut42
     132skip UNS NE DYN, L=mut7, R=dim42
    133133---- REFVAR_INIT:   { typeof( mkar_( ((tag(float)){}) , ((tag(__R__)){}) ) ) a; typeof( mkar_( ((tag(float)){}) , ((tag(__L__)){}) ) ) & b = a; }
    134134done STA EQ STA, L=7, R=7
    135 done STA NE STA, L=7, R=42
    136 done STA EQ STA, L=7, R=enu7
    137 done STA NE STA, L=7, R=enu42
    138 skip STA NE DYN, L=7, R=cpr42
    139 skip STA NE UNS, L=7, R=mut42
    140 done STA EQ STA, L=enu7, R=enu7
    141 done STA NE STA, L=enu7, R=enu42
    142 done STA EQ STA, L=enu7, R=7
    143 done STA NE STA, L=enu7, R=42
    144 skip STA NE DYN, L=enu7, R=cpr42
    145 skip STA NE UNS, L=enu7, R=mut42
    146 done DYN EQ DYN, L=cpr7, R=cpr7
    147 done DYN NE DYN, L=cpr7, R=cpr42
    148 skip DYN NE STA, L=cpr7, R=42
    149 skip DYN NE STA, L=cpr7, R=enu42
    150 done DYN NE UNS, L=cpr7, R=mut42
    151 done UNS EQ UNS, L=mut7, R=mut7
    152 done UNS NE UNS, L=mut7, R=mut42
    153 skip UNS NE STA, L=mut7, R=42
    154 skip UNS NE STA, L=mut7, R=enu42
    155 done UNS NE DYN, L=mut7, R=cpr42
    156 skip STA NE XXX, L=7, R=dim42
    157 skip STA NE XXX, L=enu7, R=dim42
    158 skip DYN NE XXX, L=cpr7, R=dim42
    159 done XXX EQ XXX, L=dim7, R=dim7
    160 skip XXX NE XXX, L=dim7, R=dim42
    161 skip XXX NE STA, L=dim7, R=42
    162 skip XXX NE STA, L=dim7, R=enu42
    163 skip XXX NE DYN, L=dim7, R=cpr42
    164 skip XXX NE UNS, L=dim7, R=mut42
    165 skip UNS NE XXX, L=mut7, R=dim42
     135skip STA NE STA, L=7, R=42
     136done STA EQ STA, L=7, R=enu7
     137skip STA NE STA, L=7, R=enu42
     138skip STA NE DYN, L=7, R=cpr42
     139skip STA NE UNS, L=7, R=mut42
     140done STA EQ STA, L=enu7, R=enu7
     141skip STA NE STA, L=enu7, R=enu42
     142done STA EQ STA, L=enu7, R=7
     143skip STA NE STA, L=enu7, R=42
     144skip STA NE DYN, L=enu7, R=cpr42
     145skip STA NE UNS, L=enu7, R=mut42
     146done DYN EQ DYN, L=cpr7, R=cpr7
     147skip DYN NE DYN, L=cpr7, R=cpr42
     148skip DYN NE STA, L=cpr7, R=42
     149skip DYN NE STA, L=cpr7, R=enu42
     150skip DYN NE UNS, L=cpr7, R=mut42
     151skip UNS EQ UNS, L=mut7, R=mut7
     152skip UNS NE UNS, L=mut7, R=mut42
     153skip UNS NE STA, L=mut7, R=42
     154skip UNS NE STA, L=mut7, R=enu42
     155skip UNS NE DYN, L=mut7, R=cpr42
     156skip STA NE DYN, L=7, R=dim42
     157skip STA NE DYN, L=enu7, R=dim42
     158skip DYN NE DYN, L=cpr7, R=dim42
     159done DYN EQ DYN, L=dim7, R=dim7
     160skip DYN NE DYN, L=dim7, R=dim42
     161skip DYN NE STA, L=dim7, R=42
     162skip DYN NE STA, L=dim7, R=enu42
     163skip DYN NE DYN, L=dim7, R=cpr42
     164skip DYN NE UNS, L=dim7, R=mut42
     165skip UNS NE DYN, L=mut7, R=dim42
    166166---- REFVAR_ASGN:   { typeof( mkar_( ((tag(float)){}) , ((tag(__R__)){}) ) ) a; typeof( mkar_( ((tag(float)){}) , ((tag(__L__)){}) ) ) & b = *0p; & b = & a; }
    167167done STA EQ STA, L=7, R=7
    168 done STA NE STA, L=7, R=42
    169 done STA EQ STA, L=7, R=enu7
    170 done STA NE STA, L=7, R=enu42
    171 skip STA NE DYN, L=7, R=cpr42
    172 skip STA NE UNS, L=7, R=mut42
    173 done STA EQ STA, L=enu7, R=enu7
    174 done STA NE STA, L=enu7, R=enu42
    175 done STA EQ STA, L=enu7, R=7
    176 done STA NE STA, L=enu7, R=42
    177 skip STA NE DYN, L=enu7, R=cpr42
    178 skip STA NE UNS, L=enu7, R=mut42
    179 done DYN EQ DYN, L=cpr7, R=cpr7
    180 done DYN NE DYN, L=cpr7, R=cpr42
    181 skip DYN NE STA, L=cpr7, R=42
    182 skip DYN NE STA, L=cpr7, R=enu42
    183 done DYN NE UNS, L=cpr7, R=mut42
    184 done UNS EQ UNS, L=mut7, R=mut7
    185 done UNS NE UNS, L=mut7, R=mut42
    186 skip UNS NE STA, L=mut7, R=42
    187 skip UNS NE STA, L=mut7, R=enu42
    188 done UNS NE DYN, L=mut7, R=cpr42
    189 skip STA NE XXX, L=7, R=dim42
    190 skip STA NE XXX, L=enu7, R=dim42
    191 skip DYN NE XXX, L=cpr7, R=dim42
    192 done XXX EQ XXX, L=dim7, R=dim7
    193 skip XXX NE XXX, L=dim7, R=dim42
    194 skip XXX NE STA, L=dim7, R=42
    195 skip XXX NE STA, L=dim7, R=enu42
    196 skip XXX NE DYN, L=dim7, R=cpr42
    197 skip XXX NE UNS, L=dim7, R=mut42
    198 skip UNS NE XXX, L=mut7, R=dim42
     168skip STA NE STA, L=7, R=42
     169done STA EQ STA, L=7, R=enu7
     170skip STA NE STA, L=7, R=enu42
     171skip STA NE DYN, L=7, R=cpr42
     172skip STA NE UNS, L=7, R=mut42
     173done STA EQ STA, L=enu7, R=enu7
     174skip STA NE STA, L=enu7, R=enu42
     175done STA EQ STA, L=enu7, R=7
     176skip STA NE STA, L=enu7, R=42
     177skip STA NE DYN, L=enu7, R=cpr42
     178skip STA NE UNS, L=enu7, R=mut42
     179done DYN EQ DYN, L=cpr7, R=cpr7
     180skip DYN NE DYN, L=cpr7, R=cpr42
     181skip DYN NE STA, L=cpr7, R=42
     182skip DYN NE STA, L=cpr7, R=enu42
     183skip DYN NE UNS, L=cpr7, R=mut42
     184skip UNS EQ UNS, L=mut7, R=mut7
     185skip UNS NE UNS, L=mut7, R=mut42
     186skip UNS NE STA, L=mut7, R=42
     187skip UNS NE STA, L=mut7, R=enu42
     188skip UNS NE DYN, L=mut7, R=cpr42
     189skip STA NE DYN, L=7, R=dim42
     190skip STA NE DYN, L=enu7, R=dim42
     191skip DYN NE DYN, L=cpr7, R=dim42
     192done DYN EQ DYN, L=dim7, R=dim7
     193skip DYN NE DYN, L=dim7, R=dim42
     194skip DYN NE STA, L=dim7, R=42
     195skip DYN NE STA, L=dim7, R=enu42
     196skip DYN NE DYN, L=dim7, R=cpr42
     197skip DYN NE UNS, L=dim7, R=mut42
     198skip UNS NE DYN, L=mut7, R=dim42
    199199---- CALLZIP:   { typeof( mkar_( ((tag(float)){}) , ((tag(__L__)){}) ) ) a; typeof( mkar_( ((tag(float)){}) , ((tag(__R__)){}) ) ) b; zip( a, b ); }
    200200done STA EQ STA, L=7, R=7
    201 done STA NE STA, L=7, R=42
    202 done STA EQ STA, L=7, R=enu7
    203 done STA NE STA, L=7, R=enu42
    204 skip STA NE DYN, L=7, R=cpr42
    205 skip STA NE UNS, L=7, R=mut42
    206 done STA EQ STA, L=enu7, R=enu7
    207 done STA NE STA, L=enu7, R=enu42
    208 done STA EQ STA, L=enu7, R=7
    209 done STA NE STA, L=enu7, R=42
    210 skip STA NE DYN, L=enu7, R=cpr42
    211 skip STA NE UNS, L=enu7, R=mut42
    212 done DYN EQ DYN, L=cpr7, R=cpr7
    213 done DYN NE DYN, L=cpr7, R=cpr42
    214 skip DYN NE STA, L=cpr7, R=42
    215 skip DYN NE STA, L=cpr7, R=enu42
    216 done DYN NE UNS, L=cpr7, R=mut42
    217 done UNS EQ UNS, L=mut7, R=mut7
    218 done UNS NE UNS, L=mut7, R=mut42
    219 skip UNS NE STA, L=mut7, R=42
    220 skip UNS NE STA, L=mut7, R=enu42
    221 done UNS NE DYN, L=mut7, R=cpr42
    222 skip STA NE XXX, L=7, R=dim42
    223 skip STA NE XXX, L=enu7, R=dim42
    224 skip DYN NE XXX, L=cpr7, R=dim42
    225 done XXX EQ XXX, L=dim7, R=dim7
    226 skip XXX NE XXX, L=dim7, R=dim42
    227 skip XXX NE STA, L=dim7, R=42
    228 skip XXX NE STA, L=dim7, R=enu42
    229 skip XXX NE DYN, L=dim7, R=cpr42
    230 skip XXX NE UNS, L=dim7, R=mut42
    231 skip UNS NE XXX, L=mut7, R=dim42
     201skip STA NE STA, L=7, R=42
     202done STA EQ STA, L=7, R=enu7
     203skip STA NE STA, L=7, R=enu42
     204skip STA NE DYN, L=7, R=cpr42
     205skip STA NE UNS, L=7, R=mut42
     206done STA EQ STA, L=enu7, R=enu7
     207skip STA NE STA, L=enu7, R=enu42
     208done STA EQ STA, L=enu7, R=7
     209skip STA NE STA, L=enu7, R=42
     210skip STA NE DYN, L=enu7, R=cpr42
     211skip STA NE UNS, L=enu7, R=mut42
     212done DYN EQ DYN, L=cpr7, R=cpr7
     213skip DYN NE DYN, L=cpr7, R=cpr42
     214skip DYN NE STA, L=cpr7, R=42
     215skip DYN NE STA, L=cpr7, R=enu42
     216skip DYN NE UNS, L=cpr7, R=mut42
     217skip UNS EQ UNS, L=mut7, R=mut7
     218skip UNS NE UNS, L=mut7, R=mut42
     219skip UNS NE STA, L=mut7, R=42
     220skip UNS NE STA, L=mut7, R=enu42
     221skip UNS NE DYN, L=mut7, R=cpr42
     222skip STA NE DYN, L=7, R=dim42
     223skip STA NE DYN, L=enu7, R=dim42
     224skip DYN NE DYN, L=cpr7, R=dim42
     225done DYN EQ DYN, L=dim7, R=dim7
     226skip DYN NE DYN, L=dim7, R=dim42
     227skip DYN NE STA, L=dim7, R=42
     228skip DYN NE STA, L=dim7, R=enu42
     229skip DYN NE DYN, L=dim7, R=cpr42
     230skip DYN NE UNS, L=dim7, R=mut42
     231skip UNS NE DYN, L=mut7, R=dim42
Note: See TracChangeset for help on using the changeset viewer.