summaryrefslogtreecommitdiffstats
path: root/clang/test/SemaCXX/warn-consumed-analysis.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'clang/test/SemaCXX/warn-consumed-analysis.cpp')
-rw-r--r--clang/test/SemaCXX/warn-consumed-analysis.cpp6
1 files changed, 5 insertions, 1 deletions
diff --git a/clang/test/SemaCXX/warn-consumed-analysis.cpp b/clang/test/SemaCXX/warn-consumed-analysis.cpp
index aa5139bed0c..c6646559465 100644
--- a/clang/test/SemaCXX/warn-consumed-analysis.cpp
+++ b/clang/test/SemaCXX/warn-consumed-analysis.cpp
@@ -19,7 +19,7 @@ class ConsumableClass {
ConsumableClass<T>& operator=(ConsumableClass<T> &other);
ConsumableClass<T>& operator=(ConsumableClass<T> &&other);
- ConsumableClass<T>& operator=(nullptr_t);
+ ConsumableClass<T>& operator=(nullptr_t) CONSUMES;
template <typename U>
ConsumableClass<T>& operator=(ConsumableClass<U> &other);
@@ -251,6 +251,10 @@ void testMoveAsignmentish() {
*var0;
*var1; // expected-warning {{invocation of method 'operator*' on object 'var1' while it is in the 'consumed' state}}
+
+ var1 = ConsumableClass<long>(42);
+ var1 = nullptr;
+ *var1; // expected-warning {{invocation of method 'operator*' on object 'var1' while it is in the 'consumed' state}}
}
void testConditionalMerge() {
OpenPOWER on IntegriCloud