38 lines
		
	
	
		
			783 B
		
	
	
	
		
			C
		
	
	
	
			
		
		
	
	
			38 lines
		
	
	
		
			783 B
		
	
	
	
		
			C
		
	
	
	
// RUN: %clang_cc1 -fsyntax-only -verify -pedantic %s
 | 
						|
 | 
						|
char *funk(int format);
 | 
						|
enum Test {A=-1};
 | 
						|
char *funk(enum Test x);
 | 
						|
 | 
						|
int eli(float b); // expected-note {{previous declaration is here}}
 | 
						|
int b(int c) {return 1;}
 | 
						|
 | 
						|
int foo();
 | 
						|
int foo() {
 | 
						|
  int eli(int (int)); // expected-error {{conflicting types for 'eli'}}
 | 
						|
  eli(b);
 | 
						|
  return 0;
 | 
						|
}
 | 
						|
 | 
						|
int bar();
 | 
						|
int bar(int i) // expected-note {{previous definition is here}}
 | 
						|
{
 | 
						|
  return 0;
 | 
						|
}
 | 
						|
int bar() // expected-error {{redefinition of 'bar'}} 
 | 
						|
{
 | 
						|
  return 0;
 | 
						|
}
 | 
						|
 | 
						|
int foobar(int); // note {{previous declaration is here}}
 | 
						|
int foobar() // error {{conflicting types for 'foobar'}}
 | 
						|
{
 | 
						|
  return 0;
 | 
						|
}
 | 
						|
 | 
						|
int wibble(); // expected-note {{previous declaration is here}}
 | 
						|
float wibble() // expected-error {{conflicting types for 'wibble'}}
 | 
						|
{
 | 
						|
  return 0.0f;
 | 
						|
}
 |