<html><head></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><div><div>On Feb 23, 2011, at 12:32 PM, Joerg Sonnenberger wrote:</div><blockquote type="cite"><div>On Wed, Feb 23, 2011 at 12:06:52PM -0800, Jim Grosbach wrote:<br><blockquote type="cite">On Feb 23, 2011, at 11:54 AM, Joerg Sonnenberger wrote:<br></blockquote><blockquote type="cite"><br></blockquote><blockquote type="cite"><blockquote type="cite">On Wed, Feb 16, 2011 at 09:47:22AM -0800, Jim Grosbach wrote:<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><blockquote type="cite">What about other targets? ARM, MIPS, etc.. shouldn't accept<br></blockquote></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><blockquote type="cite">bracket-as-parens expressions unless that's part of their documented<br></blockquote></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><blockquote type="cite">syntax.<br></blockquote></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">Can you name a specific platform for which GAS doesn't accept it?<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><blockquote type="cite">For example, the following is not legal ARM assembly and should give a<br></blockquote></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><blockquote type="cite">syntax error on the '[' token.<br></blockquote></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><blockquote type="cite">add r0, r1, #[_foo - _bar]<br></blockquote></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><br></blockquote></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><blockquote type="cite">With these changes, that's not happening anymore.<br></blockquote></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">_foo:<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">_bar:<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><span class="Apple-tab-span" style="white-space:pre">    </span>add r0, r1, #[_foo - _bar]<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">is accepted by GAS and gives the same result as the expression with ().<br></blockquote></blockquote><blockquote type="cite"><br></blockquote><blockquote type="cite"><br></blockquote><blockquote type="cite">You are operating under the mistaken impression that what gas accepts<br></blockquote><blockquote type="cite">is the definition of what is legal assembly. This is a bug in gas for<br></blockquote><blockquote type="cite">it to accept that expression for ARM. It may or may not be a bug for<br></blockquote><blockquote type="cite">it to accept it for X86. I don't know X86 assembly syntax well enough<br></blockquote><blockquote type="cite">to know the answer to that.<br></blockquote><br>Since you seem to operate under the impression that you are right and I<br>am wrong, feel free to change it however you like as long as it doesn't<br>break the x86 backend.<br><br></div></blockquote>Jim demonstrated how this breaks ARM. Therefore, it's not just his "impression" that you are wrong, but you *are* wrong.</div><div><br></div><div>-bw</div><div><br></div><br></body></html>