__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/