[cfe-commits] [PATCH 0/4] DiagnoseInvalidRedeclaration fixes and partial ActOnFunctionDeclarator refactoring
Kaelyn Uhrain
rikka at google.com
Thu Sep 29 13:35:04 PDT 2011
I forgot to mention two things:
* The remaining args passed to DiagnoseInvalidRedeclaration are, as far as
I can tell, not able to be extracted from the other parameters.
* Since the ActOnFDArgs struct is down to 4 fields and DIR has only 3
other arguments, I am open to either keeping the struct or dropping it and
moving its fields back into the parameter list for DIR.
- Kaelyn
On Thu, Sep 29, 2011 at 1:27 PM, Kaelyn Uhrain <rikka at google.com> wrote:
> Here are my patch for making DiagnoseInvalidRedeclaration not
> typo-correction a function name to one that will create additional compiler
> errors, along with several cleanup/refactoring patches.
>
> The refactoring in the second patch (the bool flag changes) was done to
> reduce how much extra data DiagnoseInvalidRedeclaration needs to be passed
> to be able to call Sema::ActOnFunctionDeclarator. It has the added bonus of
> making the parameter lists of several Sema methods less atrocious. :)
>
> Strictly speaking, the third patch (splitting up ActOnFunctionDeclarator a
> little) isn't needed by the other three patches. I'm including it here since
> it was a part of my work to trim down the extra arguments needed by
> DiagnoseInvalidRedeclaration, and it makes ActOnFunctionDeclarator a little
> less painful to examine.
>
> The fourth patch just removes a few of the extra args to
> ActOnFunctionDeclarator as the data is already in either the Declarator or
> the FunctionDecl (which I'd discovered while working on the previous two
> patches).
>
> Cheers,
> Kaelyn
>
>
> Kaelyn Uhrain (4):
> Only accept a typo correction if it doesn't trigger additional errors
> Move some bool flags out of function parameter lists.
> Move a couple chunks of ActOnFunctionDeclarator to separate functions
> Clean up DiagnoseInvalidRedeclaration a bit
>
> include/clang/Sema/DeclSpec.h | 17 +-
> include/clang/Sema/Sema.h | 33 +-
> lib/Parse/ParseCXXInlineMethods.cpp | 6 +-
> lib/Parse/ParseDeclCXX.cpp | 4 +-
> lib/Parse/Parser.cpp | 4 +-
> lib/Sema/SemaDecl.cpp | 674
> +++++++++++++++++-------------
> lib/Sema/SemaDeclCXX.cpp | 20 +-
> lib/Sema/SemaTemplate.cpp | 6 +-
> lib/Sema/SemaTemplateInstantiateDecl.cpp | 13 +-
> test/SemaCXX/function-redecl.cpp | 5 +-
> 10 files changed, 444 insertions(+), 338 deletions(-)
>
> --
> 1.7.3.1
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20110929/cb4c40e8/attachment.html>
More information about the cfe-commits
mailing list