Author: snaroff
Date: Wed Aug 13 11:39:22 2008
New Revision: 54740

URL: http://llvm.org/viewvc/llvm-project?rev=54740&view=rev
Log:
Sema::ActOnStartProtocolInterface(): Make sure the protocol decl has a valid 
start location.

The following case resulted in an invalid start location:

// start location not being set for ObjCProtocolDecl AST (when a forward 
reference is in scope).
@protocol Buggy;

@protocol Buggy 
@optional
- whatever;
@end


Modified:
    cfe/trunk/lib/Sema/SemaDeclObjC.cpp

Modified: cfe/trunk/lib/Sema/SemaDeclObjC.cpp
URL: 
http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Sema/SemaDeclObjC.cpp?rev=54740&r1=54739&r2=54740&view=diff

==============================================================================
--- cfe/trunk/lib/Sema/SemaDeclObjC.cpp (original)
+++ cfe/trunk/lib/Sema/SemaDeclObjC.cpp Wed Aug 13 11:39:22 2008
@@ -199,7 +199,8 @@
       // FIXME: don't leak the objects passed in!
       return PDecl;
     }
-    
+    // Make sure the cached decl gets a valid start location.
+    PDecl->setLocation(AtProtoInterfaceLoc);
     PDecl->setForwardDecl(false);
   } else {
     PDecl = ObjCProtocolDecl::Create(Context, 
AtProtoInterfaceLoc,ProtocolName);


_______________________________________________
cfe-commits mailing list
[email protected]
http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits

Reply via email to