Variables end up on same address

We are using the Keil C-compiler and uVision when compiling a project for the C166-platform. Latley we have been noticing a strange behaviour of our program. A closer look of the result revealed that a number of variables end up being assigned to the same address. Has anyone else experienced the same problem?

I cant explain why the variables do end up at the same address. There is no #pragama-directive used or any such.
The declaration of the variables are as follow:

In the .h-file:

/*## attribute stEventCOMtoPRORxEnd */
extern struct evCOMtoPRORxEnd stEventCOMtoPRORxEnd [MAX_IRQ_EVENTS];
/*## attribute stEventCOMtoPROTxEnd */
extern struct evCOMtoPROTxEnd stEventCOMtoPROTxEnd [MAX_IRQ_EVENTS];

In the .c-file:

/*## attribute stEventCOMtoPRORxEnd */
struct evCOMtoPRORxEnd stEventCOMtoPRORxEnd [MAX_IRQ_EVENTS];

/*## attribute stEventCOMtoPROTxEnd */
struct evCOMtoPROTxEnd stEventCOMtoPROTxEnd [MAX_IRQ_EVENTS];

When looking at the .m66-file after compiling the following can be observed:

1062D2H stEventCOMtoPRORxEnd VAR --- HDATA0 ?HD0?PPROTOCOL 1062D2H stEventCOMtoPROTxEnd VAR --- HDATA0 ?HD0?PPROTOCOL

A third variable (not related) is also assigned to the same address (1062D2)

More questions in this forum