Make the selection of type declarations in Sema::getTypeName
deterministic when faced with an ambiguity. This eliminates the
annoying test/SemaCXX/using-directive.cpp failure.

llvm-svn: 68952
diff --git a/clang/test/SemaCXX/using-directive.cpp b/clang/test/SemaCXX/using-directive.cpp
index a4d35c4..924cf07 100644
--- a/clang/test/SemaCXX/using-directive.cpp
+++ b/clang/test/SemaCXX/using-directive.cpp
@@ -1,5 +1,4 @@
 // RUN: clang-cc -fsyntax-only -verify %s
-// XFAIL
 
 namespace A {
   short i; // expected-note 2{{candidate found by name lookup is 'A::i'}}
@@ -95,8 +94,7 @@
 }
 
 namespace TwoTag {
-  struct X; // expected-note{{candidate found by name lookup is 'TwoTag::X'}} \
-  // expected-note{{forward declaration}}
+  struct X; // expected-note{{candidate found by name lookup is 'TwoTag::X'}}
 }
 
 namespace FuncHidesTagAmbiguity {
@@ -105,7 +103,6 @@
   using namespace TwoTag;
 
   void test() {
-    (void)X(); // expected-error{{reference to 'X' is ambiguous}} \
-      // FIXME: expected-error{{invalid use of incomplete type}}
+    (void)X(); // expected-error{{reference to 'X' is ambiguous}}
   }
 }