diff options
-rw-r--r-- | lib/Sema/SemaDeclObjC.cpp | 3 | ||||
-rw-r--r-- | test/Rewriter/protocol-rewrite-2.m | 7 |
2 files changed, 9 insertions, 1 deletions
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 |