incompatible function declaration

Michael gonwg@hotmail.com
Thu Apr 12 17:26:00 GMT 2007


Hi, 

gcc behaves differently for following program:

void foo2();
int main() {
    extern void foo(void);
    foo();
    foo2();
    return 0;
}

void foo2() {
    foo();
}


compilation command:  gcc -c t1.c

result:
1. gcc 3.2.2 compiles successfully.

2. gcc 4.0.3 gives following message:

t1.c: In function 'foo2':
t1.c:10: error: incompatible implicit declaration of function 'foo'
t1.c:3: error: previous implicit declaration of 'foo' was here


question:
    which one is more correct ? Is the error message too severe ?


Regards,

Mike





More information about the Gcc-help mailing list