==30371== Memcheck, a memory error detector ==30371== Copyright (C) 2002-2012, and GNU GPL'd, by Julian Seward et al. ==30371== Using Valgrind-3.8.1 and LibVEX; rerun with -h for copyright info ==30371== Command: ./a.out ==30371== ***** Llama Stack Dump ****** LN_SIZE = 9 # of items in the stack = 9 # of nodes created = 1 # of nodes destroyed = 0 This stack does not have an extra node. Stack contents, top to bottom ----- 0x4c3f040 ----- 8 9 7 6 5 4 3 2 1 ----- bottom of stack ---- ***************************** ***** Llama Stack Dump ****** LN_SIZE = 9 # of items in the stack = 10 # of nodes created = 2 # of nodes destroyed = 0 This stack does not have an extra node. Stack contents, top to bottom ----- 0x4c3f760 ----- 9 ----- 0x4c3f040 ----- 10 8 7 6 5 4 3 2 1 ----- bottom of stack ---- ***************************** ***** Llama Stack Dump ****** LN_SIZE = 9 # of items in the stack = 10 # of nodes created = 2 # of nodes destroyed = 0 This stack does not have an extra node. Stack contents, top to bottom ----- 0x4c3f760 ----- 10 ----- 0x4c3f040 ----- 9 8 7 6 5 4 3 2 1 ----- bottom of stack ---- ***************************** Creating new Llama Stack of OvCoInt T using S ||||| OvCoInt constructor called, data = 0 ||||| OvCoInt constructor called, data = 0 ||||| OvCoInt constructor called, data = 0 ||||| OvCoInt constructor called, data = 0 ||||| OvCoInt constructor called, data = 0 ||||| OvCoInt constructor called, data = 0 ||||| OvCoInt constructor called, data = 0 ||||| OvCoInt constructor called, data = 0 ||||| OvCoInt constructor called, data = 0 ||||| OvCoInt assignment operator called, rhs = 10 ||||| OvCoInt assignment operator called, rhs = 0 ||||| OvCoInt assignment operator called, rhs = 0 ||||| OvCoInt assignment operator called, rhs = 0 ||||| OvCoInt assignment operator called, rhs = 0 ||||| OvCoInt assignment operator called, rhs = 0 ||||| OvCoInt assignment operator called, rhs = 0 ||||| OvCoInt assignment operator called, rhs = 0 ||||| OvCoInt assignment operator called, rhs = 0 ||||| OvCoInt constructor called, data = 0 ||||| OvCoInt constructor called, data = 0 ||||| OvCoInt constructor called, data = 0 ||||| OvCoInt constructor called, data = 0 ||||| OvCoInt constructor called, data = 0 ||||| OvCoInt constructor called, data = 0 ||||| OvCoInt constructor called, data = 0 ||||| OvCoInt constructor called, data = 0 ||||| OvCoInt constructor called, data = 0 ||||| OvCoInt assignment operator called, rhs = 1 ||||| OvCoInt assignment operator called, rhs = 2 ||||| OvCoInt assignment operator called, rhs = 3 ||||| OvCoInt assignment operator called, rhs = 4 ||||| OvCoInt assignment operator called, rhs = 5 ||||| OvCoInt assignment operator called, rhs = 6 ||||| OvCoInt assignment operator called, rhs = 7 ||||| OvCoInt assignment operator called, rhs = 8 ||||| OvCoInt assignment operator called, rhs = 9 ||||| OvCoInt copy constructor called, other = 10 ||||| OvCoInt assignment operator called, rhs = 10 ||||| OvCoInt destructor called ||||| OvCoInt copy constructor called, other = 9 ||||| OvCoInt assignment operator called, rhs = 9 ||||| OvCoInt destructor called ============================ Copied stack T has: ***** Llama Stack Dump ****** LN_SIZE = 9 # of items in the stack = 8 # of nodes created = 4 # of nodes destroyed = 0 This stack has an extra node: 0x4c3fb60. Stack contents, top to bottom ----- 0x4c3fec0 ----- 8 7 6 5 4 3 2 1 ----- bottom of stack ---- ***************************** ============================ Orginal stack S has: ***** Llama Stack Dump ****** LN_SIZE = 9 # of items in the stack = 10 # of nodes created = 4 # of nodes destroyed = 0 This stack does not have an extra node. Stack contents, top to bottom ----- 0x4c3f760 ----- 10 ----- 0x4c3f040 ----- 9 8 7 6 5 4 3 2 1 ----- bottom of stack ---- ***************************** Creating new Llama Stack of OvCoInt U ||||| OvCoInt constructor called, data = 0 ||||| OvCoInt constructor called, data = 0 ||||| OvCoInt constructor called, data = 0 ||||| OvCoInt constructor called, data = 0 ||||| OvCoInt constructor called, data = 0 ||||| OvCoInt constructor called, data = 0 ||||| OvCoInt constructor called, data = 0 ||||| OvCoInt constructor called, data = 0 ||||| OvCoInt constructor called, data = 0 Assigning Llama Stack S to U ||||| OvCoInt destructor called ||||| OvCoInt destructor called ||||| OvCoInt destructor called ||||| OvCoInt destructor called ||||| OvCoInt destructor called ||||| OvCoInt destructor called ||||| OvCoInt destructor called ||||| OvCoInt destructor called ||||| OvCoInt destructor called ||||| OvCoInt constructor called, data = 0 ||||| OvCoInt constructor called, data = 0 ||||| OvCoInt constructor called, data = 0 ||||| OvCoInt constructor called, data = 0 ||||| OvCoInt constructor called, data = 0 ||||| OvCoInt constructor called, data = 0 ||||| OvCoInt constructor called, data = 0 ||||| OvCoInt constructor called, data = 0 ||||| OvCoInt constructor called, data = 0 ||||| OvCoInt assignment operator called, rhs = 10 ||||| OvCoInt assignment operator called, rhs = 0 ||||| OvCoInt assignment operator called, rhs = 0 ||||| OvCoInt assignment operator called, rhs = 0 ||||| OvCoInt assignment operator called, rhs = 0 ||||| OvCoInt assignment operator called, rhs = 0 ||||| OvCoInt assignment operator called, rhs = 0 ||||| OvCoInt assignment operator called, rhs = 0 ||||| OvCoInt assignment operator called, rhs = 0 ||||| OvCoInt constructor called, data = 0 ||||| OvCoInt constructor called, data = 0 ||||| OvCoInt constructor called, data = 0 ||||| OvCoInt constructor called, data = 0 ||||| OvCoInt constructor called, data = 0 ||||| OvCoInt constructor called, data = 0 ||||| OvCoInt constructor called, data = 0 ||||| OvCoInt constructor called, data = 0 ||||| OvCoInt constructor called, data = 0 ||||| OvCoInt assignment operator called, rhs = 1 ||||| OvCoInt assignment operator called, rhs = 2 ||||| OvCoInt assignment operator called, rhs = 3 ||||| OvCoInt assignment operator called, rhs = 4 ||||| OvCoInt assignment operator called, rhs = 5 ||||| OvCoInt assignment operator called, rhs = 6 ||||| OvCoInt assignment operator called, rhs = 7 ||||| OvCoInt assignment operator called, rhs = 8 ||||| OvCoInt assignment operator called, rhs = 9 ============================ Copied stack U has: ***** Llama Stack Dump ****** LN_SIZE = 9 # of items in the stack = 10 # of nodes created = 7 # of nodes destroyed = 1 This stack does not have an extra node. Stack contents, top to bottom ----- 0x4c40620 ----- 10 ----- 0x4c40980 ----- 9 8 7 6 5 4 3 2 1 ----- bottom of stack ---- ***************************** ||||| OvCoInt copy constructor called, other = 10 ||||| OvCoInt destructor called Popped 10 from Llama Stack U ||||| OvCoInt constructor called, data = 11 ||||| OvCoInt assignment operator called, rhs = 11 ||||| OvCoInt destructor called ============================ After modifying U, orginal stack S has: ***** Llama Stack Dump ****** LN_SIZE = 9 # of items in the stack = 10 # of nodes created = 7 # of nodes destroyed = 1 This stack does not have an extra node. Stack contents, top to bottom ----- 0x4c3f760 ----- 10 ----- 0x4c3f040 ----- 9 8 7 6 5 4 3 2 1 ----- bottom of stack ---- ***************************** ||||| OvCoInt destructor called ||||| OvCoInt destructor called ||||| OvCoInt destructor called ||||| OvCoInt destructor called ||||| OvCoInt destructor called ||||| OvCoInt destructor called ||||| OvCoInt destructor called ||||| OvCoInt destructor called ||||| OvCoInt destructor called ||||| OvCoInt destructor called ||||| OvCoInt destructor called ||||| OvCoInt destructor called ||||| OvCoInt destructor called ||||| OvCoInt destructor called ||||| OvCoInt destructor called ||||| OvCoInt destructor called ||||| OvCoInt destructor called ||||| OvCoInt destructor called ||||| OvCoInt destructor called ||||| OvCoInt destructor called ||||| OvCoInt destructor called ||||| OvCoInt destructor called ||||| OvCoInt destructor called ||||| OvCoInt destructor called ||||| OvCoInt destructor called ||||| OvCoInt destructor called ||||| OvCoInt destructor called ||||| OvCoInt destructor called ||||| OvCoInt destructor called ||||| OvCoInt destructor called ||||| OvCoInt destructor called ||||| OvCoInt destructor called ||||| OvCoInt destructor called ||||| OvCoInt destructor called ||||| OvCoInt destructor called ||||| OvCoInt destructor called ||||| OvCoInt destructor called ||||| OvCoInt destructor called ||||| OvCoInt destructor called ||||| OvCoInt destructor called ||||| OvCoInt destructor called ||||| OvCoInt destructor called ||||| OvCoInt destructor called ||||| OvCoInt destructor called ||||| OvCoInt destructor called ||||| OvCoInt destructor called ||||| OvCoInt destructor called ||||| OvCoInt destructor called ||||| OvCoInt destructor called ||||| OvCoInt destructor called ||||| OvCoInt destructor called ||||| OvCoInt destructor called ||||| OvCoInt destructor called ||||| OvCoInt destructor called ||||| OvCoInt destructor called ==30371== ==30371== HEAP SUMMARY: ==30371== in use at exit: 0 bytes in 0 blocks ==30371== total heap usage: 88 allocs, 88 frees, 884 bytes allocated ==30371== ==30371== All heap blocks were freed -- no leaks are possible ==30371== ==30371== For counts of detected and suppressed errors, rerun with: -v ==30371== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 6 from 6)