You are correct, I omit some informations because I thought the ''error'' happened anyway....sorry.
The code is like this: struct Type_AnIn AnIn[3]; void Test(void) { unsigned char Ix; for (Ix = 0; Ix < 3; Ix++) AnIn[Ix].Ampli = AMP_NTC; } When I select the ''error'' to point the code that generates it, the Codewarrior highlight the line above header of the next function.... The ''problem'' doesn't occur if I use: AnIn->Ampli = AMP_NTC; The ''problem'' doesn't occur if I use: typedef struct Type_AnIn { signed short Value; unsigned char Ampli; unsigned char Status:4; }; If I open the map file, I see that when I access a bit mapped field the compiler generates a variable (_xxPSID1) in the overlap segment. C3604 is not an error nor a warning, it's only an ''information'' message...but I want to know why... Thanks for your help, Patrik