Change UsedArray to be a vector of WeakVH to fix a dangling pointer problem that occurs when
attribute(used) and asm renaming are used together.

llvm-svn: 68155
diff --git a/clang/test/CodeGen/mangle.c b/clang/test/CodeGen/mangle.c
index 6571a4b..b3affe9 100644
--- a/clang/test/CodeGen/mangle.c
+++ b/clang/test/CodeGen/mangle.c
@@ -47,3 +47,8 @@
 void foo6() __asm__("var2");
 void foo6() {
 }
+
+
+
+int foo7 __asm__("foo7") __attribute__((used));
+float foo8 __asm__("foo7") = 42;