[cfe-dev] [cfe-commits] r100942 - /cfe/trunk/lib/CodeGen/CGObjC.cpp

David Chisnall csdavec at swan.ac.uk
Sat Apr 10 16:43:21 PDT 2010


On 11 Apr 2010, at 00:35, Chris Lattner wrote:

> The point is, super is not an expression, it is a magic keyword that affects messages sends.  It cannot be used in any other places that expressions are allowed, so it should not be part of the expression grammar.


Which is a side issue.  There are three questions here.  First, should we support super in parentheses in message send expressions?  I say we should because:

- It is supported by GCC.
- It is used in existing code.
- It is required for macros that send messages to their arguments.
	- You have not proposed any way for people to work around this

You say no because is counter to your private sense of aesthetics.

Question two.  Should we do so with the existing infrastructure and the one-line change that I just made?  I say yes because:

- It is a trivial change.
- It works now.
- It allows existing code to be compiled with Clang that was previously requiring GCC.

You say no because is counter to your private sense of aesthetics.

Question three.  Should we work to remove ObjCSuperExpr.  You say yes because:

- It is not really an expression.
- It complicates semantic analysis.
- It doesn't truly reflect the language semantics.

I say I don't really care, but it's probably a nicer design longer term and if someone wants to put some effort into it then it will probably make things cleaner and easier.

David

-- Sent from my PDP-11





More information about the cfe-dev mailing list