Change a whole lot of diagnostics to take QualType's directly 
instead of converting them to strings first.  This also fixes a
bunch of minor inconsistencies in the diagnostics emitted by clang
and adds a bunch of FIXME's to DiagnosticKinds.def.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@59948 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/Sema/SemaChecking.cpp b/lib/Sema/SemaChecking.cpp
index 09f6efb..bbc50d6 100644
--- a/lib/Sema/SemaChecking.cpp
+++ b/lib/Sema/SemaChecking.cpp
@@ -223,7 +223,7 @@
   if (!Res->isRealFloatingType())
     return Diag(OrigArg0->getLocStart(), 
                 diag::err_typecheck_call_invalid_ordered_compare)
-      << OrigArg0->getType().getAsString() << OrigArg1->getType().getAsString()
+      << OrigArg0->getType() << OrigArg1->getType()
       << SourceRange(OrigArg0->getLocStart(), OrigArg1->getLocEnd());
   
   return false;
@@ -574,10 +574,10 @@
       
       if (Str[StrIdx-1] == '.')
         Diag(Loc, diag::warn_printf_asterisk_precision_wrong_type)
-          << E->getType().getAsString() << E->getSourceRange();
+          << E->getType() << E->getSourceRange();
       else
         Diag(Loc, diag::warn_printf_asterisk_width_wrong_type)
-          << E->getType().getAsString() << E->getSourceRange();
+          << E->getType() << E->getSourceRange();
       
       break;
     }