Make the loading of multiple records for the same identifier (from
different modules) more robust. It already handled (simple) merges of
the set of declarations attached to that identifier, so add a test
case that shows us getting two different declarations for the same
identifier (one struct, one function) from different modules, and are
able to use both of them.



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@138189 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/test/Modules/diamond.c b/test/Modules/diamond.c
index 220a279..f9b283a 100644
--- a/test/Modules/diamond.c
+++ b/test/Modules/diamond.c
@@ -8,6 +8,10 @@
 
   // Names in multiple places in the diamond.
   top_left(&c);
+
+  left_and_right(&i);
+  struct left_and_right lr;
+  lr.left = 17;
 }
 
 // RUN: %clang_cc1 -emit-pch -o %t_top.h.pch %S/Inputs/diamond_top.h