This is an archive of the discontinued LLVM Phabricator instance.

[flang][docs] Document plugin limitations
ClosedPublic

Authored by awarzynski on Sep 16 2021, 1:00 AM.

Details

Summary

This was extracted from the discussion on
https://reviews.llvm.org/D108283.

Co-authored-by: Kiran Chandramohan <kiran.chandramohan@arm.com>

Diff Detail

Event Timeline

awarzynski created this revision.Sep 16 2021, 1:00 AM
awarzynski requested review of this revision.Sep 16 2021, 1:00 AM
Herald added a project: Restricted Project. · View Herald TranscriptSep 16 2021, 1:00 AM
awarzynski added a project: Restricted Project.

@kiranchandramohan I took the liberty of expanding your bullet points from https://reviews.llvm.org/D108283 into a paragraph. I hope that that's fine. Feel free to edit!

LGTM.
I have a suggestion.

flang/docs/FlangDriver.md
407

Nit: Use the following as a suggestion

Note that we intend to replace the traversal API with an API based on function object style. Hence the current API will be deprecated in future.

The parse-tree classes and enums will change as Flang development progresses and new language features are added. Plugin writers should therefore not expect these classes to be stable and keep in mind the need for maintenance.

This revision is now accepted and ready to land.Sep 16 2021, 2:14 AM

@kiranchandramohan, thank you the suggestion!

I have a suggestion.

Note that we intend to replace the traversal API with an API based on function object style.

I wouldn't add this here. It's something that we would like to happen, but AFAIK it's not being worked on actively. Also, I would prefer for this document to focus on the currently available interface. We know that it works fine as there are tests to defend that.

Plugin writers should therefore not expect these classes to be stable and keep in mind the need for maintenance.

I don't think that we need this. AFAIK, there are no guarantees about the stability of any of the C++ APIs within llvm-project. LLVM only mentions the stability of the C API. Sadly, we are unable to make any guarantees to to our downstream users, regardless of whether it's for plugins or other libraries within LLVM Flang.

This revision was automatically updated to reflect the committed changes.