flang-compiler / flang

Flang is a Fortran language front-end designed for integration with LLVM.
Other
803 stars 136 forks source link

Push llvm and clang changes upstream #543

Open physkets opened 6 years ago

physkets commented 6 years ago

According to the build instructions, one currently has to re-build llvm and clang, due to flang specific changes.

Are there any plans to upstream these in a compatible way so that one can just use the llvm and clang available in one's own distro repositories?

gklimowicz commented 6 years ago

We hope to upstream the LLVM changes, especially the debug metadata support for Fortran-specific entities (like CHARACTER variables, which aren't really like strings or VLAs; COMMON blocks; PURE, ELEMENTAL, RECURSIVE procedure types; multiple entry points to procedures).

The Flang driver (based on Clang) may be a bit more complex. Flang is not yet a peer LLVM project, so support for the Flang driver in Clang is not as clear a picture. Outside of the Flang driver, there is a lot about the current Flang front-end and middle-end that don't yet fit well into the LLVM model.