list.c.048i.remove_symbols 4.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206
  1. Reclaiming functions:
  2. Reclaiming variables:
  3. Clearing address taken flags:
  4. Symbol table:
  5. uxListRemove/8 (uxListRemove) @06b86380
  6. Type: function definition analyzed
  7. Visibility: force_output externally_visible no_reorder public
  8. References:
  9. Referring:
  10. Availability: available
  11. Function flags: body
  12. Called by:
  13. Calls:
  14. vListInsert/7 (vListInsert) @06b86d20
  15. Type: function definition analyzed
  16. Visibility: force_output externally_visible no_reorder public
  17. References:
  18. Referring:
  19. Availability: available
  20. Function flags: body
  21. Called by:
  22. Calls:
  23. vListInsertEnd/6 (vListInsertEnd) @06b86a80
  24. Type: function definition analyzed
  25. Visibility: force_output externally_visible no_reorder public
  26. References:
  27. Referring:
  28. Availability: available
  29. Function flags: body
  30. Called by:
  31. Calls:
  32. vListInitialiseItem/5 (vListInitialiseItem) @06b867e0
  33. Type: function definition analyzed
  34. Visibility: force_output externally_visible no_reorder public
  35. References:
  36. Referring:
  37. Availability: available
  38. Function flags: body
  39. Called by:
  40. Calls:
  41. vListInitialise/4 (vListInitialise) @06b86540
  42. Type: function definition analyzed
  43. Visibility: force_output externally_visible no_reorder public
  44. References:
  45. Referring:
  46. Availability: available
  47. Function flags: body
  48. Called by:
  49. Calls:
  50. uxListRemove (struct ListItem_t * const pxItemToRemove)
  51. {
  52. struct List_t * const pxList;
  53. UBaseType_t D.6028;
  54. struct xLIST_ITEM * _1;
  55. struct xLIST_ITEM * _2;
  56. struct xLIST_ITEM * _3;
  57. struct xLIST_ITEM * _4;
  58. struct ListItem_t * _5;
  59. struct xLIST_ITEM * _6;
  60. long unsigned int _7;
  61. long unsigned int _8;
  62. UBaseType_t _18;
  63. <bb 2> :
  64. pxList_12 = pxItemToRemove_11(D)->pvContainer;
  65. _1 = pxItemToRemove_11(D)->pxNext;
  66. _2 = pxItemToRemove_11(D)->pxPrevious;
  67. _1->pxPrevious = _2;
  68. _3 = pxItemToRemove_11(D)->pxPrevious;
  69. _4 = pxItemToRemove_11(D)->pxNext;
  70. _3->pxNext = _4;
  71. _5 = pxList_12->pxIndex;
  72. if (pxItemToRemove_11(D) == _5)
  73. goto <bb 3>; [INV]
  74. else
  75. goto <bb 4>; [INV]
  76. <bb 3> :
  77. _6 = pxItemToRemove_11(D)->pxPrevious;
  78. pxList_12->pxIndex = _6;
  79. <bb 4> :
  80. pxItemToRemove_11(D)->pvContainer = 0B;
  81. _7 ={v} pxList_12->uxNumberOfItems;
  82. _8 = _7 + 4294967295;
  83. pxList_12->uxNumberOfItems ={v} _8;
  84. _18 ={v} pxList_12->uxNumberOfItems;
  85. <bb 5> :
  86. <L3>:
  87. return _18;
  88. }
  89. vListInsert (struct List_t * const pxList, struct ListItem_t * const pxNewListItem)
  90. {
  91. const TickType_t xValueOfInsertion;
  92. struct ListItem_t * pxIterator;
  93. struct xLIST_ITEM * _1;
  94. long unsigned int _2;
  95. struct xLIST_ITEM * _3;
  96. struct xLIST_ITEM * _4;
  97. long unsigned int _5;
  98. long unsigned int _6;
  99. <bb 2> :
  100. xValueOfInsertion_11 = pxNewListItem_10(D)->xItemValue;
  101. if (xValueOfInsertion_11 == 4294967295)
  102. goto <bb 3>; [INV]
  103. else
  104. goto <bb 4>; [INV]
  105. <bb 3> :
  106. pxIterator_15 = pxList_12(D)->xListEnd.pxPrevious;
  107. goto <bb 7>; [INV]
  108. <bb 4> :
  109. pxIterator_13 = &pxList_12(D)->xListEnd;
  110. goto <bb 6>; [INV]
  111. <bb 5> :
  112. pxIterator_14 = pxIterator_7->pxNext;
  113. <bb 6> :
  114. # pxIterator_7 = PHI <pxIterator_13(4), pxIterator_14(5)>
  115. _1 = pxIterator_7->pxNext;
  116. _2 = _1->xItemValue;
  117. if (xValueOfInsertion_11 >= _2)
  118. goto <bb 5>; [INV]
  119. else
  120. goto <bb 7>; [INV]
  121. <bb 7> :
  122. # pxIterator_8 = PHI <pxIterator_15(3), pxIterator_7(6)>
  123. _3 = pxIterator_8->pxNext;
  124. pxNewListItem_10(D)->pxNext = _3;
  125. _4 = pxNewListItem_10(D)->pxNext;
  126. _4->pxPrevious = pxNewListItem_10(D);
  127. pxNewListItem_10(D)->pxPrevious = pxIterator_8;
  128. pxIterator_8->pxNext = pxNewListItem_10(D);
  129. pxNewListItem_10(D)->pvContainer = pxList_12(D);
  130. _5 ={v} pxList_12(D)->uxNumberOfItems;
  131. _6 = _5 + 1;
  132. pxList_12(D)->uxNumberOfItems ={v} _6;
  133. return;
  134. }
  135. vListInsertEnd (struct List_t * const pxList, struct ListItem_t * const pxNewListItem)
  136. {
  137. struct ListItem_t * const pxIndex;
  138. struct xLIST_ITEM * _1;
  139. struct xLIST_ITEM * _2;
  140. long unsigned int _3;
  141. long unsigned int _4;
  142. <bb 2> :
  143. pxIndex_7 = pxList_6(D)->pxIndex;
  144. pxNewListItem_8(D)->pxNext = pxIndex_7;
  145. _1 = pxIndex_7->pxPrevious;
  146. pxNewListItem_8(D)->pxPrevious = _1;
  147. _2 = pxIndex_7->pxPrevious;
  148. _2->pxNext = pxNewListItem_8(D);
  149. pxIndex_7->pxPrevious = pxNewListItem_8(D);
  150. pxNewListItem_8(D)->pvContainer = pxList_6(D);
  151. _3 ={v} pxList_6(D)->uxNumberOfItems;
  152. _4 = _3 + 1;
  153. pxList_6(D)->uxNumberOfItems ={v} _4;
  154. return;
  155. }
  156. vListInitialiseItem (struct ListItem_t * const pxItem)
  157. {
  158. <bb 2> :
  159. pxItem_2(D)->pvContainer = 0B;
  160. return;
  161. }
  162. vListInitialise (struct List_t * const pxList)
  163. {
  164. struct MiniListItem_t * _1;
  165. struct MiniListItem_t * _2;
  166. struct MiniListItem_t * _3;
  167. <bb 2> :
  168. _1 = &pxList_4(D)->xListEnd;
  169. pxList_4(D)->pxIndex = _1;
  170. pxList_4(D)->xListEnd.xItemValue = 4294967295;
  171. _2 = &pxList_4(D)->xListEnd;
  172. pxList_4(D)->xListEnd.pxNext = _2;
  173. _3 = &pxList_4(D)->xListEnd;
  174. pxList_4(D)->xListEnd.pxPrevious = _3;
  175. pxList_4(D)->uxNumberOfItems ={v} 0;
  176. return;
  177. }