Print this page
11972 resync smatch

Split Close
Expand all
Collapse all
          --- old/usr/src/tools/smatch/src/sort.c
          +++ new/usr/src/tools/smatch/src/sort.c
↓ open down ↓ 130 lines elided ↑ open up ↑
 131  131                  b2 = b2->next;
 132  132                  if (--m == 0) {
 133  133                          BEEN_THERE('G');
 134  134                          return newhead;
 135  135                  }
 136  136          }
 137  137  
 138  138          // Do a quick skip in case entire blocks from b1 are
 139  139          // already less than smallest element in b2.
 140  140          while (b1->nr == 0 ||
 141      -               cmp (PTR_ENTRY(b1, b1->nr - 1), PTR_ENTRY(b2,0)) < 0) {
      141 +               cmp (PTR_ENTRY_NOTAG(b1, b1->nr - 1), PTR_ENTRY_NOTAG(b2,0)) < 0) {
 142  142                  // printf ("Skipping whole block.\n");
 143  143                  BEEN_THERE('H');
 144  144                  b1 = b1->next;
 145  145                  if (--n == 0) {
 146  146                          BEEN_THERE('I');
 147  147                          return newhead; 
 148  148                  }
 149  149          }
 150  150  
 151  151          while (1) {
 152      -                const void *d1 = PTR_ENTRY(b1,i1);
 153      -                const void *d2 = PTR_ENTRY(b2,i2);
      152 +                const void *d1 = PTR_ENTRY_NOTAG(b1,i1);
      153 +                const void *d2 = PTR_ENTRY_NOTAG(b2,i2);
 154  154  
 155  155                  assert (i1 >= 0 && i1 < b1->nr);
 156  156                  assert (i2 >= 0 && i2 < b2->nr);
 157  157                  assert (b1 != b2);
 158  158                  assert (n > 0);
 159  159                  assert (m > 0);
 160  160  
 161  161                  if (cmp (d1, d2) <= 0) {
 162  162                          BEEN_THERE('J');
 163  163                          buffer[nbuf++] = d1;
↓ open down ↓ 127 lines elided ↑ open up ↑
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX