This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

stable plugin introspection API ... Where?


Dear all

In https://gcc.gnu.org/ml/gcc/2016-02/msg00157.html

Richard Biener (richard dot guenther at gmail dot com) is mentioning:

Help with picking up the partially completed work on a stable plugin
(introspection) API is of course welcome.


Can anyone explain me what and where is that stable plugin introspection API?

In https://gcc.gnu.org/ml/gcc/2016-02/msg00159.html I (Basile) wrote:

> What exact functions (their name, the source files defining them) in the current GCC trunk > are you referring to by your "introspection" word? Last time I checked (a few months ago) > there where nothing related to that. Today, the only occurrences of introspection
> (in GCC trunk svn rev233268) are in Java part and in the libsanitizer.

FWIW, Richard Beiner did not had time or wish to answer to that
(I've got no answer neither privately nor on the list).

So I am rephrasing my question:

which functions and source files are relevant today in the trunk for a "stable plugin introspection API"?



I did try to find something related, but my search is completely unsuccessful yet.

My feeling (and I really hope to be wrong, because any reflective or introspective
ability in GCC would help my work in the MELT plugin, see http://gcc-melt.org/ for more, a big lot)
is that today there is no plugin-related introspection API at all in GCC. It still
looks today (february 20165) as a wish or some vaporware.

I still hope to be very wrong, but then please enlighten me by naming the actual functions and source files
related to the plugin introspection API. Or give me some source files and line numbers
(in the GCC trunk, i.e. future GCC 6,  of february 2016) if you like so.


Since I am not a native English speaker, I am referring to:

https://en.wikipedia.org/wiki/Type_introspection
https://en.wikipedia.org/wiki/Reflection_%28computer_programming%29
https://en.wikipedia.org/wiki/Homoiconicity
https://en.wikipedia.org/wiki/Metadata
https://en.wikipedia.org/wiki/Metaclass

(BTW, MELT does have some of these, but they are currently for MELT specific features,
 not yet for general GCC ones; this means that I -Basile- value & cherish these features
a lot and I am hungry
to have them inside GCC)

So it looks like Richard see a "partially completed work" on "plugin introspection API"
while I (Basile) don't see even the smallest start about it (or even consensus about wishing that).
I hope to be wrong, so please point me some actual piece of code related to that in GCC 6.

FWIW, it is possible for some C++ program to have some metadata. Qt is a concrete example.
http://doc.qt.io/qt-5/metaobjects.html;
GTK is explicitly mentioning Introspection in https://wiki.gnome.org/Projects/GObjectIntrospection
but I don't see anything remotely related to such things inside GCC.

AFAIU, we don't have any programmatic way to query the GCC API useful in plugins today.

So please help me finding some related features in current GCC 6 (trunk) code base (in February 2016).

I'm sure that most plugin writers would be pleased to know about that.

Regards.


--
Basile STARYNKEVITCH         http://starynkevitch.net/Basile/
email: basile<at>starynkevitch<dot>net mobile: +33 6 8501 2359
8, rue de la Faiencerie, 92340 Bourg La Reine, France
*** opinions {are only mine, sont seulement les miennes} ***


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]