Dominic Orchard

Results 33 issues of Dominic Orchard

Example: ``` SUBROUTINE lex IMPLICIT NONE INTEGER X, Y, c break & ZZ END ``` Remove the comment and the problem goes away.

Type: Bug

For example, `DATA X/a,b,c/` is allowed if a, b, and c are variables that contain constants (parameter I think). We can't parse this at the moment.

I note in the Fortran 90 standard (ftp://ftp.nag.co.uk/sc22wg5/N001-N1100/N692.pdf, section 3.4) that "An INCLUDE line is not a Fortran statement. An INCLUDE line must appear on a single source line where...

Type: Enhancement

This is not in the standard as far as I can see, but most compilers support naked common block definitions inside of '.CMN' files, which can then be be included...

Type: Enhancement

MWE: ``` program multi implicit none != unit m :: height, width real :: height = 1.0 real :: width ! Should cause a units error width = height *...

Type: Bug
enhancement
units-of-measure

Example: ``` program intconv implicit none real :: x = 1.0 real :: y = (1.0/3.0) * 3.0 if (nint(x) == nint(y)) then print *, "x and y are equal"...

Type: Bug
enhancement

(related discussion in `fortran-src` about supporting short-circuiting in the evaluator: https://github.com/camfort/fortran-src/issues/271) The Fortran standards do not mandate or prohibit the use of short-circuiting in evaluating logical expressions. The norm in...

enhancement

In the parsing of unit specifications, we make all unit names lowercase: https://github.com/camfort/camfort/blob/master/src/Camfort/Specification/Units/Parser.y#L163 I'm not sure this is really a good idea since SI unit names typically involve upper case...

question

It's been suggested that another useful `basic-check` would be for conditionals in loops (which may not necessarily get optimised out by compilers depending on the condition).

enhancement

At the moment, the renaming (`Language.Fortran.Analysis.Renaming`) generates names that use the scope and name and a freshid, but using `_` to separate all of these. However since `_` is a...