This fixes PR22075.
Details
- Reviewers
rsmith - Commits
- rG93ed5cf5e62e: Diagnose declspecs occuring after virt-specifier-seq and generate fixit hints
rG9a7adfcf3ac0: Diagnose declspecs occuring after virt-specifier-seq and generate fixit hints
rC233160: Diagnose declspecs occuring after virt-specifier-seq and generate fixit hints
rC233069: Diagnose declspecs occuring after virt-specifier-seq and generate fixit hints
rL233160: Diagnose declspecs occuring after virt-specifier-seq and generate fixit hints
rL233069: Diagnose declspecs occuring after virt-specifier-seq and generate fixit hints
Diff Detail
- Repository
- rL LLVM
Event Timeline
Thanks, this is a nice improvement. Have you considered also handling ref-qualifiers here?
lib/Parse/ParseDeclCXX.cpp | ||
---|---|---|
2100–2113 ↗ | (On Diff #17763) | Please factor this out into a loop or a lambda rather than duplicating it three times. |
I don't know how to submit these separately, but I added a patch to handle ref-qualifiers as well, and they are both now in D7012.
I'm having difficulty fixing the issue that caused this patch to bounce when I landed it earlier this morning. Here is a link to the log of the test failure: http://lab.llvm.org:8011/builders/clang-hexagon-elf/builds/24611/steps/check-all/logs/FAIL%3A%20Clang%3A%3Afixit-cxx0x.cpp
The issue is my call to getFunctionTypeInfo(). That call is now asserting because isFunctionDeclarator() returns false on the declaration. I checked, and isDeclarationOfFunction() returns true, but I'm not sure how to get a FunctionTypeInfo out of such a declarator.
Can someone please help? Thanks!