?=?: function
    with parameters
      pointer to char 
      char 
    returning 
      char 

?=?: function
    with parameters
      pointer to signed int 
      signed int 
    returning 
      signed int 

?=?: function
    with parameters
      pointer to float 
      float 
    returning 
      float 

?=?: forall
      DT: incomplete type
    function
    with parameters
      pointer to pointer to instance of type DT (not function type) 
      pointer to instance of type DT (not function type) 
    returning 
      pointer to instance of type DT (not function type) 

*?: forall
      T: type
        with assertions
          ?=?: pointer to 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) 


    function
    with parameters
      pointer to instance of type T (not function type) 
    returning 
      lvalue instance of type T (not function type) 

__builtin_memcpy: function
      accepting unspecified arguments
    returning 
      pointer to char 

a: function
    with parameters
      char 
    returning 
      nothing 

b: function
    with parameters
      signed int 
    returning 
      nothing 

c: function
    with parameters
      pointer to signed int 
    returning 
      nothing 

d: function
    with parameters
      pointer to float 
    returning 
      nothing 

struct a_struct
    with members
      a: signed int 
      a: char 
      a: float 

?=?: automatically generated inline static function
    with parameters
      _dst: pointer to instance of struct a_struct 
      _src: instance of struct a_struct 
    returning 
      instance of struct a_struct 
    with body 
      CompoundStmt
                  Expression Statement:
            Applying untyped: 
                Name: ?=?
            ...to: 
                Address of:
                  Member Expression, with field: 
                    a: signed int 
                  from aggregate: 
                    Applying untyped: 
                        Name: *?
                    ...to: 
                        Variable Expression: _dst: pointer to instance of struct a_struct 
                Member Expression, with field: 
                  a: signed int 
                from aggregate: 
                  Variable Expression: _src: instance of struct a_struct 

                  Expression Statement:
            Applying untyped: 
                Name: ?=?
            ...to: 
                Address of:
                  Member Expression, with field: 
                    a: char 
                  from aggregate: 
                    Applying untyped: 
                        Name: *?
                    ...to: 
                        Variable Expression: _dst: pointer to instance of struct a_struct 
                Member Expression, with field: 
                  a: char 
                from aggregate: 
                  Variable Expression: _src: instance of struct a_struct 

                  Expression Statement:
            Applying untyped: 
                Name: ?=?
            ...to: 
                Address of:
                  Member Expression, with field: 
                    a: float 
                  from aggregate: 
                    Applying untyped: 
                        Name: *?
                    ...to: 
                        Variable Expression: _dst: pointer to instance of struct a_struct 
                Member Expression, with field: 
                  a: float 
                from aggregate: 
                  Variable Expression: _src: instance of struct a_struct 

                  Return Statement, returning: Variable Expression: _src: instance of struct a_struct 



union b_struct
    with members
      a: pointer to signed int 
      a: pointer to char 
      a: pointer to float 

?=?: automatically generated inline static function
    with parameters
      _dst: pointer to instance of union b_struct 
      _src: instance of union b_struct 
    returning 
      instance of union b_struct 
    with body 
      CompoundStmt
                  Expression Statement:
            Applying untyped: 
                Name: __builtin_memcpy
            ...to: 
                Variable Expression: _dst: pointer to instance of union b_struct 
                Address of:
                  Variable Expression: _src: instance of union b_struct 
                Sizeof Expression on: instance of union b_struct 

                  Return Statement, returning: Variable Expression: _src: instance of union b_struct 



f: function
      accepting unspecified arguments
    returning 
      nothing 
    with body 
      CompoundStmt
        Declaration of the_struct: instance of struct a_struct 
        Declaration of the_struct: instance of union b_struct 
                  Expression Statement:
            Applying untyped: 
                Name: a
            ...to: 
                Member Expression, with field: a                from aggregate:                   Name: the_struct

                  Expression Statement:
            Applying untyped: 
                Name: b
            ...to: 
                Member Expression, with field: a                from aggregate:                   Name: the_struct

                  Expression Statement:
            Applying untyped: 
                Name: c
            ...to: 
                Member Expression, with field: a                from aggregate:                   Name: the_struct

                  Expression Statement:
            Applying untyped: 
                Name: d
            ...to: 
                Member Expression, with field: a                from aggregate:                   Name: the_struct


