N3276 changed the semantics of decltype of a function call so that a call that returns by value doesn't result in the creation of a temporary, so that the type doesn't need to be complete, the destructor doesn't need to be accessible, etc. Tested x86_64-pc-linux-gnu, applying to trunk.