]> granicus.if.org Git - clang/commitdiff
Correct the starting location for instantiations of field declarations which
authorRichard Smith <richard-llvm@metafoo.co.uk>
Wed, 23 May 2012 04:22:22 +0000 (04:22 +0000)
committerRichard Smith <richard-llvm@metafoo.co.uk>
Wed, 23 May 2012 04:22:22 +0000 (04:22 +0000)
start with a cv-qualifier. DeclaratorDecl::getTypeSpecStartLoc() does not
produce the location of the first type-specifier (the cv-qualifier) in this
case, because we don't track source locations for cv-qualifiers.

No test here: I've not found a way to test this with a lit-style test, and
introducing a gtest test for this seems unwarranted. Suggestions welcome!

Patch by Daniel Jasper!

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@157311 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Sema/SemaTemplateInstantiateDecl.cpp

index 0182b3dcc40044c6e7d1d6a61b660b75a3331fea..e79c8916b417ab3f8ed2c159dc1825a0f6c6faca 100644 (file)
@@ -431,7 +431,7 @@ Decl *TemplateDeclInstantiator::VisitFieldDecl(FieldDecl *D) {
                                             D->isMutable(),
                                             BitWidth,
                                             D->hasInClassInitializer(),
-                                            D->getTypeSpecStartLoc(),
+                                            D->getInnerLocStart(),
                                             D->getAccess(),
                                             0);
   if (!Field) {