Fix a few auto-related issues:
* 'auto' was being rejected on abstract-declarators with trailing return types and on typedefs with trailing return types. 'auto' is always allowed in these cases. This was found while testing the fix for PR 9278. * A very poor diagnostic was being issued for auto (f() -> int): "return type must be 'auto', not 'auto'". This is closely related to PR 9060. * Trailing return type handling was happening slightly too late, resulting in the checks for functions returning arrays and functions returning functions being missed. llvm-svn: 126166
Showing
- clang/include/clang/Basic/DiagnosticSemaKinds.td 2 additions, 0 deletionsclang/include/clang/Basic/DiagnosticSemaKinds.td
- clang/lib/Sema/SemaType.cpp 44 additions, 19 deletionsclang/lib/Sema/SemaType.cpp
- clang/test/CXX/dcl.dcl/dcl.spec/dcl.type/dcl.spec.auto/p2.cpp 49 additions, 0 deletions...g/test/CXX/dcl.dcl/dcl.spec/dcl.type/dcl.spec.auto/p2.cpp
- clang/test/CXX/dcl.dcl/dcl.spec/dcl.type/dcl.spec.auto/p5.cpp 3 additions, 10 deletions...g/test/CXX/dcl.dcl/dcl.spec/dcl.type/dcl.spec.auto/p5.cpp
- clang/test/CXX/dcl.decl/dcl.meaning/dcl.fct/p2-cxx0x.cpp 2 additions, 0 deletionsclang/test/CXX/dcl.decl/dcl.meaning/dcl.fct/p2-cxx0x.cpp
- clang/test/CXX/dcl.decl/dcl.meaning/dcl.fct/p8-0x.cpp 6 additions, 0 deletionsclang/test/CXX/dcl.decl/dcl.meaning/dcl.fct/p8-0x.cpp
- clang/test/CXX/dcl.decl/dcl.meaning/dcl.fct/p9-0x.cpp 3 additions, 0 deletionsclang/test/CXX/dcl.decl/dcl.meaning/dcl.fct/p9-0x.cpp
Loading
Please register or sign in to comment