diff options
author | John McCall <rjmccall@apple.com> | 2009-10-15 03:50:32 +0000 |
---|---|---|
committer | John McCall <rjmccall@apple.com> | 2009-10-15 03:50:32 +0000 |
commit | 34a0447b8072e0da14c0980597da9d03a1495662 (patch) | |
tree | 79b17d32f32a440eac48e8739cd172424123cbf8 /lib/Sema/SemaType.cpp | |
parent | 6d8b16ca9cb7b494fa8887c5e5359fa429c809e6 (diff) |
Better living through metaprogramming. Create a base class which abstracts
most of the unsafe boilerplate out of TypeLoc. Create a QualifiedLoc class
to represent the idea that we *might* start representing source locations
of qualifiers. Dealing with qualifiers explicitly like this also lets us
efficiently ignore them in all the concrete cases.
This should make it obvious and easy to add new TypeLoc subclasses.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@84168 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Sema/SemaType.cpp')
-rw-r--r-- | lib/Sema/SemaType.cpp | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/lib/Sema/SemaType.cpp b/lib/Sema/SemaType.cpp index 3cdf615423..9603ca8a51 100644 --- a/lib/Sema/SemaType.cpp +++ b/lib/Sema/SemaType.cpp @@ -1333,6 +1333,9 @@ Sema::GetDeclaratorInfoForDeclarator(Declarator &D, QualType T, unsigned Skip) { for (unsigned i = Skip, e = D.getNumTypeObjects(); i != e; ++i) { assert(!CurrTL.isNull()); + + // Don't bother recording source locations for qualifiers. + CurrTL = CurrTL.getUnqualifiedLoc(); DeclaratorChunk &DeclType = D.getTypeObject(i); switch (DeclType.Kind) { |