Is this meant to compile?

Chris Lattner sabre@nondot.org
Wed Aug 20 19:55:00 GMT 2003


This testcase:

-------------------------
static int foo(int);
static int foo(C)
char C;
{ return C; }

void test() { foo(7); }
------------------

Currently compiles with mainline gcc, yet this testcase:

------------------

static int foo(int);

static int foo(char C) { return C; }
void test() { foo(7); }


------------------

Produces these errors:
2003-08-20-PrototypeMismatch.c:7: error: conflicting types for 'foo'
2003-08-20-PrototypeMismatch.c:3: error: previous declaration of 'foo'

Is this desired behavior?

-Chris

-- 
http://llvm.cs.uiuc.edu/
http://www.nondot.org/~sabre/Projects/



More information about the Gcc mailing list