I don't use GCC that often so i'm not sure. The GCC 5 release notes do state this:
- G++ now allows passing a non-trivially-copyable class via C varargs, which is conditionally-supported with implementation-defined semantics in the standard. This uses the same calling convention as a normal value parameter.
It shouldn't have any effect on regular functions though.
This is beyond my skillset, so i can't really help. Andreas should be able to help here when he has the time.