diff options
Diffstat (limited to 'clang/test/SemaTemplate/injected-class-name.cpp')
-rw-r--r-- | clang/test/SemaTemplate/injected-class-name.cpp | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/clang/test/SemaTemplate/injected-class-name.cpp b/clang/test/SemaTemplate/injected-class-name.cpp new file mode 100644 index 00000000000..43fb454bca5 --- /dev/null +++ b/clang/test/SemaTemplate/injected-class-name.cpp @@ -0,0 +1,17 @@ +// RUN: clang-cc -fsyntax-only -verify %s + +template<typename T> +struct X { + X<T*> *ptr; +}; + +X<int> x; + +template<> +struct X<int***> { + typedef X<int***> *ptr; +}; + +// FIXME: EDG rejects this in their strict-conformance mode, but I +// don't see any wording making this ill-formed. +X<float>::X<int> xi = x; |