diff options
Diffstat (limited to 'clang/test/Misc/diag-template-diffing-cxx98.cpp')
-rw-r--r-- | clang/test/Misc/diag-template-diffing-cxx98.cpp | 18 |
1 files changed, 17 insertions, 1 deletions
diff --git a/clang/test/Misc/diag-template-diffing-cxx98.cpp b/clang/test/Misc/diag-template-diffing-cxx98.cpp index f374fbc4179..9d0439c2828 100644 --- a/clang/test/Misc/diag-template-diffing-cxx98.cpp +++ b/clang/test/Misc/diag-template-diffing-cxx98.cpp @@ -11,7 +11,23 @@ namespace PR15513 { class A {}; void foo(A<0> &M) { - // CHECK: no viable conversion from 'A<[...], (default) x + 1>' to 'A<[...], 0>' + // CHECK: no viable conversion from 'A<[...], (default) x + 1 aka 1>' to 'A<[...], 0>' A<0, 0> N = M; + // CHECK: no viable conversion from 'A<0, [...]>' to 'A<1, [...]>' + A<1, 1> O = M; } } + +namespace default_args { + template <int x, int y = 1+1, int z = 2> + class A {}; + + void foo(A<0> &M) { + // CHECK: no viable conversion from 'A<[...], (default) 1 + 1 aka 2, (default) 2>' to 'A<[...], 0, 0>' + A<0, 0, 0> N = M; + + // CHECK: no viable conversion from 'A<[2 * ...], (default) 2>' to 'A<[2 * ...], 0>' + A<0, 2, 0> N2 = M; + } + +} |