this might be useful for some of you out there.
I just upgraded the compiler from version 2.3.0 to one of the latest nightly snappshots, I think it's 2.3.5. (Windows mcs51)
I tried to compile some files with the new compiler that were compiling fine with the older version.
The new compiler went thrue with no errors or warnings or errors but the program wouldn't run.
After a couple hours I found out that the header file for special function register and bits caused the problem.
The old compiler did handle the syntax: for example  Sfr P0=0x80 the right way.
The new compiler first reserved Ram space like P0 .ds 1 and so one for all special function registers and bits, later it put values to them like mov P0,#0x80.
But P0 has the same address then Ram address 00, P1 the same address then ram address 10h and so on.
As I'm not a compiler designer, maybe someone who is doing some work on improving the compiler might have a look at this and gives out some warnings.
I hope this was helpful for some of you.
Maybe someone can answer me a question.
Do the nightly snappshots derive from earlier relised versions or from other snappshots ?
G'day Andy