diff options
| author | Richard Trieu <rtrieu@google.com> | 2014-07-02 04:39:38 +0000 |
|---|---|---|
| committer | Richard Trieu <rtrieu@google.com> | 2014-07-02 04:39:38 +0000 |
| commit | dadefde29413132a714e4897f24b5425d1a625d1 (patch) | |
| tree | c28b7570481357305e5904750506160c137f1479 /clang/test/SemaCXX/PR20110.cpp | |
| parent | 722289f31139bf6f535cfad248a87cda9ce86cb0 (diff) | |
| download | bcm5719-llvm-dadefde29413132a714e4897f24b5425d1a625d1.tar.gz bcm5719-llvm-dadefde29413132a714e4897f24b5425d1a625d1.zip | |
Prevent Clang from crashing on template code.
Fixes PR20110, where Clang hits an assertion failure when it expects that the
sub-expression of a bit cast to pointer to also be a pointer, but gets a value
instead.
Differential Revision: http://reviews.llvm.org/D4280
llvm-svn: 212160
Diffstat (limited to 'clang/test/SemaCXX/PR20110.cpp')
| -rw-r--r-- | clang/test/SemaCXX/PR20110.cpp | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/clang/test/SemaCXX/PR20110.cpp b/clang/test/SemaCXX/PR20110.cpp new file mode 100644 index 00000000000..e540a738b87 --- /dev/null +++ b/clang/test/SemaCXX/PR20110.cpp @@ -0,0 +1,15 @@ +// RUN: %clang_cc1 -fsyntax-only -verify %s +// RUN: %clang_cc1 -fsyntax-only -verify -std=c++11 %s +// expected-no-diagnostics + +// FIXME: These templates should trigger errors in C++11 mode. + +template <char const *p> +class A { + char const *get_p() { return *p; } +}; +template <int p> +class B { + char const *get_p() { return p; } +}; + |

