This would be criminal.
So including something with 100 constants where 70 of these are already in PB residents would cause the compiler to complain 70 times and I would have to delete anything already defined, even if with the same value, from the include.
And then if other 5 constants are added in a subsequent PB version, I would have to edit the include again to remove them.
And if I have to replace the include with an updated version, because it's an include with OS constants and some new constants are added in a new version of the OS, I have to convert it into a PB include and again remove all the constants already defined in PB.
Just imagine to do the same with DirectX, OpenGL, etc.
Every program including converted headers partially overlapping with PB residents would became uncompilable and a nightmare to maintain.
Currently you can do this
#FOO = 10
#FOO = 10
I hope so.
It will only raise an error if you define it with a diferent value,
I hope so.
it is a problem when you have to define OS constants that are not defined, you will not recieve a warning if they are defined later
And why it's a problem ?
You can do this even is already defined
#WM_ACTIVATE = 6
I hope so.
So i have to use this workaround for every OS constant:
Why ?
Not gonna happen, constants need to be definable twice with the same value.