I thing it should generate a warning. but it doesn't. C51 COMPILER V8.16 Compiler settings: level=2
#include<something.h>
my_strange_global_variable = 1;
void main(void) { ...; }
C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
Thank you, I was a little confused and than Andy Neil paste a link to Keil supported standards http://www.keil.com/product/isoansi.asp
Keil supports some of C99 rules and that explains everything.