Преглед на файлове

* fixed detection of an objcprotocols descending from a forward-defined
objcprotocol

git-svn-id: trunk@30169 -

Jonas Maebe преди 10 години
родител
ревизия
2dcd42d4f1
променени са 3 файла, в които са добавени 15 реда и са изтрити 3 реда
  1. 1 0
      .gitattributes
  2. 3 3
      compiler/pdecobj.pas
  3. 11 0
      tests/test/tobjc43.pp

+ 1 - 0
.gitattributes

@@ -12027,6 +12027,7 @@ tests/test/tobjc4.pp svneol=native#text/plain
 tests/test/tobjc40.pp svneol=native#text/plain
 tests/test/tobjc41.pp svneol=native#text/plain
 tests/test/tobjc42.pp svneol=native#text/plain
+tests/test/tobjc43.pp svneol=native#text/plain
 tests/test/tobjc4a.pp svneol=native#text/plain
 tests/test/tobjc5.pp svneol=native#text/plain
 tests/test/tobjc5a.pp svneol=native#text/plain

+ 3 - 3
compiler/pdecobj.pas

@@ -679,9 +679,6 @@ implementation
               Message1(sym_e_formal_class_not_resolved,childof.objrealname^);
           end;
 
-        { remove forward flag, is resolved }
-        exclude(current_structdef.objectoptions,oo_is_forward);
-
         if hasparentdefined then
           begin
             if current_objectdef.objecttype in [odt_class,odt_objcclass,odt_objcprotocol,odt_javaclass,odt_interfacejava] then
@@ -695,6 +692,9 @@ implementation
               end;
             consume(_RKLAMMER);
           end;
+
+        { remove forward flag, is resolved }
+        exclude(current_structdef.objectoptions,oo_is_forward);
       end;
 
     procedure parse_extended_type(helpertype:thelpertype);

+ 11 - 0
tests/test/tobjc43.pp

@@ -0,0 +1,11 @@
+{ %target=darwin }
+{ %fail }
+
+{$modeswitch objectivec2}
+
+type
+  prot = objcprotocol(prot)
+  end;
+
+begin
+end.