diff options
Diffstat (limited to 'clang/test/PCH/pr18806.cpp')
| -rw-r--r-- | clang/test/PCH/pr18806.cpp | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/clang/test/PCH/pr18806.cpp b/clang/test/PCH/pr18806.cpp new file mode 100644 index 00000000000..c28320db956 --- /dev/null +++ b/clang/test/PCH/pr18806.cpp @@ -0,0 +1,31 @@ +// RUN: %clang_cc1 -std=c++11 -emit-pch -o %t %s +// RUN: %clang_cc1 -std=c++11 -include-pch %t -verify %s + +// expected-no-diagnostics + +// Before the patch, this test triggered an assert violation in +// ASTContext::getSubstTemplateTypeParmType. + +#ifndef HEADER_INCLUDED +#define HEADER_INCLUDED + +template <typename T> +using Id = T; + +template <typename X> +struct Class1 { + template <typename Y, typename = decltype(Y())> + struct Nested1; +}; + +template <typename A> +struct Class2 { + template <typename B, typename = Id<decltype(B())>> + struct Nested2; +}; + +#else + +Class2<char> test; + +#endif |

