Make template diffing handle integral expressions of various widths correctly.
PR14342.



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@168005 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/test/Misc/diag-template-diffing-cxx98.cpp b/test/Misc/diag-template-diffing-cxx98.cpp
new file mode 100644
index 0000000..cd40ccc
--- /dev/null
+++ b/test/Misc/diag-template-diffing-cxx98.cpp
@@ -0,0 +1,7 @@
+// RUN: %clang_cc1 -fsyntax-only %s -std=c++98 2>&1 | FileCheck %s
+
+namespace PR14342 {
+  template<typename T, char a> struct X {};
+  X<int, 1> x = X<long, 257>();
+  // CHECK: error: no viable conversion from 'X<long, [...]>' to 'X<int, [...]>'
+}
\ No newline at end of file