AIX- xlc and cc

when i compile with Xlc i sometimes get the following Error:
(S) Initialization between types "int" and "struct MskTtimerData*" is not allowed.

when i compile with cc with the same Flags, i only get a (W) with the same message, but it compiles fine.

How can i get the Xlc to 'ignore' the above error like cc ?

Lazzar

hey, thanks for the fast reply.

It is a kinda big already existing project wich we are updating.

And we just recently upgraded from 32 Aix4 to 64 bit Aix5 also.
So a (int) cast would prolly be a bad idea (truncating the pointer?).

but i see where the problem is now.

Thanks a lot.
Lazzar

Found the Bugger now.
The Structure with the Pointer to MskTtimerData has changed.

old struct {
int;
MskTtimerData *
}

new struct {
int
int, <--- We tried to insert the Pointer here
int,
MskTtimerData *
}

oh well, i thought i have checked all the structures.

I just hope thats the only one who chnaged.
There might be other changes where the compiler wontt burp.

i have some testing to do now :slight_smile:

Lazzar

edit

hehe, never think that way, users will always find your 'unimportant' code passages.
And then the truncated pointer would 99% result in a Sig 11

I am not familiar with Xlc, except that it is an AIX thing.

It seems, from your conversation, that it behaves like lint, which should be part of any C development IMO.

Does someone know a little more about Xlc?