[flang] Continue semantics checks after expression error
Change statement semantics to continue with checks after an error in expression analysis. This allows the compiler to report more compilation errors. It requires that statement semantics not assume that every parser::Expr has a valid evaluate::Expr. For example, the test cases in coarrays02.f90 can now be moved to coarrays01.f90. Previously the errors like "Must be a scalar value" from ExprChecker prevented other errors from being detected by CoarrayChecker. Change to a stable sort of messages so that they come out in a deterministic order. Otherwise when there are two errors at the same location (e.g. line 71 of coarrays01.f90) the test can fail randomly. Original-commit: flang-compiler/f18@f420d219096c0f40c17a07d926122840669debb4 Reviewed-on: https://github.com/flang-compiler/f18/pull/422 Tree-same-pre-rewrite: false
Loading
Please sign in to comment