From: Argyrios Kyrtzidis Date: Wed, 5 Oct 2011 19:37:56 +0000 (+0000) Subject: Fix the rewriter, rdar://10234024. X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=a1e797e7c0de5f4ac63ff902f22f457cc9360ba7;p=clang Fix the rewriter, rdar://10234024. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@141201 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/Sema/SemaDeclObjC.cpp b/lib/Sema/SemaDeclObjC.cpp index c1c000e030..de48de15d7 100644 --- a/lib/Sema/SemaDeclObjC.cpp +++ b/lib/Sema/SemaDeclObjC.cpp @@ -586,7 +586,8 @@ Sema::ActOnStartProtocolInterface(SourceLocation AtProtoInterfaceLoc, ProtocolName, ProtocolLoc, PDecl->getLocation(), PList); // Make sure the cached decl gets a valid start location. - PDecl->setLocation(AtProtoInterfaceLoc); + PDecl->setAtStartLoc(AtProtoInterfaceLoc); + PDecl->setLocation(ProtocolLoc); PDecl->setForwardDecl(false); // Since this ObjCProtocolDecl was created by a forward declaration, // we now add it to the DeclContext since it wasn't added before diff --git a/test/Rewriter/protocol-rewrite-2.m b/test/Rewriter/protocol-rewrite-2.m new file mode 100644 index 0000000000..b3eb16a5f1 --- /dev/null +++ b/test/Rewriter/protocol-rewrite-2.m @@ -0,0 +1,7 @@ +// RUN: %clang_cc1 -rewrite-objc %s -o %t.cpp +// RUN: %clang_cc1 -fsyntax-only %t.cpp + +// rdar://10234024 +@protocol Foo; +@protocol Foo +@end