|
73 | 73 | error_stop_code: 128
|
74 | 74 | container: intel/fortran-essentials:2025.0.0-0-devel-ubuntu22.04
|
75 | 75 |
|
| 76 | + # --- LFortran coverage --- |
| 77 | + |
| 78 | + # https://hub.docker.com/r/phhargrove/lfortran/tags |
| 79 | + - os: ubuntu-24.04 |
| 80 | + compiler: lfortran |
| 81 | + version: 0.54.0 |
| 82 | + container: phhargrove/lfortran:0.54.0-1 |
| 83 | + |
76 | 84 | container:
|
77 | 85 | image: ${{ matrix.container }}
|
78 | 86 |
|
@@ -122,6 +130,9 @@ jobs:
|
122 | 130 | echo "FPM_FC=flang-new" >> "$GITHUB_ENV" ; \
|
123 | 131 | elif test "$FC" = "ifx" ; then \
|
124 | 132 | echo "FPM_FC=ifx" >> "$GITHUB_ENV" ; \
|
| 133 | + elif test "$FC" = "lfortran" ; then \ |
| 134 | + echo "FPM_FC=lfortran" >> "$GITHUB_ENV" ; \ |
| 135 | + echo "FFLAGS=--cpp $FFLAGS" >> "$GITHUB_ENV" ; \ |
125 | 136 | else \
|
126 | 137 | echo "FPM_FC=gfortran-${COMPILER_VERSION}" >> "$GITHUB_ENV" ; \
|
127 | 138 | echo "FFLAGS=-ffree-line-length-0 $FFLAGS" >> "$GITHUB_ENV" ; \
|
@@ -163,21 +174,26 @@ jobs:
|
163 | 174 | set -x
|
164 | 175 | fpm test ${FPM_FLAGS} --flag "$FFLAGS"
|
165 | 176 | fpm run --example false-assertion ${FPM_FLAGS} --flag "$FFLAGS"
|
| 177 | + fpm run --example simple-assertions ${FPM_FLAGS} --flag "$FFLAGS" |
166 | 178 | fpm run --example invoke-via-macro ${FPM_FLAGS} --flag "$FFLAGS"
|
167 | 179 |
|
168 | 180 | - name: Build and Test (Assertions ON)
|
169 | 181 | env:
|
170 | 182 | FPM_FLAGS: ${{ env.FPM_FLAGS }} --flag -DASSERTIONS
|
171 | 183 | run: |
|
172 | 184 | set -x
|
173 |
| - fpm test ${FPM_FLAGS} --flag "$FFLAGS" |
174 |
| - ( set +e ; fpm run --example false-assertion ${FPM_FLAGS} --flag "$FFLAGS" ; test $? = $ERROR_STOP_CODE ) |
175 |
| - ( set +e ; fpm run --example invoke-via-macro ${FPM_FLAGS} --flag "$FFLAGS" ; test $? = $ERROR_STOP_CODE ) |
| 185 | + fpm test ${FPM_FLAGS} --flag "$FFLAGS" |
| 186 | + ( set +e ; fpm run --example false-assertion ${FPM_FLAGS} --flag "$FFLAGS" ; test $? = $ERROR_STOP_CODE ) |
| 187 | + ( set +e ; fpm run --example simple-assertions ${FPM_FLAGS} --flag "$FFLAGS" ; test $? = $ERROR_STOP_CODE ) |
| 188 | + ( set +e ; fpm run --example invoke-via-macro ${FPM_FLAGS} --flag "$FFLAGS" ; test $? = $ERROR_STOP_CODE ) |
176 | 189 |
|
177 | 190 | - name: Test Assertions w/ Parallel Callbacks
|
| 191 | + if: ${{ matrix.compiler != 'lfortran' }} # issue #68 |
178 | 192 | env:
|
179 |
| - FPM_FLAGS: ${{ env.FPM_FLAGS }} --flag -DASSERTIONS --flag -DASSERT_MULTI_IMAGE --flag -DASSERT_PARALLEL_CALLBACKS |
| 193 | + FPM_FLAGS: ${{ env.FPM_FLAGS }} --flag -DASSERT_MULTI_IMAGE --flag -DASSERT_PARALLEL_CALLBACKS |
180 | 194 | run: |
|
181 | 195 | set -x
|
182 |
| - ( set +e ; fpm run --example false-assertion ${FPM_FLAGS} --flag "$FFLAGS" ; test $? = $ERROR_STOP_CODE ) |
183 |
| - ( set +e ; fpm run --example invoke-via-macro ${FPM_FLAGS} --flag "$FFLAGS" ; test $? = $ERROR_STOP_CODE ) |
| 196 | + fpm run --example false-assertion ${FPM_FLAGS} --flag "$FFLAGS" |
| 197 | + fpm run --example invoke-via-macro ${FPM_FLAGS} --flag "$FFLAGS" |
| 198 | + ( set +e ; fpm run --example false-assertion ${FPM_FLAGS} --flag "$FFLAGS -DASSERTIONS" ; test $? = $ERROR_STOP_CODE ) |
| 199 | + ( set +e ; fpm run --example invoke-via-macro ${FPM_FLAGS} --flag "$FFLAGS -DASSERTIONS" ; test $? = $ERROR_STOP_CODE ) |
0 commit comments