http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57682
--- Comment #2 from Paolo Carlini <paolo.carlini at oracle dot com> --- Something is already going wrong as early as cp_parser_save_member_function_body: at line #22818 the whole function-try-block is not properly handled in case of uniform initialization syntax, apparently because the closed '}' of 'f{ func }' is confused with the closed '}' of 'f( func ) { }', and the former at variance with the latter isn't followed by 'catch'.