rsmith accepted this revision. rsmith added a reviewer: rsmith. rsmith added a comment. This revision is now accepted and ready to land.
This LGTM, do you have SVN access or would you like someone to commit for you? ================ Comment at: lib/Sema/SemaType.cpp:2616-2618 @@ -2616,5 +2615,5 @@ // C++11 [dcl.spec.auto]p5: reject 'auto' if it is not in an allowed context. // In C++11, a function declarator using 'auto' must have a trailing return // type (this is checked later) and we can skip this. In other languages // using auto, we need to check regardless. // C++14 In generic lambdas allow 'auto' in their parameters. ---------------- This comment is out of date. Delete these three lines? ================ Comment at: lib/Sema/SemaType.cpp:3767-3771 @@ -3743,7 +3766,7 @@ } } } // C99 6.7.5.3p1: The return type may not be a function or array type. // For conversion functions, we'll diagnose this particular error later. if ((T->isArrayType() || T->isFunctionType()) && ---------------- Does this change also fix PR25449? ================ Comment at: test/CXX/dcl.dcl/dcl.spec/dcl.type/dcl.spec.auto/p7-1y.cpp:52 @@ -51,3 +51,3 @@ const decltype(auto) f4(); // expected-error {{'decltype(auto)' cannot be combined with other type specifiers}} -typedef decltype(auto) f5(); // expected-error {{'decltype(auto)' can only be used as a return type in a function declaration}} +typedef decltype(auto) f5(); // expected-error {{'decltype(auto)' not allowed in typedef}} decltype(auto) ((((((f6))))())); // ok ---------------- Thanks, this new diagnostic is a lot better :) http://reviews.llvm.org/D12686 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits