New __attribute__((pod_assign)) forces C assign

Considering this code:

  typedef struct Point { float x, y; } Point;
  float test(int i, //
             __attribute__((address_space(1))) const Point *in,
             __attribute__((address_space(1))) Point *out) {
    __attribute__((pod_assign)) Point r = in[i];
    out[i] = r;
    return r.x * r.y;
  }

Regardless if type is POD or not C++ always try to use constructor when doing
assignment, which make C++ unable to perform copy from other address space,
which is possible when using C.

This attribute marks certain structure type variables to be initialized by
plain C style assignment, resulting similar casts as in C mode.