浏览代码

[ASTImporter][NFC] Update ASTImporter internals docs

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@373895 91177308-0d34-0410-b5e6-96231b3b80d8
Gabor Marton 5 年之前
父节点
当前提交
d263b49d02
共有 1 个文件被更改,包括 2 次插入11 次删除
  1. 2 11
      docs/InternalsManual.rst

+ 2 - 11
docs/InternalsManual.rst

@@ -1519,11 +1519,11 @@ statements are true:
 - A and X are nodes from the same ASTContext.
 - A and X are nodes from the same ASTContext.
 - B and Y are nodes from the same ASTContext.
 - B and Y are nodes from the same ASTContext.
 - A and B may or may not be from the same ASTContext.
 - A and B may or may not be from the same ASTContext.
-- if A == X (pointer equivalency) then (there is a cycle during the traverse)
+- if A == X and B == Y (pointer equivalency) then (there is a cycle during the
+  traverse)
 
 
   - A and B are structurally equivalent if and only if
   - A and B are structurally equivalent if and only if
 
 
-    - B and Y are part of the same redeclaration chain,
     - All dependent nodes on the path from <A,B> to <X,Y> are structurally
     - All dependent nodes on the path from <A,B> to <X,Y> are structurally
       equivalent.
       equivalent.
 
 
@@ -1563,15 +1563,6 @@ the whole redeclaration chain of the function. The most recent version of the
 declarations - regardless if they are definitions or prototypes - in the order
 declarations - regardless if they are definitions or prototypes - in the order
 as they appear in the "from" context.
 as they appear in the "from" context.
 
 
-.. Structural eq requires proper redecl chains
-
-Another reason why we must maintain and import redeclaration chains properly is
-that the :ref:`Structural Equivalency <structural-eq>` check would report false
-positive in-equivalencies otherwise. We must not allow having two (or more)
-independent redeclaration chains of structurally equivalent declarations.
-Structural equivalency identifies the chains with the canonical declaration,
-that becomes different for independent chains.
-
 .. One definition
 .. One definition
 
 
 If we have an existing definition in the "to" context, then we cannot import
 If we have an existing definition in the "to" context, then we cannot import