Messages in this thread | | | Date | Tue, 8 Jan 2002 18:12:02 -0800 | From | Richard Henderson <> | Subject | Re: __FUNCTION__ |
| |
On Tue, Jan 08, 2002 at 03:11:47PM -0800, Greg KH wrote: > Any reason _why_ they would want to break tons of existing code in this > manner?
__FUNCTION__ was never a string literal in g++ because you can't decide what the name of a template is until you instantiate it.
Having __FUNCTION__ be a magic cpp thingy means there is a translation phase violation. Preprocessor macros are expanded in phase 4, string concatenation happens in phase 6, syntactic and symantic analysis doesn't happen until phase 7.
So changing this allows us to change two things: (1) the integrated preprocessor can concatenate adjacent string literals and do lexical analysis exactly as described in the standard, and (2) removes an irrelevant difference between c and c++ so that at some point we can support both with a single front-end.
r~ - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |