<html><head></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><br><div><div>On Apr 10, 2010, at 5:00 PM, David Chisnall wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite"><div>On 11 Apr 2010, at 00:52, Chris Lattner wrote:<br><br><blockquote type="cite">I say no because it doesn't fit with the rest of the compiler, our current implementation of super is a ecological disaster and needs to be fixed, and it is obviously not been used enough to be reported yet.  I would argue that cast of super is much more widely used than parenthesized super. <br></blockquote><br>I suspect that it hasn't been reported because clang is only very recently able to compile most Objective-C code without random things breaking.  Now that most things are working we're getting into tidying up the last bits.  <br></div></blockquote><div><br></div><div>Uh, we've compiled a *lot* of objective-c code, and Apple has been shipping clang as a production quality c/objc compiler since last summer.</div><div><br></div><blockquote type="cite"><div><blockquote type="cite"><font class="Apple-style-span" color="#000000"><br></font></blockquote><blockquote type="cite">This encourages broken code.  Continuing to reject it forces people to fix their broken code.  This is exactly what we did with cast of super, and the world is better place because of it.<br></blockquote><br>Please can we define 'broken' here?  I gave a use case for it.  You have still, after three replies, not propose a way in which code that uses this idiom could be rewritten to work with clang.</div></blockquote><div><br></div><div>There are lots of ways, remove the parens from the macro or don't use a macro at all.  Amazing.</div><br><blockquote type="cite"><div>Simply declaring code as broken when it has always worked in GCC and solves a specific problem is not a constructive approach.</div></blockquote><br></div><div>David, I respect you a lot, but I feel like I've given you several explanations of why this is wrong.  I can't help that you don't want to hear it :)</div><div><br></div><div>Have you looked at all the places and weird ad-hoc things that clang is doing w.r.t. super?  It is a real mess right now, it isn't a keyword, it is special cased in a few bizarre places.  I want to make it so the parser *just* handles this in the message dispatch parser as a context sensitive keyword.  This is the semantic behavior of it, it should not be parsed as a general expression because it doesn't make sense.</div><div><br></div><div>-Chris</div></body></html>