emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: clang vs free software


From: Rüdiger Sonderfeld
Subject: Re: clang vs free software
Date: Tue, 21 Jan 2014 17:00:10 +0100
User-agent: KMail/4.11.3 (Linux/3.11.0-14-generic; KDE/4.11.3; x86_64; ; )

On Tuesday 21 January 2014 10:34:01 John Yates wrote:
> That really does not answer David's question.  If you read it carefully he
> called out "features that require an installed clang to work".  That is the
> crux of the tension here.  While the most obvious manifestation of clang is
> as a C/C++ compiler very similar to gcc it is also much more.  That is
> because it is architected as suite of libraries intended to be integrated
> into more environments than just a compiler:
> 
> http://clang.llvm.org/features.html#libraryarch
> http://clang.llvm.org/features.html#ideintegration
> 
> Tooling for analyzing and manipulating C/C++ is simply a space that gcc is
> not addressing.  Based on its architecture it likely never will.
> 
> There exist now various packages integrating emacs will elements of clang.
>  These packages are not supporting clang as alternative compiler.  Rather
> by exploiting clang interfaces that have no gcc analog they offer exciting
> IDE-like features.

GCC provides a plugin interface now which can be used to extract information 
about the source.  I started writing a plugin and Emacs interface based on 
that.  It can show the callgraph, jump to definition, and show some 
information about symbols.  You simply add it to your normal compiler call.  
But I didn't get very far and it requires a patched version of the gcc-python 
plugin.

I hope I'll find enough time to continue working on it.  Maybe Clang provides 
better integration.  But without an FFI it would have to be linked into Emacs.  
And GCC is the main compiler I use anyway.

(Well I actually started by writing a GCC plugin to generate ETAG files

https://github.com/ruediger/gcc-etags

But it got disappointing when I had to throw away a lot of the nice 
information that GCC provides and generate the simplified ETAG format.)

Regards,
Rüdiger



reply via email to

[Prev in Thread] Current Thread [Next in Thread]