]> granicus.if.org Git - clang/commitdiff
[ASTImporter][NFC] Update ASTImporter internals docs
authorGabor Marton <gabor.marton@ericsson.com>
Mon, 7 Oct 2019 11:15:18 +0000 (11:15 +0000)
committerGabor Marton <gabor.marton@ericsson.com>
Mon, 7 Oct 2019 11:15:18 +0000 (11:15 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@373895 91177308-0d34-0410-b5e6-96231b3b80d8

docs/InternalsManual.rst

index 59f3cba699dbb6818b2485c22f13ef05d556d643..409432efcfb16d5e7e330a148be4d99c78a9f0c6 100644 (file)
@@ -1519,11 +1519,11 @@ statements are true:
 - A and X 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.
-- 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
 
-    - B and Y are part of the same redeclaration chain,
     - All dependent nodes on the path from <A,B> to <X,Y> are structurally
       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
 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
 
 If we have an existing definition in the "to" context, then we cannot import