I have a really old piece of Objective C code as follows:
extern void fncDoSomething(id param); // in Code.h
However when this function is implemented, the developer decided to use Class instead:
void fncDoSomething(Class param) { // in Code.m
// Use param as Class
}
I believe this was accepted in gcc and gobjc's old versions. Is there any flag that allows such code to work?
Info about my environment:
Ubuntu 12.04 GCC 4.6.3
PS: In the source file there's a header with the year 2000.
Edit: I'm running this in a 32-bit Vagrant Box
Edit 2: Here's the actual code and the error message (it appears during compilation):
The error message: FCall.m:591:1: error: conflicting types for 'updateTarget' ./defobj.h:1170:13: note: previous declaration of 'updateTarget' was here
The lines of code:
// FCall.m line 591
void
updateTarget (FCall_c *self, id target)
// defobj.h line 1170
extern void updateTarget (id call, id target);