?=?: function with parameters pointer to signed int signed int returning signed int ?!=?: function with parameters signed int signed int returning signed int 0: signed int f: function accepting unspecified arguments returning nothing with body CompoundStmt Declaration of a: signed int Declaration of struct __anonymous0 with members b: signed int Declaration of ?=?: automatically generated inline function with parameters _dst: pointer to instance of struct __anonymous0 _src: instance of struct __anonymous0 returning instance of struct __anonymous0 with body CompoundStmt Expression Statement: Applying untyped: Name: ?=? ...to: Address of: Member Expression, with field: b: signed int from aggregate: Applying untyped: Name: *? ...to: Variable Expression: _dst: pointer to instance of struct __anonymous0 Member Expression, with field: b: signed int from aggregate: Variable Expression: _src: instance of struct __anonymous0 Return Statement, returning: Variable Expression: _src: instance of struct __anonymous0 Declaration of a: instance of struct __anonymous0 If on condition: Cast of: Applying untyped: Name: ?!=? ...to: Name: a Name: 0 to: signed int .... and branches: CompoundStmt While on condition: Cast of: Applying untyped: Name: ?!=? ...to: Name: a Name: 0 to: signed int .... with body: CompoundStmt Declaration of b: pointer to signed int Labels: {} For Statement initialization: Expression Statement: Name: b condition: Cast of: Applying untyped: Name: ?!=? ...to: Name: a Name: 0 to: signed int increment: Name: b statement block: CompoundStmt