]> granicus.if.org Git - clang/commit
Reimplement the structural-equality checks used to determine whether
authorDouglas Gregor <dgregor@apple.com>
Mon, 15 Feb 2010 22:01:00 +0000 (22:01 +0000)
committerDouglas Gregor <dgregor@apple.com>
Mon, 15 Feb 2010 22:01:00 +0000 (22:01 +0000)
commit73dc30b71e218ba2b776b10d07dc2aff09cb2c47
tree99011f1c2fbaa0a9d519ca3343001b198d812e77
parent25760611365be23556b32332f8a66ae21ea93ecf
Reimplement the structural-equality checks used to determine whether
two types in different AST contexts are equivalent. Rather than
transforming the type from one context into the other context, we
perform a deep structural comparison of the types. This change
addresses a serious problem with recursive data types like

  struct ListNode {
    int value;
    struct ListNode *Next;
  } xList;

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@96278 91177308-0d34-0410-b5e6-96231b3b80d8
include/clang/AST/ASTImporter.h
include/clang/AST/Type.h
lib/AST/ASTImporter.cpp
test/ASTMerge/Inputs/struct1.c
test/ASTMerge/Inputs/struct2.c
test/ASTMerge/struct.c