fortran-src 0.16.0 → 0.16.1
raw patch · 6 files changed
+18/−7 lines, 6 files
Files
- CHANGELOG.md +3/−2
- README.md +9/−2
- app/Main.hs +1/−1
- fortran-src.cabal +2/−2
- src/Language/Fortran/Repr/Value/Machine.hs +1/−0
- src/Language/Fortran/Util/ModFile.hs +2/−0
CHANGELOG.md view
@@ -1,5 +1,6 @@-### 0.16.0 (2024)- * Added `--show-make-list` option+### 0.16.0 (Sept 4, 2024)+ * Added `--show-make-list` option to give a topological sort on the dependency graph for a source tree+ * Added `--version` option * Some robustness improvements around mod files [#286](https://github.com/camfort/fortran-src/pull/286) * Helpers to work with the partial evaluation representation [#285](https://github.com/camfort/fortran-src/pull/285)
README.md view
@@ -39,6 +39,7 @@ ``` Usage: fortran-src [OPTION...] <file>+ --version show fortran-src version -v VERSION, -F VERSION --fortranVersion=VERSION Fortran version to use, format: Fortran[66/77/77Legacy/77Extended/90] -a ACTION --action=ACTION choose the action, possible values: lex|parse -t --typecheck parse and run typechecker@@ -46,10 +47,16 @@ -B --bblocks analyse basic blocks -S --supergraph analyse super graph of basic blocks -r --reprint Parse and output using pretty printer+ --split-long when using pretty printer, split long lines via continuations --dot output graphs in GraphViz DOT format --dump-mod-file dump the information contained within mod files+ -C[CPP-OPTS] --cpp[=CPP-OPTS] run the C Pre Processor on the Fortran files first -I DIR --include-dir=DIR directory to search for precompiled 'mod files'- -c --compile compile an .fsmod file from the input+ -c --summarise, --compile-mod build an .fsmod file from the input+ -o FILE --output-file=FILE name of output file (e.g. name of generated fsmod file)+ --make-mods, --make determine dependency order of modules and automatically build .fsmod files+ --show-make-graph dump a graph showing the build structure of modules+ --show-make-list dump a list of files in build dependency order (topological sort from the dependency graph) --show-block-numbers[=LINE-NUM] Show the corresponding AST-block identifier number next to every line of code. --show-flows-to=AST-BLOCK-ID dump a graph showing flows-to information from the given AST-block ID; prefix with 's' for supergraph --show-flows-from=AST-BLOCK-ID dump a graph showing flows-from information from the given AST-block ID; prefix with 's' for supergraph@@ -70,7 +77,7 @@ Haskell library dependencies are listed in `package.yaml`. fortran-src supports building with Stack or Cabal. -fortran-src supports **GHC 9.0 through GHC 9.2**. We regularly test at least the+fortran-src supports **GHC 9.0 through GHC 9.4**. We regularly test at least the minimum and maximum supported GHCs. Releases prior to/newer than those may have issues. We welcome fixes that would let us support a wider range of compilers.
app/Main.hs view
@@ -51,7 +51,7 @@ programName = "fortran-src" showVersion :: String-showVersion = "0.16.0"+showVersion = "0.16.1" main :: IO () main = do
fortran-src.cabal view
@@ -1,11 +1,11 @@ cabal-version: 1.12 --- This file has been generated from package.yaml by hpack version 0.36.0.+-- This file has been generated from package.yaml by hpack version 0.37.0. -- -- see: https://github.com/sol/hpack name: fortran-src-version: 0.16.0+version: 0.16.1 synopsis: Parsers and analyses for Fortran standards 66, 77, 90, 95 and 2003 (partial). description: Provides lexing, parsing, and basic analyses of Fortran code covering standards: FORTRAN 66, FORTRAN 77, Fortran 90, Fortran 95, Fortran 2003 (partial) and some legacy extensions. Includes data flow and basic block analysis, a renamer, and type analysis. For example usage, see the @<https://hackage.haskell.org/package/camfort CamFort>@ project, which uses fortran-src as its front end. category: Language
src/Language/Fortran/Repr/Value/Machine.hs view
@@ -31,3 +31,4 @@ floatToDouble :: Float -> Double floatToDouble = realToFrac fromConstReal (MkFScalarValue (FSVReal (FReal8 a))) = Just $ a+fromConstReal _ = Nothing
src/Language/Fortran/Util/ModFile.hs view
@@ -217,6 +217,8 @@ combinedModuleMap :: ModFiles -> FAR.ModuleMap combinedModuleMap = M.unions . map mfModuleMap +-- | Inside the module map, remove all imported declarations so that+-- we can properly localise declarations to the originator file. localisedModuleMap :: FAR.ModuleMap -> FAR.ModuleMap localisedModuleMap = M.map (M.filter (not . FA.isImported . snd))