forked from OSchip/llvm-project
				
			
		
			
				
	
	
		
			28 lines
		
	
	
		
			842 B
		
	
	
	
		
			C++
		
	
	
	
			
		
		
	
	
			28 lines
		
	
	
		
			842 B
		
	
	
	
		
			C++
		
	
	
	
| // RUN: %clang_cc1 -std=c++11 -fsyntax-only -verify %s
 | |
| 
 | |
| int i = delete; // expected-error{{only functions}}
 | |
| int j = default; // expected-error{{special member functions}}
 | |
| 
 | |
| int f() = delete, g; // expected-error{{'= delete' is a function definition}}
 | |
| int o, p() = delete; // expected-error{{'= delete' is a function definition}}
 | |
| 
 | |
| int q() = default, r; // expected-error{{only special member functions}} \
 | |
|                       // expected-error{{'= default' is a function definition}}
 | |
| int s, t() = default; // expected-error{{'= default' is a function definition}}
 | |
| 
 | |
| struct foo {
 | |
|   foo() = default;
 | |
|   ~foo() = delete;
 | |
|   void bar() = delete;
 | |
| };
 | |
| 
 | |
| void baz() = delete;
 | |
| 
 | |
| struct quux {
 | |
|   int quux() = default; // expected-error{{constructor cannot have a return type}}
 | |
| };
 | |
| 
 | |
| struct attrs {
 | |
|   [[noreturn]] friend void deleted_with_attrs() = delete;
 | |
| };
 |