
Marking local functions:


Marking externally visible functions: uxListRemove vListInsert vListInsertEnd vListInitialiseItem vListInitialise


Marking externally visible variables:


Reclaiming functions:
Reclaiming variables:
Clearing address taken flags:
Symbol table:

uxListRemove/8 (uxListRemove) @05e3bee0
  Type: function definition analyzed
  Visibility: externally_visible public
  References: 
  Referring: 
  Availability: available
  Function flags: body optimize_size
  Called by: 
  Calls: 
vListInsert/7 (vListInsert) @05e3bc40
  Type: function definition analyzed
  Visibility: externally_visible public
  References: 
  Referring: 
  Availability: available
  Function flags: body optimize_size
  Called by: 
  Calls: 
vListInsertEnd/6 (vListInsertEnd) @05e3b9a0
  Type: function definition analyzed
  Visibility: externally_visible public
  References: 
  Referring: 
  Availability: available
  Function flags: body optimize_size
  Called by: 
  Calls: 
vListInitialiseItem/5 (vListInitialiseItem) @05e3b700
  Type: function definition analyzed
  Visibility: externally_visible public
  References: 
  Referring: 
  Availability: available
  Function flags: body optimize_size
  Called by: 
  Calls: 
vListInitialise/4 (vListInitialise) @05e3b460
  Type: function definition analyzed
  Visibility: externally_visible public
  References: 
  Referring: 
  Availability: available
  Function flags: body optimize_size
  Called by: 
  Calls: 
uxListRemove (struct ListItem_t * const pxItemToRemove)
{
  struct List_t * const pxList;
  UBaseType_t D.6027;

  <bb 2> :
  # DEBUG BEGIN_STMT
  pxList = pxItemToRemove->pvContainer;
  # DEBUG BEGIN_STMT
  _1 = pxItemToRemove->pxNext;
  _2 = pxItemToRemove->pxPrevious;
  _1->pxPrevious = _2;
  # DEBUG BEGIN_STMT
  _3 = pxItemToRemove->pxPrevious;
  _4 = pxItemToRemove->pxNext;
  _3->pxNext = _4;
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  _5 = pxList->pxIndex;
  if (pxItemToRemove == _5)
    goto <bb 3>; [INV]
  else
    goto <bb 4>; [INV]

  <bb 3> :
  # DEBUG BEGIN_STMT
  _6 = pxItemToRemove->pxPrevious;
  pxList->pxIndex = _6;

  <bb 4> :
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  pxItemToRemove->pvContainer = 0B;
  # DEBUG BEGIN_STMT
  _7 = pxList->uxNumberOfItems;
  _8 = _7 + 4294967295;
  pxList->uxNumberOfItems = _8;
  # DEBUG BEGIN_STMT
  D.6027 = pxList->uxNumberOfItems;
  return D.6027;

}


vListInsert (struct List_t * const pxList, struct ListItem_t * const pxNewListItem)
{
  const TickType_t xValueOfInsertion;
  struct ListItem_t * pxIterator;

  <bb 2> :
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  xValueOfInsertion = pxNewListItem->xItemValue;
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  if (xValueOfInsertion == 4294967295)
    goto <bb 3>; [INV]
  else
    goto <bb 4>; [INV]

  <bb 3> :
  # DEBUG BEGIN_STMT
  pxIterator = pxList->xListEnd.pxPrevious;
  goto <bb 7>; [INV]

  <bb 4> :
  # DEBUG BEGIN_STMT
  pxIterator = &pxList->xListEnd;
  goto <bb 6>; [INV]

  <bb 5> :
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  pxIterator = pxIterator->pxNext;

  <bb 6> :
  # DEBUG BEGIN_STMT
  _1 = pxIterator->pxNext;
  _2 = _1->xItemValue;
  if (xValueOfInsertion >= _2)
    goto <bb 5>; [INV]
  else
    goto <bb 7>; [INV]

  <bb 7> :
  # DEBUG BEGIN_STMT
  _3 = pxIterator->pxNext;
  pxNewListItem->pxNext = _3;
  # DEBUG BEGIN_STMT
  _4 = pxNewListItem->pxNext;
  _4->pxPrevious = pxNewListItem;
  # DEBUG BEGIN_STMT
  pxNewListItem->pxPrevious = pxIterator;
  # DEBUG BEGIN_STMT
  pxIterator->pxNext = pxNewListItem;
  # DEBUG BEGIN_STMT
  pxNewListItem->pvContainer = pxList;
  # DEBUG BEGIN_STMT
  _5 = pxList->uxNumberOfItems;
  _6 = _5 + 1;
  pxList->uxNumberOfItems = _6;
  return;

}


vListInsertEnd (struct List_t * const pxList, struct ListItem_t * const pxNewListItem)
{
  struct ListItem_t * const pxIndex;

  <bb 2> :
  # DEBUG BEGIN_STMT
  pxIndex = pxList->pxIndex;
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  pxNewListItem->pxNext = pxIndex;
  # DEBUG BEGIN_STMT
  _1 = pxIndex->pxPrevious;
  pxNewListItem->pxPrevious = _1;
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  _2 = pxIndex->pxPrevious;
  _2->pxNext = pxNewListItem;
  # DEBUG BEGIN_STMT
  pxIndex->pxPrevious = pxNewListItem;
  # DEBUG BEGIN_STMT
  pxNewListItem->pvContainer = pxList;
  # DEBUG BEGIN_STMT
  _3 = pxList->uxNumberOfItems;
  _4 = _3 + 1;
  pxList->uxNumberOfItems = _4;
  return;

}


vListInitialiseItem (struct ListItem_t * const pxItem)
{
  <bb 2> :
  # DEBUG BEGIN_STMT
  pxItem->pvContainer = 0B;
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  return;

}


vListInitialise (struct List_t * const pxList)
{
  <bb 2> :
  # DEBUG BEGIN_STMT
  _1 = &pxList->xListEnd;
  pxList->pxIndex = _1;
  # DEBUG BEGIN_STMT
  pxList->xListEnd.xItemValue = 4294967295;
  # DEBUG BEGIN_STMT
  _2 = &pxList->xListEnd;
  pxList->xListEnd.pxNext = _2;
  # DEBUG BEGIN_STMT
  _3 = &pxList->xListEnd;
  pxList->xListEnd.pxPrevious = _3;
  # DEBUG BEGIN_STMT
  pxList->uxNumberOfItems = 0;
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  return;

}


