From: Alex Lorenz Date: Fri, 23 Jun 2017 15:10:54 +0000 (+0000) Subject: Revert r306103: "PR26195: Set correct NestedNameSpecifierLoc for the X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=4b3bb6fed5ee72f92da9b8028e4c5040cbe329a5;p=clang Revert r306103: "PR26195: Set correct NestedNameSpecifierLoc for the dependent initializer" It caused buildbot failures such as this one: http://bb.pgr.jp/builders/test-clang-msc-x64-on-i686-linux-RA/builds/3777/steps/test_clang/logs/Clang%20%3A%3A%20Index__ctor-init-source-loc.cpp git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@306111 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/Sema/SemaDeclCXX.cpp b/lib/Sema/SemaDeclCXX.cpp index 27b5221fb9..0b46e15bb0 100644 --- a/lib/Sema/SemaDeclCXX.cpp +++ b/lib/Sema/SemaDeclCXX.cpp @@ -3778,15 +3778,6 @@ Sema::BuildMemInitializer(Decl *ConstructorD, if (BaseType.isNull()) return true; - TInfo = Context.CreateTypeSourceInfo(BaseType); - DependentNameTypeLoc TL = - TInfo->getTypeLoc().castAs(); - if (!TL.isNull()) { - TL.setNameLoc(IdLoc); - TL.setElaboratedKeywordLoc(SourceLocation()); - TL.setQualifierLoc(SS.getWithLocInContext(Context)); - } - R.clear(); R.setLookupName(MemberOrBase); } diff --git a/test/Index/ctor-init-source-loc.cpp b/test/Index/ctor-init-source-loc.cpp deleted file mode 100644 index 330e9c4324..0000000000 --- a/test/Index/ctor-init-source-loc.cpp +++ /dev/null @@ -1,117 +0,0 @@ -// RUN: c-index-test -test-load-source all %s | FileCheck %s -template -struct Derived: MyBase::InnerIterator -{ - Derived() : MyBase::InnerIterator() {} -// CHECK: TypeRef=MyBase:2:19 Extent=[5:17 - 5:23] -}; - -template -struct Derived2: MyBase::Deeper::InnerIterator -{ - Derived2() : MyBase::Deeper::InnerIterator() {} -// CHECK: TypeRef=MyBase:9:19 Extent=[12:18 - 12:24] -}; - -template -struct Templ; - -template -struct Derived3: Templ::InnerIterator -{ - Derived3() : Templ::InnerIterator() {} -// CHECK: TemplateRef=Templ:17:8 Extent=[22:18 - 22:23] -// CHECK: TypeRef=MyBase:19:19 Extent=[22:24 - 22:30] -}; - - -struct Outer { - template - struct Inner { - typedef Q Parm; - }; -}; - -template -struct Derived4: Outer::Inner::Parm -{ - Derived4() : Outer::Inner::Parm() {} -// CHECK: TypeRef=struct Outer:28:8 Extent=[38:18 - 38:23] -// CHECK: TemplateRef=Inner:30:12 Extent=[38:25 - 38:30] -// CHECK: TypeRef=Q:35:19 Extent=[38:31 - 38:32] -}; - -template -struct Derived5: Outer::Inner::Parm::InnerIterator -{ - Derived5() : Outer::Inner::Parm::InnerIterator() {} -// CHECK: TypeRef=struct Outer:28:8 Extent=[47:18 - 47:23] -// CHECK: TemplateRef=Inner:30:12 Extent=[47:25 - 47:30] -// CHECK: TypeRef=Q:44:19 Extent=[47:31 - 47:32] -}; - -template -struct Derived6: Outer::Inner -{ - Derived6() : Outer::Inner() {} -// CHECK: TypeRef=struct Outer:28:8 Extent=[56:18 - 56:23] -// CHECK: TemplateRef=Inner:30:12 Extent=[56:25 - 56:30] -// CHECK: TypeRef=Q:53:19 Extent=[56:31 - 56:32] -}; - -struct Base {}; - -struct Derived7: Outer::Inner::Parm -{ - Derived7() : Outer::Inner::Parm() {} -// CHECK: TypeRef=struct Outer:28:8 Extent=[66:18 - 66:23] -// CHECK: TemplateRef=Inner:30:12 Extent=[66:25 - 66:30] -// CHECK: TypeRef=struct Base:62:8 Extent=[66:31 - 66:35] -}; - -struct Derived8: Outer::Inner -{ - Derived8() : Outer::Inner() {} -// CHECK: TypeRef=struct Outer:28:8 Extent=[74:18 - 74:23] -// CHECK: TemplateRef=Inner:30:12 Extent=[74:25 - 74:30] -// CHECK: TypeRef=struct Base:62:8 Extent=[74:31 - 74:35] -}; - -namespace Namespace { - template struct Templ; - - struct Outer { - template - struct Inner { - typedef Q Parm; - }; - }; -} - -template -struct Derived9: Namespace::Templ::InnerIterator -{ - Derived9() : Namespace::Templ::InnerIterator() {} -// CHECK: NamespaceRef=Namespace:80:11 Extent=[94:18 - 94:27] -// CHECK: TemplateRef=Templ:81:33 Extent=[94:29 - 94:34] -// CHECK: TypeRef=MyBase:91:19 Extent=[94:35 - 94:41] -}; - -template -struct Derived10: Namespace::Templ -{ - Derived10() : Namespace::Templ() {} -// CHECK: NamespaceRef=Namespace:80:11 Extent=[103:19 - 103:28] -// CHECK: TemplateRef=Templ:81:33 Extent=[103:30 - 103:35] -// CHECK: TypeRef=MyBase:100:19 Extent=[103:36 - 103:42] -}; - -template -struct Derived11: Namespace::Outer::Inner::Parm -{ - Derived11() : Namespace::Outer::Inner::Parm() {} -// CHECK: NamespaceRef=Namespace:80:11 Extent=[112:19 - 112:28] -// CHECK: TypeRef=struct Namespace::Outer:83:12 Extent=[112:30 - 112:35] -// CHECK: TemplateRef=Inner:85:16 Extent=[112:37 - 112:42] -// CHECK: TypeRef=MyBase:109:19 Extent=[112:43 - 112:49] -};