Steven Bosscher wrote:
Hah, but there you are. Define "non-altering-semantic-option"
for something that according to the standard does not *have* semantics.
Reminds me of a famous exchange in the discussion of Algol-68 semantics at one meeting. Someone asked Charles Lindsay what undefined meant. He replied that it could mean anything, up to and including "unimaginable chaos". Geerhardt Goos then enquired (in a rather emphatic manner) "But how can I implement unimaginable chaos in my compiler?") :-)
One interesting paragraph in the Algol-68 report specifies that at any point in the execution of the program, further elaboration of the program can be "interrupted", and that if such an interrupt occurs, further semantics are undefined.
Sounds a bit drastic, until you learn that the paragraph derived from a discussion of what the situation was if an earthquake occurred during the execution of a program, causing the computer to be destroyed. Operating in a formal mode, the committee decided that they could not have a specification that would require conforming compilers to ensure against the possibility of earthquakes :-)