I declare a variable unsigned char bdata Kde in a.c.
[in file a.c] unsigned char bdata Kde;
[in file b.c] #include <stdio.h> ..... extern unsigned char bdata Kde; sbit testbit=Kde^1; void main(void) {......}
...many modern compilers attempt to diagnose almost as many problems as a good lint does. I use Gimpel Sofware's PC-lint and several (9) modern compilers. None of the compilers come close to catching what lint does!