struct c_struct
    with members
      signed int 
      char 
      float 

?=?: automatically generated inline static function
    with parameters
      _dst: pointer to instance of struct c_struct 
      _src: instance of struct c_struct 
    returning 
      instance of struct c_struct 
    with body 
      CompoundStmt
                  Expression Statement:
            Applying untyped: 
                Name: ?=?
            ...to: 
                Address of:
                  Member Expression, with field: 
                    signed int 
                  from aggregate: 
                    Applying untyped: 
                        Name: *?
                    ...to: 
                        Variable Expression: _dst: pointer to instance of struct c_struct 
                Member Expression, with field: 
                  signed int 
                from aggregate: 
                  Variable Expression: _src: instance of struct c_struct 

                  Expression Statement:
            Applying untyped: 
                Name: ?=?
            ...to: 
                Address of:
                  Member Expression, with field: 
                    char 
                  from aggregate: 
                    Applying untyped: 
                        Name: *?
                    ...to: 
                        Variable Expression: _dst: pointer to instance of struct c_struct 
                Member Expression, with field: 
                  char 
                from aggregate: 
                  Variable Expression: _src: instance of struct c_struct 

                  Expression Statement:
            Applying untyped: 
                Name: ?=?
            ...to: 
                Address of:
                  Member Expression, with field: 
                    float 
                  from aggregate: 
                    Applying untyped: 
                        Name: *?
                    ...to: 
                        Variable Expression: _dst: pointer to instance of struct c_struct 
                Member Expression, with field: 
                  float 
                from aggregate: 
                  Variable Expression: _src: instance of struct c_struct 

                  Return Statement, returning: Variable Expression: _src: instance of struct c_struct 



union d_struct
    with members
      pointer to signed int 
      pointer to char 
      pointer to float 

?=?: automatically generated inline static function
    with parameters
      _dst: pointer to instance of union d_struct 
      _src: instance of union d_struct 
    returning 
      instance of union d_struct 
    with body 
      CompoundStmt
                  Expression Statement:
            Applying untyped: 
                Name: __builtin_memcpy
            ...to: 
                Variable Expression: _dst: pointer to instance of union d_struct 
                Address of:
                  Variable Expression: _src: instance of union d_struct 
                Sizeof Expression on: instance of union d_struct 

                  Return Statement, returning: Variable Expression: _src: instance of union d_struct 



g: function
      accepting unspecified arguments
    returning 
      nothing 
    with body 
      CompoundStmt
        Declaration of x: short unsigned int 
        Declaration of x: instance of struct c_struct 
        Declaration of x: instance of union d_struct 
                  Expression Statement:
            Applying untyped: 
                Name: a
            ...to: 
                Name: x

                  Expression Statement:
            Applying untyped: 
                Name: b
            ...to: 
                Name: x

                  Expression Statement:
            Applying untyped: 
                Name: c
            ...to: 
                Name: x

                  Expression Statement:
            Applying untyped: 
                Name: d
            ...to: 
                Name: x


struct forward
q: pointer to instance of struct forward 
struct forward
    with members
      y: signed int 

?=?: automatically generated inline static function
    with parameters
      _dst: pointer to instance of struct forward 
      _src: instance of struct forward 
    returning 
      instance of struct forward 
    with body 
      CompoundStmt
                  Expression Statement:
            Applying untyped: 
                Name: ?=?
            ...to: 
                Address of:
                  Member Expression, with field: 
                    y: signed int 
                  from aggregate: 
                    Applying untyped: 
                        Name: *?
                    ...to: 
                        Variable Expression: _dst: pointer to instance of struct forward 
                Member Expression, with field: 
                  y: signed int 
                from aggregate: 
                  Variable Expression: _src: instance of struct forward 

                  Return Statement, returning: Variable Expression: _src: instance of struct forward 



h: function
      accepting unspecified arguments
    returning 
      nothing 
    with body 
      CompoundStmt
                  Expression Statement:
            Member Expression, with field: y            from aggregate:               Applying untyped: 
                  Name: *?
              ...to: 
                  Name: q


