comp.lang.ada
 help / color / mirror / Atom feed
From: Lucretia <laguest9000@googlemail.com>
Subject: Re: LLVM and Ada
Date: Sat, 22 Oct 2016 05:51:34 -0700 (PDT)
Date: 2016-10-22T05:51:34-07:00	[thread overview]
Message-ID: <6188b81f-7d6a-4ea4-90d4-74142471d979@googlegroups.com> (raw)
In-Reply-To: <fdcc461d-0800-42e5-a130-a31a7edd5e3b@googlegroups.com>

On Friday, 21 October 2016 09:32:04 UTC+1, vincent....@gmail.com  wrote:

> My question precisely was not about the Ada frontend in fact but about a binding to use the LLVM from an Ada program that is a sort of compiler. I think that those who ported GNAT to LLVM should have created this kind of binding, no ?

I have looked into this and there are reasons:

1) C++ is hard to bind to, you either have to wrap the classes in C and flatten the api or use GNAT's class binding representation clauses - which isn't portable to other compilers - this may or may not matter to you.

2) There is a C binding in LLVM's source, but according to their own docs (that I cannot find right now!) say that the C interface isn't as complete as the C++ one.

3) The API changes a lot, which means it's harder to bind to.

I would look at which API you intend to bind to first to see if it can do what you need, then start by generating the bindings with "gcc -fdump-ada-spec-slim" and then hand massage them, GCC generates a ton of crap and they're not readable or compilable.

Whatever binding you create, don't release them under GPL, pick something less restrictive and other's will use them. Really annoys me when people create a binding to something and then puts them under a license the original library wasn't released under.

  parent reply	other threads:[~2016-10-22 12:51 UTC|newest]

Thread overview: 37+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-10-20 14:28 LLVM and Ada Vincent DIEMUNSCH
2016-10-20 18:20 ` Simon Clubley
2016-10-21  8:32   ` vincent.diemunsch
2016-10-21 10:33     ` Brian Drummond
2016-10-21 12:25       ` vincent.diemunsch
2016-10-22 12:31       ` Lucretia
2016-10-21 13:47     ` jparkerg000
2016-10-21 18:33       ` vincent.diemunsch
2016-10-22 12:51     ` Lucretia [this message]
2016-10-25 14:34       ` Vincent
2018-03-21 13:08         ` carlojpisani
2018-03-21 14:40           ` Dan'l Miller
2018-03-21 18:23             ` Bojan Bozovic
2018-03-21 18:57               ` Luke A. Guest
2018-03-22 13:57                 ` Dan'l Miller
2018-03-22 15:18                   ` Luke A. Guest
2018-03-22 17:01                     ` Dan'l Miller
2018-03-22 21:14                       ` Luke A. Guest
2018-03-22 21:28                         ` Dan'l Miller
2018-03-22 21:36                           ` Dan'l Miller
2018-03-22 22:14                             ` Luke A. Guest
2018-03-22 23:37                               ` Dan'l Miller
2018-03-22 23:50                                 ` Lucretia
2018-03-22 23:58                                   ` Dan'l Miller
2018-03-23  5:10                                     ` Bojan Bozovic
2018-03-23 14:25                                       ` Dan'l Miller
2018-03-23 14:38                                         ` Dan'l Miller
2018-03-23 16:38                                           ` Shark8
2018-03-25  2:17                                             ` Dan'l Miller
2018-03-25 16:56                                               ` Lucretia
2018-03-25 10:29                                             ` Bojan Bozovic
2018-03-25 11:01                                               ` Bojan Bozovic
2018-03-25 16:58                                               ` Lucretia
2018-03-23 16:43                                       ` Lucretia
2018-03-30 20:46                             ` Dan'l Miller
2018-03-22 12:22           ` Brian Drummond
2016-10-20 23:31 ` Dennis Lee Bieber
replies disabled

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox