summaryrefslogtreecommitdiffstats
path: root/clang/test/SemaCXX/cxx0x-noexcept-expression.cpp
diff options
context:
space:
mode:
authorAaron Ballman <aaron@aaronballman.com>2015-04-27 22:31:12 +0000
committerAaron Ballman <aaron@aaronballman.com>2015-04-27 22:31:12 +0000
commitedc80847514bd598bf8567166561fb8c5928dc5d (patch)
treeb674a2a5aa91d2419942da3eba6a93b2b921276e /clang/test/SemaCXX/cxx0x-noexcept-expression.cpp
parentca5ad5fb6dc7d39cddb687adde1f9bef20b63bd8 (diff)
downloadbcm5719-llvm-edc80847514bd598bf8567166561fb8c5928dc5d.tar.gz
bcm5719-llvm-edc80847514bd598bf8567166561fb8c5928dc5d.zip
Check whether the operand to a noexcept expression is valid or not. Fixes PR15842.
llvm-svn: 235931
Diffstat (limited to 'clang/test/SemaCXX/cxx0x-noexcept-expression.cpp')
-rw-r--r--clang/test/SemaCXX/cxx0x-noexcept-expression.cpp19
1 files changed, 19 insertions, 0 deletions
diff --git a/clang/test/SemaCXX/cxx0x-noexcept-expression.cpp b/clang/test/SemaCXX/cxx0x-noexcept-expression.cpp
new file mode 100644
index 00000000000..ba51365d472
--- /dev/null
+++ b/clang/test/SemaCXX/cxx0x-noexcept-expression.cpp
@@ -0,0 +1,19 @@
+// RUN: %clang_cc1 -fsyntax-only -verify -std=c++11 %s
+
+void f(); // expected-note {{possible target for call}}
+void f(int); // expected-note {{possible target for call}}
+
+void g() {
+ bool b = noexcept(f); // expected-error {{reference to overloaded function could not be resolved; did you mean to call it with no arguments?}}
+ bool b2 = noexcept(f(0));
+}
+
+struct S {
+ void g(); // expected-note {{possible target for call}}
+ void g(int); // expected-note {{possible target for call}}
+
+ void h() {
+ bool b = noexcept(this->g); // expected-error {{reference to non-static member function must be called; did you mean to call it with no arguments?}}
+ bool b2 = noexcept(this->g(0));
+ }
+};
OpenPOWER on IntegriCloud