Index: test/SemaCXX/warn-consumed-analysis-strict.cpp =================================================================== --- test/SemaCXX/warn-consumed-analysis-strict.cpp +++ test/SemaCXX/warn-consumed-analysis-strict.cpp @@ -7,24 +7,24 @@ typedef decltype(nullptr) nullptr_t; template -class Bar { +class ConsumableClass { T var; public: - Bar(void); - Bar(T val); - Bar(Bar &other); - Bar(Bar &&other); + ConsumableClass(void); + ConsumableClass(T val); + ConsumableClass(ConsumableClass &other); + ConsumableClass(ConsumableClass &&other); - Bar& operator=(Bar &other); - Bar& operator=(Bar &&other); - Bar& operator=(nullptr_t); + ConsumableClass& operator=(ConsumableClass &other); + ConsumableClass& operator=(ConsumableClass &&other); + ConsumableClass& operator=(nullptr_t); template - Bar& operator=(Bar &other); + ConsumableClass& operator=(ConsumableClass &other); template - Bar& operator=(Bar &&other); + ConsumableClass& operator=(ConsumableClass &&other); void operator*(void) const CALLABLE_WHEN_UNCONSUMED; @@ -36,11 +36,11 @@ void consume(void) CONSUMES; }; -void baf0(Bar &var); -void baf1(Bar *var); +void baf0(ConsumableClass &var); +void baf1(ConsumableClass *var); void testIfStmt(void) { - Bar var; + ConsumableClass var; if (var.isValid()) { // expected-warning {{unnecessary test. Variable 'var' is known to be in the 'consumed' state}} @@ -52,7 +52,7 @@ } void testConditionalMerge(void) { - Bar var; + ConsumableClass var; if (var.isValid()) {// expected-warning {{unnecessary test. Variable 'var' is known to be in the 'consumed' state}} @@ -72,25 +72,25 @@ } void testCallingConventions(void) { - Bar var(42); + ConsumableClass var(42); baf0(var); *var; // expected-warning {{invocation of method 'operator*' on object 'var' while it is in an unknown state}} - var = Bar(42); + var = ConsumableClass(42); baf1(&var); *var; // expected-warning {{invocation of method 'operator*' on object 'var' while it is in an unknown state}} } void testMoveAsignmentish(void) { - Bar var; + ConsumableClass var; var = nullptr; *var; // expected-warning {{invocation of method 'operator*' on object 'var' while it is in an unknown state}} } void testConstAndNonConstMemberFunctions(void) { - Bar var(42); + ConsumableClass var(42); var.constCall(); *var; @@ -100,7 +100,7 @@ } void testSimpleForLoop(void) { - Bar var; + ConsumableClass var; for (int i = 0; i < 10; ++i) { *var; // expected-warning {{invocation of method 'operator*' on object 'var' while it is in an unknown state}} @@ -112,7 +112,7 @@ void testSimpleWhileLoop(void) { int i = 0; - Bar var; + ConsumableClass var; while (i < 10) { *var; // expected-warning {{invocation of method 'operator*' on object 'var' while it is in an unknown state}} Index: test/SemaCXX/warn-consumed-analysis.cpp =================================================================== --- test/SemaCXX/warn-consumed-analysis.cpp +++ test/SemaCXX/warn-consumed-analysis.cpp @@ -7,25 +7,25 @@ typedef decltype(nullptr) nullptr_t; template -class Bar { +class ConsumableClass { T var; public: - Bar(void); - Bar(nullptr_t p) CONSUMES; - Bar(T val); - Bar(Bar &other); - Bar(Bar &&other); + ConsumableClass(void); + ConsumableClass(nullptr_t p) CONSUMES; + ConsumableClass(T val); + ConsumableClass(ConsumableClass &other); + ConsumableClass(ConsumableClass &&other); - Bar& operator=(Bar &other); - Bar& operator=(Bar &&other); - Bar& operator=(nullptr_t); + ConsumableClass& operator=(ConsumableClass &other); + ConsumableClass& operator=(ConsumableClass &&other); + ConsumableClass& operator=(nullptr_t); template - Bar& operator=(Bar &other); + ConsumableClass& operator=(ConsumableClass &other); template - Bar& operator=(Bar &&other); + ConsumableClass& operator=(ConsumableClass &&other); void operator()(int a) CONSUMES; void operator*(void) const CALLABLE_WHEN_UNCONSUMED; @@ -41,17 +41,17 @@ void consume(void) CONSUMES; }; -void baf0(const Bar var); -void baf1(const Bar &var); -void baf2(const Bar *var); +void baf0(const ConsumableClass var); +void baf1(const ConsumableClass &var); +void baf2(const ConsumableClass *var); -void baf3(Bar &&var); +void baf3(ConsumableClass &&var); void testInitialization(void) { - Bar var0; - Bar var1 = Bar(); + ConsumableClass var0; + ConsumableClass var1 = ConsumableClass(); - var0 = Bar(); + var0 = ConsumableClass(); *var0; // expected-warning {{invocation of method 'operator*' on object 'var0' while it is in the 'consumed' state}} *var1; // expected-warning {{invocation of method 'operator*' on object 'var1' while it is in the 'consumed' state}} @@ -65,25 +65,25 @@ } } -void testTempValue(void) { - *Bar(); // expected-warning {{invocation of method 'operator*' on a temporary object while it is in the 'consumed' state}} +void testTempValue() { + *ConsumableClass(); // expected-warning {{invocation of method 'operator*' on a temporary object while it is in the 'consumed' state}} } void testSimpleRValueRefs(void) { - Bar var0; - Bar var1(42); + ConsumableClass var0; + ConsumableClass var1(42); *var0; // expected-warning {{invocation of method 'operator*' on object 'var0' while it is in the 'consumed' state}} *var1; - var0 = static_cast&&>(var1); + var0 = static_cast&&>(var1); *var0; *var1; // expected-warning {{invocation of method 'operator*' on object 'var1' while it is in the 'consumed' state}} } void testIfStmt(void) { - Bar var; + ConsumableClass var; if (var.isValid()) { // Empty @@ -115,7 +115,7 @@ } void testCallingConventions(void) { - Bar var(42); + ConsumableClass var(42); baf0(var); *var; @@ -126,25 +126,25 @@ baf2(&var); *var; - baf3(static_cast&&>(var)); + baf3(static_cast&&>(var)); *var; // expected-warning {{invocation of method 'operator*' on object 'var' while it is in the 'consumed' state}} } void testMoveAsignmentish(void) { - Bar var0; - Bar var1(42); + ConsumableClass var0; + ConsumableClass var1(42); *var0; // expected-warning {{invocation of method 'operator*' on object 'var0' while it is in the 'consumed' state}} *var1; - var0 = static_cast&&>(var1); + var0 = static_cast&&>(var1); *var0; *var1; // expected-warning {{invocation of method 'operator*' on object 'var1' while it is in the 'consumed' state}} } void testConditionalMerge(void) { - Bar var; + ConsumableClass var; if (var.isValid()) { // Empty @@ -163,7 +163,7 @@ } void testConsumes0(void) { - Bar var(42); + ConsumableClass var(42); *var; @@ -173,13 +173,13 @@ } void testConsumes1(void) { - Bar var(nullptr); + ConsumableClass var(nullptr); *var; // expected-warning {{invocation of method 'operator*' on object 'var' while it is in the 'consumed' state}} } void testConsumes2(void) { - Bar var(42); + ConsumableClass var(42); var.unconsumedCall(); var(6); @@ -188,7 +188,7 @@ } void testSimpleForLoop(void) { - Bar var; + ConsumableClass var; for (int i = 0; i < 10; ++i) { *var; @@ -200,7 +200,7 @@ void testSimpleWhileLoop(void) { int i = 0; - Bar var; + ConsumableClass var; while (i < 10) { *var;