in default case, (shouldn't be here) in default case, (shouldn't be here) in default case, (shouldn't be here) Adding object x Adding typedef y --- Entering scope --- Leaving scope containing Adding typedef t --- Entering scope --- Leaving scope containing Adding object z Adding struct __anonymous0 --- Entering scope Adding object a Adding object b --- Leaving scope containing a (__a__i) (1) b (__b__d) (1) Adding type u --- Entering scope --- Leaving scope containing Adding function f --- Entering scope Adding object y --- Leaving scope containing y (__y__i) (1) Adding object q Adding function w --- Entering scope Adding object y Adding object v --- Entering scope Adding type x --- Entering scope --- Leaving scope containing Adding function t --- Entering scope --- Leaving scope containing Adding object u Adding object z --- Leaving scope containing t (__t__F_2tx_2tu_) (2) u (__u__2tu) (2) z (__z__2tx) (2) x --- Leaving scope containing v (__v__2tu) (1) y (__y__2ty) (1) Adding object p Adding context has_u --- Entering scope Adding type z --- Entering scope --- Leaving scope containing Adding function u --- Entering scope --- Leaving scope containing --- Leaving scope containing u (__u__F_2tz_2tz_) (1) z Adding function q --- Entering scope Adding type t --- Entering scope --- Leaving scope containing Adding function u --- Entering scope --- Leaving scope containing Adding object the_t --- Entering scope Adding object y --- Leaving scope containing y (__y__2tt) (2) --- Leaving scope containing the_t (__the_t__2tt) (1) u (__u__F_2tt_2tt_) (1) t Adding function f --- Entering scope Adding object p --- Entering scope Adding object y Adding typedef x --- Entering scope --- Leaving scope containing --- Entering scope Adding object y Adding typedef z --- Entering scope --- Leaving scope containing --- Entering scope Adding object x Adding typedef y --- Entering scope --- Leaving scope containing Adding object z --- Leaving scope containing x (__x__2tz) (4) z (__z__2ty) (4) y Adding object x --- Leaving scope containing x (__x__2tz) (3) y (__y__2tx) (3) z Adding object q --- Leaving scope containing q (__q__2tx) (2) y (__y__i) (2) x --- Leaving scope containing p (__p__2ty) (1) Adding function g --- Entering scope --- Entering scope Adding typedef x --- Entering scope --- Leaving scope containing Adding object z --- Leaving scope containing z (__z__2tx) (2) x --- Leaving scope containing Adding function q --- Entering scope Adding object i --- Entering scope --- Leaving scope containing --- Leaving scope containing i (__i__i) (1)