gcc : c++11 : full support : eta?
Florian Weimer
fweimer@redhat.com
Fri Feb 8 16:15:00 GMT 2013
On 01/24/2013 08:55 PM, Diego Novillo wrote:
> I do see, however, a few areas where Clang/LLVM have gone that I do
> not think GCC is currently thinking of entering: "toolability" (for
> the lack of a better term). Clang's design follows a different path
> than g++. It's not just a code generating parser, it is a pure parser
> that also generates code. The difference makes it suitable for any
> kind of tool that needs to understand C++: static analyzers, code
> re-formatters, syntax highlighters, and other similar tools.
> Additionally, it is designed as a library, so it can be embedded into
> applications.
I'm not quite sure that this clean split is possible, even after making
amends for template instantiation. It's great for syntax-driven tools,
but once you move beyond that, you tend to ignore stuff like destructors
(or the cleanup attribute), life-times of temporaries etc., things which
are just not visible in an AST. You have to reimplement many program
analysis algorithms typically part of compiler optimizers, after
lowering the AST to a less elaborate intermediate representation (a step
which requires a fair amount of knowledge about the language in question).
--
Florian Weimer / Red Hat Product Security Team
More information about the Gcc
mailing list