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 19:50:42 +0100
User-agent: KMail/4.11.3 (Linux/3.11.0-14-generic; KDE/4.11.3; x86_64; ; )

On Tuesday 21 January 2014 17:38:13 address@hidden wrote:
> Rüdiger Sonderfeld <address@hidden> writes:
> > On Tuesday 21 January 2014 17:25:59 address@hidden wrote:
> >> > 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.
> >> 
> >> Interesting. Do you know if the interfaces you use are also provided via
> >> gnome object introspection? Then I would love to try it out using the
> >> Emacs Xwidget branch, which provides an attempt at a GIR bridge for
> >> emacs.
> > 
> > I'm not loading any library in Emacs itself.  I have written plugins for
> > GCC. They are loaded during the compile process (add
> > -fplugin=./gccetags.so to the CXXFLAGS) and write data to a file.  For
> > gcc-etags to a file in etag format and for the other experiment a sexp.
> > 
> > I haven't really looked at libclang.  Which could be loaded through an
> > FFI.  I doubt that they are using Glib though or what would be needed for
> > gnome object introspection.
> 
> I meant if gcc could provide the feature you use via gir.

GCC doesn't provide a real API.  You basically get access to all of GCCs 
internal structures and functions.  You write your module and compile it as a 
shared library which is then loaded by GCC.

See (info "(gccint) Plugins")

I don't think gir could be used here and I don't think it would help.

Regards,
Rüdiger



reply via email to

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