]> granicus.if.org Git - clang/commitdiff
handle the -1'ness of undefined lists
authorChris Lattner <sabre@nondot.org>
Wed, 12 Dec 2007 18:02:31 +0000 (18:02 +0000)
committerChris Lattner <sabre@nondot.org>
Wed, 12 Dec 2007 18:02:31 +0000 (18:02 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@44939 91177308-0d34-0410-b5e6-96231b3b80d8

include/clang/AST/DeclObjC.h

index 48722d7efd5640276cfad470926625861b13b359..386d7b527282fdccf24efa07a17b553032d159e0 100644 (file)
@@ -126,13 +126,13 @@ public:
   typedef ObjcMethodDecl * const * instmeth_iterator;
   instmeth_iterator instmeth_begin() const { return InstanceMethods; }
   instmeth_iterator instmeth_end() const {
-    return InstanceMethods+NumInstanceMethods;
+    return InstanceMethods+(NumInstanceMethods == -1 ? 0 : NumInstanceMethods);
   }
   
   typedef ObjcMethodDecl * const * classmeth_iterator;
   classmeth_iterator classmeth_begin() const { return ClassMethods; }
   classmeth_iterator classmeth_end() const {
-    return ClassMethods+NumClassMethods;
+    return ClassMethods+(NumClassMethods == -1 ? 0 : NumClassMethods);
   }
   
   void addInstanceVariablesToClass(ObjcIvarDecl **ivars, unsigned numIvars,
@@ -620,7 +620,7 @@ public:
   
   typedef ObjcIvarDecl * const *ivar_iterator;
   ivar_iterator ivar_begin() const { return Ivars; }
-  ivar_iterator ivar_end() const { return Ivars+NumIvars; }
+  ivar_iterator ivar_end() const {return Ivars+(NumIvars == -1 ? 0 : NumIvars);}
   
   static bool classof(const Decl *D) {
     return D->getKind() == ObjcImplementation;