This alters the text of the inline-assembly chapter to clarify that ending an inline-assembly block with a prefix or using a "stateful" assembly directive without reverting it results in undefined results whenever the program is executed at all - even if it doesn't eventually evaluate (let alone return from) the assembly block. It also notes that the compiler may (though does not currently) diagnose improper uses of stateful assembly directives that would violate that point.
This also removes the specific application of the prefix to x86 - I do not know whether this applies to any existing supported architectures, but it future proofs adding new such architectures.
Editorially, it also moves the aforementioned rules into the [asm.validity] section, and renames the identifiers accordingly.
This alters the text of the inline-assembly chapter to clarify that ending an inline-assembly block with a prefix or using a "stateful" assembly directive without reverting it results in undefined results whenever the program is executed at all - even if it doesn't eventually evaluate (let alone return from) the assembly block. It also notes that the compiler may (though does not currently) diagnose improper uses of stateful assembly directives that would violate that point.
This also removes the specific application of the prefix to x86 - I do not know whether this applies to any existing supported architectures, but it future proofs adding new such architectures.
Editorially, it also moves the aforementioned rules into the
[asm.validity]
section, and renames the identifiers accordingly.CC: @Amanieu