22 lines
		
	
	
		
			630 B
		
	
	
	
		
			C++
		
	
	
	
			
		
		
	
	
			22 lines
		
	
	
		
			630 B
		
	
	
	
		
			C++
		
	
	
	
// RUN: %clang_cc1 -fsyntax-only -verify %s
 | 
						|
// RUN: %clang_cc1 -fsyntax-only -verify -std=c++98 %s
 | 
						|
// RUN: %clang_cc1 -fsyntax-only -verify -std=c++11 %s
 | 
						|
 | 
						|
namespace std {
 | 
						|
  template<typename T> class vector { }; // expected-note{{candidate function (the implicit copy assignment operator) not viable}}
 | 
						|
#if __cplusplus >= 201103L // C++11 or later
 | 
						|
  // expected-note@-2 {{candidate function (the implicit move assignment operator) not viable}}
 | 
						|
#endif
 | 
						|
}
 | 
						|
 | 
						|
typedef int INT;
 | 
						|
typedef float Real;
 | 
						|
 | 
						|
void test() {
 | 
						|
  using namespace std;
 | 
						|
 | 
						|
  std::vector<INT> v1;
 | 
						|
  vector<Real> v2;
 | 
						|
  v1 = v2; // expected-error{{no viable overloaded '='}}
 | 
						|
}
 |