x: signed int y: typedef for double t: typedef for float z: instance of type y (not function type) struct __anonymous0 with members a: signed int b: double u: type for instance of struct __anonymous0 f: function with parameters y: signed int returning signed int q: instance of type y (not function type) w: function with parameters y: instance of type y (not function type) v: instance of type u (not function type) returning instance of type y (not function type) with body CompoundStmt Declaration of x: type with assertions t: function with parameters instance of type u (not function type) returning instance of type x (not function type) Declaration of u: instance of type u (not function type) with initializer Simple Initializer: Name: y Declaration of z: instance of type x (not function type) with initializer Simple Initializer: Applying untyped: Name: t ...to: Name: u p: instance of type y (not function type) context has_u with parameters z: type with members u: function with parameters instance of type z (not function type) returning instance of type z (not function type) q: forall t: type with assertions ?=?: function with parameters pointer to instance of type t (not function type) instance of type t (not function type) returning instance of type t (not function type) instance of context has_u with parameters instance of type t (not function type) function with parameters the_t: instance of type t (not function type) returning instance of type y (not function type) with body CompoundStmt Declaration of y: instance of type t (not function type) with initializer Simple Initializer: Applying untyped: Name: u ...to: Name: the_t f: function with parameters p: instance of type y (not function type) returning instance of type t (not function type) with body CompoundStmt Declaration of y: signed int Declaration of x: typedef for char CompoundStmt Declaration of y: instance of type x (not function type) Declaration of z: typedef for instance of type x (not function type) CompoundStmt Declaration of x: instance of type z (not function type) Declaration of y: typedef for instance of type z (not function type) Declaration of z: instance of type y (not function type) with initializer Simple Initializer: Name: x Declaration of x: instance of type z (not function type) with initializer Simple Initializer: Name: y Declaration of q: instance of type x (not function type) with initializer Simple Initializer: Name: y g: function with parameters void returning instance of type t (not function type) with body CompoundStmt Declaration of x: typedef for char Try Statement with block: CompoundStmt Expression Statement: Applying untyped: Name: some_func ...to: and handlers: Catch Statement ... catching x: instance of type x (not function type) Declaration of z: instance of type x (not function type) q: function accepting unspecified arguments returning instance of type y (not function type) with parameter names i with parameter declarations i: signed int with body CompoundStmt Switch on condition: Name: i Case Name: 0 Return Statement, returning: Name: q Default Return Statement, returning: Name: i