11.1 Implementation-defined behavior

This is how CPP behaves in all the cases which the C standard describes as implementation-defined . This term means that the implementation is free to do what it likes, but must document its choice and stick to it.