forked from OSchip/llvm-project
				
			
		
			
				
	
	
		
			34 lines
		
	
	
		
			771 B
		
	
	
	
		
			C++
		
	
	
	
			
		
		
	
	
			34 lines
		
	
	
		
			771 B
		
	
	
	
		
			C++
		
	
	
	
// RUN: %clang_cc1 -fsyntax-only -verify %s
 | 
						|
 | 
						|
class X {
 | 
						|
public:
 | 
						|
  int operator++();
 | 
						|
  operator int();
 | 
						|
};
 | 
						|
 | 
						|
void test() {
 | 
						|
  X x;
 | 
						|
  int i;
 | 
						|
 | 
						|
  i = x.operator++();
 | 
						|
  i = x.operator int();
 | 
						|
  x.operator--(); // expected-error{{no member named 'operator--'}}
 | 
						|
  x.operator float(); // expected-error{{no member named 'operator float'}}
 | 
						|
  x.operator; // expected-error{{expected a type}}
 | 
						|
}
 | 
						|
 | 
						|
void test2() {
 | 
						|
  X *x;
 | 
						|
  int i;
 | 
						|
 | 
						|
  i = x->operator++();
 | 
						|
  i = x->operator int();
 | 
						|
  x->operator--(); // expected-error{{no member named 'operator--'}}
 | 
						|
  x->operator float(); // expected-error{{no member named 'operator float'}}
 | 
						|
  x->operator; // expected-error{{expected a type}}
 | 
						|
}
 | 
						|
 | 
						|
namespace pr13157 {
 | 
						|
  class A { public: void operator()(int x, int y = 2, ...) {} };
 | 
						|
  void f() { A()(1); }
 | 
						|
} |