diff options
| author | Ilya Biryukov <ibiryukov@google.com> | 2018-07-04 08:50:12 +0000 |
|---|---|---|
| committer | Ilya Biryukov <ibiryukov@google.com> | 2018-07-04 08:50:12 +0000 |
| commit | a2d582563dcbefdca27c3fa23541438fb1830504 (patch) | |
| tree | 0eb7ea5e4460cd485100e06fab175cbb5e8b6870 /clang/test/SemaCXX/injected-class-name-crash.cpp | |
| parent | ab38eb29cf0c98eed9b91bc34fda051af0ab7def (diff) | |
| download | bcm5719-llvm-a2d582563dcbefdca27c3fa23541438fb1830504.tar.gz bcm5719-llvm-a2d582563dcbefdca27c3fa23541438fb1830504.zip | |
[Sema] Fix crash in getConstructorName.
Summary:
Can happen when getConstructorName is called on invalid decls,
specifically the ones that do not have the injected class name.
Reviewers: bkramer, rsmith
Reviewed By: rsmith
Subscribers: cfe-commits
Differential Revision: https://reviews.llvm.org/D48880
llvm-svn: 336244
Diffstat (limited to 'clang/test/SemaCXX/injected-class-name-crash.cpp')
| -rw-r--r-- | clang/test/SemaCXX/injected-class-name-crash.cpp | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/clang/test/SemaCXX/injected-class-name-crash.cpp b/clang/test/SemaCXX/injected-class-name-crash.cpp new file mode 100644 index 00000000000..2996a7cdb48 --- /dev/null +++ b/clang/test/SemaCXX/injected-class-name-crash.cpp @@ -0,0 +1,11 @@ +// RUN: %clang_cc1 -fsyntax-only -verify %s + +template <class T> +struct X : public Foo<Bar { // expected-error {{unknown template name 'Foo'}} expected-error {{use of undeclared identifier 'Bar'}} + X(); +}; // expected-error {{expected '{' after base class list}} + + +template <class T> +X<T>::X() { +} |

