Browse Source

* when two objectdefs resolve to the same "real" objectdef, consider them
as te_exact rather than as te_equal (otherwise you get compilation errors
if only a formal external definition is in scope in the interface, but
the full definition is in scope in the implementation)

git-svn-id: trunk@17201 -

Jonas Maebe 14 years ago
parent
commit
5c2050e756
1 changed files with 3 additions and 1 deletions
  1. 3 1
      compiler/defcmp.pas

+ 3 - 1
compiler/defcmp.pas

@@ -1260,7 +1260,9 @@ implementation
                    find_real_objcclass_definition(tobjectdef(def_to),false)) then
                  begin
                    doconv:=tc_equal;
-                   eq:=te_equal;
+                   { exact, not equal, because can change between interface
+                     and implementation }
+                   eq:=te_exact;
                  end
                { object pascal objects }
                else if (def_from.typ=objectdef) and