struct S
    with members
      m1: signed int with bitfield width constant expression 3 signed int 
      m2: signed int with bitfield width constant expression 4 signed int 
      signed int with bitfield width constant expression 2 signed int 
      signed int with bitfield width constant expression 3 signed int 
      signed int with bitfield width constant expression 4 signed int 
      m3: signed int 
      m4: signed int 
      m5: signed int 
      m6: signed int 
      m7: pointer to signed int 
      m8: pointer to signed int 
      m9: pointer to signed int 
      m10: pointer to function
            accepting unspecified arguments
          returning 
            signed int 

      m11: pointer to function
          with parameters
            signed int 
          returning 
            pointer to signed int 

      T: signed int 
      T: signed int 
      m12: pointer to signed int 
      m13: pointer to signed int 
      m14: pointer to function
          with parameters
            signed int 
          returning 
            pointer to signed int 

      signed int 
      signed int 
      signed int 
      signed int 
      pointer to signed int 
      signed int 
      signed int 
      pointer to signed int 
      pointer to signed int 
      pointer to signed int 
      pointer to signed int 
      pointer to signed int 
      pointer to signed int 
      pointer to function
            accepting unspecified arguments
          returning 
            signed int 

      pointer to pointer to function
          with parameters
            signed int 
          returning 
            signed int 

      signed int 

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

                  Expression Statement:
            Applying untyped: 
                Name: ?=?
            ...to: 
                Address of:
                  Member Expression, with field: 
                    m2: signed int with bitfield width constant expression 4 signed int 
                  from aggregate: 
                    Applying untyped: 
                        Name: *?
                    ...to: 
                        Variable Expression: _dst: pointer to instance of struct S 
                Member Expression, with field: 
                  m2: signed int with bitfield width constant expression 4 signed int 
                from aggregate: 
                  Variable Expression: _src: instance of struct S 

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

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

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

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

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

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

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

                  Expression Statement:
            Applying untyped: 
                Name: ?=?
            ...to: 
                Address of:
                  Member Expression, with field: 
                    m10: pointer to function
                        accepting unspecified arguments
                      returning 
                        signed int 

                  from aggregate: 
                    Applying untyped: 
                        Name: *?
                    ...to: 
                        Variable Expression: _dst: pointer to instance of struct S 
                Member Expression, with field: 
                  m10: pointer to function
                      accepting unspecified arguments
                    returning 
                      signed int 

                from aggregate: 
                  Variable Expression: _src: instance of struct S 

                  Expression Statement:
            Applying untyped: 
                Name: ?=?
            ...to: 
                Address of:
                  Member Expression, with field: 
                    m11: pointer to function
                      with parameters
                        signed int 
                      returning 
                        pointer to signed int 

                  from aggregate: 
                    Applying untyped: 
                        Name: *?
                    ...to: 
                        Variable Expression: _dst: pointer to instance of struct S 
                Member Expression, with field: 
                  m11: pointer to function
                    with parameters
                      signed int 
                    returning 
                      pointer to signed int 

                from aggregate: 
                  Variable Expression: _src: instance of struct S 

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

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

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

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

                  Expression Statement:
            Applying untyped: 
                Name: ?=?
            ...to: 
                Address of:
                  Member Expression, with field: 
                    m14: pointer to function
                      with parameters
                        signed int 
                      returning 
                        pointer to signed int 

                  from aggregate: 
                    Applying untyped: 
                        Name: *?
                    ...to: 
                        Variable Expression: _dst: pointer to instance of struct S 
                Member Expression, with field: 
                  m14: pointer to function
                    with parameters
                      signed int 
                    returning 
                      pointer to signed int 

                from aggregate: 
                  Variable Expression: _src: instance of struct S 

                  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 S 
                Member Expression, with field: 
                  signed int 
                from aggregate: 
                  Variable Expression: _src: instance of struct S 

                  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 S 
                Member Expression, with field: 
                  signed int 
                from aggregate: 
                  Variable Expression: _src: instance of struct S 

                  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 S 
                Member Expression, with field: 
                  signed int 
                from aggregate: 
                  Variable Expression: _src: instance of struct S 

                  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 S 
                Member Expression, with field: 
                  signed int 
                from aggregate: 
                  Variable Expression: _src: instance of struct S 

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

                  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 S 
                Member Expression, with field: 
                  signed int 
                from aggregate: 
                  Variable Expression: _src: instance of struct S 

                  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 S 
                Member Expression, with field: 
                  signed int 
                from aggregate: 
                  Variable Expression: _src: instance of struct S 

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

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

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

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

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

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

                  Expression Statement:
            Applying untyped: 
                Name: ?=?
            ...to: 
                Address of:
                  Member Expression, with field: 
                    pointer to function
                        accepting unspecified arguments
                      returning 
                        signed int 

                  from aggregate: 
                    Applying untyped: 
                        Name: *?
                    ...to: 
                        Variable Expression: _dst: pointer to instance of struct S 
                Member Expression, with field: 
                  pointer to function
                      accepting unspecified arguments
                    returning 
                      signed int 

                from aggregate: 
                  Variable Expression: _src: instance of struct S 

                  Expression Statement:
            Applying untyped: 
                Name: ?=?
            ...to: 
                Address of:
                  Member Expression, with field: 
                    pointer to pointer to function
                      with parameters
                        signed int 
                      returning 
                        signed int 

                  from aggregate: 
                    Applying untyped: 
                        Name: *?
                    ...to: 
                        Variable Expression: _dst: pointer to instance of struct S 
                Member Expression, with field: 
                  pointer to pointer to function
                    with parameters
                      signed int 
                    returning 
                      signed int 

                from aggregate: 
                  Variable Expression: _src: instance of struct S 

                  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 S 
                Member Expression, with field: 
                  signed int 
                from aggregate: 
                  Variable Expression: _src: instance of struct S 

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



s: instance of struct S 
union U
    with members
      m1: array of signed int with dimension of constant expression 5 signed int 
      m2: array of signed int with dimension of constant expression 5 signed int 
      m3: pointer to signed int 
      m4: pointer to signed int 

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

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



u: instance of union U 
