From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: joakim@verona.se Newsgroups: gmane.emacs.devel Subject: Re: clang vs free software Date: Tue, 21 Jan 2014 17:25:59 +0100 Message-ID: References: <87fvqtg02v.fsf@flea.lifelogs.com> <3496352.tEhiuvcQfN@descartes> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: quoted-printable X-Trace: ger.gmane.org 1390321586 4374 80.91.229.3 (21 Jan 2014 16:26:26 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Tue, 21 Jan 2014 16:26:26 +0000 (UTC) Cc: John Yates , Stefan Monnier , Richard Stallman , David Engster , emacs-devel@gnu.org To: =?iso-8859-1?Q?R=FCdiger?= Sonderfeld Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Tue Jan 21 17:26:33 2014 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by plane.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1W5e9p-0002St-9Y for ged-emacs-devel@m.gmane.org; Tue, 21 Jan 2014 17:26:33 +0100 Original-Received: from localhost ([::1]:59307 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1W5e9o-0001es-SR for ged-emacs-devel@m.gmane.org; Tue, 21 Jan 2014 11:26:32 -0500 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:50389) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1W5e9g-0001eD-KR for emacs-devel@gnu.org; Tue, 21 Jan 2014 11:26:30 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1W5e9a-0000YF-Fi for emacs-devel@gnu.org; Tue, 21 Jan 2014 11:26:24 -0500 Original-Received: from mx1.bahnhof.se ([213.80.101.11]:54376) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1W5e9a-0000XR-5d; Tue, 21 Jan 2014 11:26:18 -0500 Original-Received: from localhost (mf.bahnhof.se [213.80.101.20]) by mx1-reinject (Postfix) with ESMTP id 55F288ABF77; Tue, 21 Jan 2014 17:26:16 +0100 (CET) X-Virus-Scanned: by amavisd-new using ClamAV at bahnhof.se (MF3) Original-Received: from mf3.bahnhof.se ([127.0.0.1]) by localhost (mf3.bahnhof.se [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id SyOqQ+TQNdNG; Tue, 21 Jan 2014 17:26:12 +0100 (CET) Original-Received: from mta.verona.se (h-235-102.a149.priv.bahnhof.se [85.24.235.102]) by mf3.bahnhof.se (Postfix) with ESMTP id BD85F3E8C8E; Tue, 21 Jan 2014 17:26:10 +0100 (CET) Original-Received: from localhost (unknown [127.0.0.1]) by mta.verona.se (Postfix) with ESMTP id 7A5EF4E7817; Tue, 21 Jan 2014 16:26:00 +0000 (UTC) X-Virus-Scanned: amavisd-new at verona.se Original-Received: from mta.verona.se ([127.0.0.1]) by localhost (exodia.verona.se [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id YFGUkzBlCY3z; Tue, 21 Jan 2014 17:25:59 +0100 (CET) Original-Received: from exodia.verona.se (www.verona.se [192.168.200.15]) by mta.verona.se (Postfix) with ESMTP id 7067E4E7813; Tue, 21 Jan 2014 17:25:59 +0100 (CET) In-Reply-To: <3496352.tEhiuvcQfN@descartes> (=?iso-8859-1?Q?=22R=FCdiger?= Sonderfeld"'s message of "Tue, 21 Jan 2014 17:00:10 +0100") User-Agent: Gnus/5.130006 (Ma Gnus v0.6) Emacs/24.3.50 (gnu/linux) X-detected-operating-system: by eggs.gnu.org: Mac OS X 10.x X-Received-From: 213.80.101.11 X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.devel:168836 Archived-At: R=FCdiger Sonderfeld writes: > 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: >>=20 >> http://clang.llvm.org/features.html#libraryarch> http://clang.llvm.org/f= eatures.html#ideintegration>=20 >> Tooling for analyzing and manipulating C/C++ is simply a space that gcc = is >> not addressing. Based on its architecture it likely never will. >>=20 >> There exist now various packages integrating emacs will elements of clan= g. >> These packages are not supporting clang as alternative compiler. Rather >> by exploiting clang interfaces that have no gcc analog they offer exciti= ng >> IDE-like features. > > GCC provides a plugin interface now which can be used to extract informat= ion=20 > about the source. I started writing a plugin and Emacs interface based o= n=20 > that. It can show the callgraph, jump to definition, and show some=20 > information about symbols. You simply add it to your normal compiler cal= l.=20=20 > But I didn't get very far and it requires a patched version of the gcc-py= thon=20 > plugin. > > I hope I'll find enough time to continue working on it. Maybe Clang prov= ides=20 > better integration. But without an FFI it would have to be linked into E= macs.=20=20 > 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. > > (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=20 > information that GCC provides and generate the simplified ETAG format.) > > Regards, > R=FCdiger > --=20 Joakim Verona