[cfe-dev] [F18/AST] Using clang tooling with f18
Marcus Johnson via cfe-dev
cfe-dev at lists.llvm.org
Fri Oct 12 17:20:51 PDT 2018
I know absolutely nothing about the AST, but why not just use LLVM's IR?
> On Oct 12, 2018, at 1:58 PM, David Greene via cfe-dev <cfe-dev at lists.llvm.org> wrote:
> [Reposted with the correct clang mailing list -- sorry about the
> Hi all,
> We've been having a bit of discussion over on flang-dev and wanted to
> bring in clang people to comment/brainstorm. Here is the original post
> that kicked this off on flang-dev:
> I was hoping f18 would lower to something akin to clang's AST.
> Obviously clang's AST doesn't directly apply to Fortran but perhaps
> some kind of common interface could exist so that clang tools could
> work with Fortran codes. It would be great to have things like the
> clang static analyzer and clang-doc for Fortran.
> Some tools will be language-specific of course but it seems like
> Fortran and C-family languages share enough common concepts that some
> tooling could work with both, given a common interface.
> Language-specific tools would work with a more language-specific
> My impression from the presentation is that there's a lot more that
> could be shared with clang. The messaging system and command-line
> options infrastructure should be shareable, for example. Maybe
> there's already work being done in these areas to make f18 a
> first-class LLVM project.
> Folks raised some concerns/areas to explore:
> - Can we represent various Fortran constructs with additions to the
> clang AST? For example:
> * Implied DO loops
> * Array syntax
> * I/O statements (FORMAT, READ, NAMELIST, etc.)
> * Array declarations (DIMENSION, etc.)
> * Array syntax
> * ...
> - Can clang's infrastructure handle various Fortran oddities like
> non-reserved keyworks and the ability to redefine constants?
> These may primarily be "dusty deck" issues and perhaps for tooling
> purposes a 98% solution is ok. F18 still needs to fully handle them,
> of course.
> - Can we modify clang's AST and surrounding infrastructure to re-use
> bits of clang tooling for f18 or should we create some kind of common
> tooling interface for clang/f18 tooling that can also support
> language-specific bits?
> - Can this be forward-looking for tooling for other languages (Rust,
> Chapel, Go, etc.)?
> We pretty quickly came to a point where we needed input from clang
> folks, so here we are. :)
> cfe-dev mailing list
> cfe-dev at lists.llvm.org
More information about the cfe-dev