/* This testcase checks whether SWIG correctly parses the support for types without the defined trivial constructor in the unions. */ %module cpp11_unrestricted_unions %inline %{ struct point { point() {} point(int x, int y) : x_(x), y_(y) {} int x_, y_; }; #include // For placement 'new' in the constructor below union P { int z; double w; point p; // Illegal in C++03; legal in C++11. // Due to the point member, a constructor definition is required. P() { new(&p) point(); } } p1; %}