http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60367
--- Comment #1 from rob.desbois at gmail dot com ---
...having realised that this might look like I just don't grok move
construction I expanded my test - adding copy & move constructors & assignment
operators to foo and re-running the test still gives the same result, i.e. the
address of the function argument is not the address of a constructed object:
constructed foo @ 0x7fff80e0f25f
default argument is at 0x7fff80e0f240
(I can attach the enhanced test on request)