diff options
| author | Craig Silverstein <csilvers2000@yahoo.com> | 2010-10-20 21:13:35 +0000 |
|---|---|---|
| committer | Craig Silverstein <csilvers2000@yahoo.com> | 2010-10-20 21:13:35 +0000 |
| commit | 7d8fdef78d3214874c299c4adfa3e6cf022565b4 (patch) | |
| tree | 0acb6ab0a3cdada3e0ed00a17503c0b8e770689a /llvm | |
| parent | 274060b6f110c6023fc63e4803d120949750867f (diff) | |
| download | bcm5719-llvm-7d8fdef78d3214874c299c4adfa3e6cf022565b4.tar.gz bcm5719-llvm-7d8fdef78d3214874c299c4adfa3e6cf022565b4.zip | |
Get FunctionDecl to recurse on FunctionTypeLoc rather than
FunctionType! I didn't realize it was available, until rjmccall
pointed out that DeclaratorDecl made the typeloc available. This
makes FunctionDecl recursion *much* easier, because the typeloc can
take care of default parameters, so we no longer have to do that
separately, which means we can just do a normal type traversal instead
of this special-case WalkUp stuff we did before.
The only downside -- and it's minor -- is that because the TypeLoc
handles both the return type and the argument types, we can't recurse
on the explicit template args in the right place (which would be
between them). I do it beforehand instead. So for
int MyFunc<float>(char x);
we get callbacks in the order: float, int, char.
Reviewed by chandlerc
llvm-svn: 116945
Diffstat (limited to 'llvm')
0 files changed, 0 insertions, 0 deletions

