| /* 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 <new> // 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; | |
| %} | |