GCC does not like the following auto *f() -> int; "error: 'f' function with late return type has 'auto*' as its type rather than plain 'auto'" Nothing in N3225 forbids that, AFAICS. See also http://llvm.org/bugs/show_bug.cgi?id=9132
I have been mistaken. The declaration "auto *f() -> int;" does not conform to the syntax.