flang-compiler / f18

F18 is a front-end for Fortran intended to replace the existing front-end in the Flang compiler
230 stars 48 forks source link

Changes that enable f18 build with latest clang #1059

Closed klausler closed 4 years ago

klausler commented 4 years ago

These changes silence new warnings and errors (valid or not -- we may have been getting away with something until now) emitted by the llvm-project clang compiler while building f18. The one big change was avoiding inline operator== member functions operating on sum types containing references to types that are necessarily forward-referenced in header files; these comparisons were taken out-of-line into C++ source files where all of the relevant types are fully defined. Also, a porting problem to OSX that Tim encountered with another PR is fixed here so that we don't have to wait for that big PR to merge.

f18 still builds with gcc (9.2.0 at least, will confirm 8.3.0 and 7.2.0 before merging) too.