Skip to content

Commit 1772899

Browse files
Merge pull request #297 from corentin-prigent/feature/macos-ci
Removal of Fortran API variadic functions; fix several unitary test cases
2 parents f0f8158 + e4e171c commit 1772899

File tree

48 files changed

+1697
-465
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

48 files changed

+1697
-465
lines changed

.github/workflows/main-job.yml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ jobs:
3333
strategy:
3434
fail-fast: false
3535
matrix:
36-
os: [ubuntu-20.04,macos-12]
36+
os: [ubuntu-20.04,macos-13]
3737
pattern: [on,off]
3838
pointmap: [off]
3939
scotch: [on,off]
@@ -65,7 +65,7 @@ jobs:
6565
vtk: off
6666
int: int32_t
6767

68-
- os: macos-12
68+
- os: macos-latest
6969
pattern: off
7070
pointmap: on
7171
scotch: on
@@ -125,7 +125,7 @@ jobs:
125125
vtk: on
126126
int: int64_t
127127

128-
- os: macos-12
128+
- os: macos-latest
129129
pattern: off
130130
pointmap: off
131131
scotch: off
@@ -383,7 +383,7 @@ jobs:
383383
if: inputs.code_coverage == true
384384
uses: codecov/codecov-action@v4
385385
with:
386-
fail_ci_if_error: true
386+
fail_ci_if_error: false
387387
root_dir: .
388388
verbose: true
389389
env:

cmake/testing/code/mmg2d_io.F90

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -50,9 +50,10 @@ PROGRAM main
5050

5151
mmgMesh = 0
5252
mmgSol = 0
53-
CALL MMG2D_Init_mesh(MMG5_ARG_start, &
54-
MMG5_ARG_ppMesh,mmgMesh,MMG5_ARG_ppMet,mmgSol, &
55-
MMG5_ARG_end)
53+
CALL MMG2D_Init_mesh((/MMG5_ARG_start, &
54+
MMG5_ARG_ppMesh,LOC(mmgMesh),MMG5_ARG_ppMet,LOC(mmgSol), &
55+
MMG5_ARG_end/),ier)
56+
IF ( ier == 0 ) CALL EXIT(100)
5657

5758
call loadmesh(mmgMesh,trim(filein),by_array)
5859

@@ -76,9 +77,10 @@ PROGRAM main
7677
call writemesh(mmgMesh,trim(fileout),by_array)
7778

7879
!> 3) Free the MMG2D structures
79-
CALL MMG2D_Free_all(MMG5_ARG_start, &
80-
MMG5_ARG_ppMesh,mmgMesh,MMG5_ARG_ppMet,mmgSol, &
81-
MMG5_ARG_end)
80+
CALL MMG2D_Free_all((/MMG5_ARG_start, &
81+
MMG5_ARG_ppMesh,LOC(mmgMesh),MMG5_ARG_ppMet,LOC(mmgSol), &
82+
MMG5_ARG_end/),ier)
83+
IF ( ier == 0 ) CALL EXIT(103)
8284

8385
END PROGRAM main
8486

libexamples/mmg/adaptation_example0_fortran/main.F90

Lines changed: 24 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -49,9 +49,10 @@ PROGRAM main
4949
mmgMesh = 0
5050
mmgSol = 0
5151

52-
CALL MMG2D_Init_mesh(MMG5_ARG_start, &
53-
MMG5_ARG_ppMesh,mmgMesh,MMG5_ARG_ppMet,mmgSol, &
54-
MMG5_ARG_end)
52+
CALL MMG2D_Init_mesh((/MMG5_ARG_start, &
53+
MMG5_ARG_ppMesh,LOC(mmgMesh),MMG5_ARG_ppMet,LOC(mmgSol), &
54+
MMG5_ARG_end/),ier)
55+
IF ( ier == 0 ) CALL EXIT(101)
5556

5657
!> 2) Build mesh in MMG5 format
5758
!! Two solutions: just use the MMG2D_loadMesh function that will read a .mesh(b)
@@ -106,9 +107,10 @@ PROGRAM main
106107
ENDIF
107108

108109
!> 3) Free the MMG2D5 structures
109-
CALL MMG2D_Free_all(MMG5_ARG_start, &
110-
MMG5_ARG_ppMesh,mmgMesh,MMG5_ARG_ppMet,mmgSol, &
111-
MMG5_ARG_end)
110+
CALL MMG2D_Free_all((/MMG5_ARG_start, &
111+
MMG5_ARG_ppMesh,LOC(mmgMesh),MMG5_ARG_ppMet,LOC(mmgSol), &
112+
MMG5_ARG_end/),ier)
113+
IF ( ier == 0 ) CALL EXIT(108)
112114

113115
!> ================== surface remeshing using the mmgs library
114116

@@ -124,9 +126,10 @@ PROGRAM main
124126
mmgMesh = 0
125127
mmgSol = 0
126128

127-
CALL MMGS_Init_mesh(MMG5_ARG_start, &
128-
MMG5_ARG_ppMesh,mmgMesh,MMG5_ARG_ppMet,mmgSol, &
129-
MMG5_ARG_end)
129+
CALL MMGS_Init_mesh((/MMG5_ARG_start, &
130+
MMG5_ARG_ppMesh,LOC(mmgMesh),MMG5_ARG_ppMet,LOC(mmgSol), &
131+
MMG5_ARG_end/),ier)
132+
IF ( ier == 0 ) CALL EXIT(101)
130133

131134
!> 2) Build mesh in MMG5 format
132135
!! Two solutions: just use the MMGS_loadMesh function that will read a .mesh(b)
@@ -184,9 +187,10 @@ PROGRAM main
184187
ENDIF
185188

186189
!> 3) Free the MMGS5 structures
187-
CALL MMGS_Free_all(MMG5_ARG_start, &
188-
MMG5_ARG_ppMesh,mmgMesh,MMG5_ARG_ppMet,mmgSol, &
189-
MMG5_ARG_end)
190+
CALL MMGS_Free_all((/MMG5_ARG_start, &
191+
MMG5_ARG_ppMesh,LOC(mmgMesh),MMG5_ARG_ppMet,LOC(mmgSol), &
192+
MMG5_ARG_end/),ier)
193+
IF ( ier == 0 ) CALL EXIT(106)
190194

191195
!> ================== 3d remeshing using the mmg3d library
192196

@@ -202,9 +206,10 @@ PROGRAM main
202206
mmgMesh = 0
203207
mmgSol = 0
204208

205-
CALL MMG3D_Init_mesh(MMG5_ARG_start, &
206-
MMG5_ARG_ppMesh,mmgMesh,MMG5_ARG_ppMet,mmgSol, &
207-
MMG5_ARG_end)
209+
CALL MMG3D_Init_mesh((/MMG5_ARG_start, &
210+
MMG5_ARG_ppMesh,LOC(mmgMesh),MMG5_ARG_ppMet,LOC(mmgSol), &
211+
MMG5_ARG_end/),ier)
212+
IF ( ier == 0 ) CALL EXIT(101)
208213

209214
!> 2) Build mesh in MMG5 format
210215
!! Two solutions: just use the MMG3D_loadMesh function that will read a .mesh(b)
@@ -262,8 +267,9 @@ PROGRAM main
262267

263268

264269
!> 3) Free the MMG3D5 structures
265-
CALL MMG3D_Free_all(MMG5_ARG_start, &
266-
MMG5_ARG_ppMesh,mmgMesh,MMG5_ARG_ppMet,mmgSol, &
267-
MMG5_ARG_end)
270+
CALL MMG3D_Free_all((/MMG5_ARG_start, &
271+
MMG5_ARG_ppMesh,LOC(mmgMesh),MMG5_ARG_ppMet,LOC(mmgSol), &
272+
MMG5_ARG_end/),ier)
273+
IF ( ier == 0 ) CALL EXIT(108)
268274

269275
END PROGRAM main

libexamples/mmg2d/IsosurfDiscretization_lsAndMetric/main.F90

Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -82,10 +82,11 @@ PROGRAM main
8282
mmgLs = 0
8383
mmgMet = 0
8484

85-
CALL MMG2D_Init_mesh(MMG5_ARG_start, &
86-
MMG5_ARG_ppMesh,mmgMesh,MMG5_ARG_ppLs,mmgLs, &
87-
MMG5_ARG_ppMet,mmgMet, &
88-
MMG5_ARG_end)
85+
CALL MMG2D_Init_mesh((/MMG5_ARG_start, &
86+
MMG5_ARG_ppMesh,LOC(mmgMesh),MMG5_ARG_ppLs,LOC(mmgLs), &
87+
MMG5_ARG_ppMet,LOC(mmgMet), &
88+
MMG5_ARG_end/),ier)
89+
IF ( ier == 0 ) CALL EXIT(100)
8990

9091
!!------------------- Level set discretization option ---------------------
9192
! Ask for level set discretization: note that it is important to do this step
@@ -177,9 +178,10 @@ PROGRAM main
177178
ENDIF
178179

179180
!> 3) Free the MMG2D5 structures
180-
CALL MMG2D_Free_all(MMG5_ARG_start, &
181-
MMG5_ARG_ppMesh,mmgMesh,MMG5_ARG_ppLs,mmgLs, &
182-
MMG5_ARG_ppMet,mmgMet, &
183-
MMG5_ARG_end)
181+
CALL MMG2D_Free_all((/MMG5_ARG_start, &
182+
MMG5_ARG_ppMesh,LOC(mmgMesh),MMG5_ARG_ppLs,LOC(mmgLs), &
183+
MMG5_ARG_ppMet,LOC(mmgMet), &
184+
MMG5_ARG_end/),ier)
185+
IF ( ier == 0 ) CALL EXIT(108)
184186

185187
END PROGRAM

libexamples/mmg2d/IsosurfDiscretization_lsAndMetric/main_hsiz.F90

Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -78,10 +78,11 @@ PROGRAM main
7878
mmgLs = 0
7979
mmgMet = 0
8080

81-
CALL MMG2D_Init_mesh(MMG5_ARG_start, &
82-
MMG5_ARG_ppMesh,mmgMesh,MMG5_ARG_ppLs,mmgLs, &
83-
MMG5_ARG_ppMet,mmgMet, &
84-
MMG5_ARG_end)
81+
CALL MMG2D_Init_mesh((/MMG5_ARG_start, &
82+
MMG5_ARG_ppMesh,LOC(mmgMesh),MMG5_ARG_ppLs,LOC(mmgLs), &
83+
MMG5_ARG_ppMet,LOC(mmgMet), &
84+
MMG5_ARG_end/),ier)
85+
IF ( ier == 0 ) CALL EXIT(100)
8586

8687
!!------------------- Level set discretization option ---------------------
8788
! Ask for level set discretization: note that it is important to do this step
@@ -150,9 +151,10 @@ PROGRAM main
150151
ENDIF
151152

152153
!> 3) Free the MMG2D5 structures
153-
CALL MMG2D_Free_all(MMG5_ARG_start, &
154-
MMG5_ARG_ppMesh,mmgMesh,MMG5_ARG_ppLs,mmgLs, &
155-
MMG5_ARG_ppMet,mmgMet, &
156-
MMG5_ARG_end)
154+
CALL MMG2D_Free_all((/MMG5_ARG_start, &
155+
MMG5_ARG_ppMesh,LOC(mmgMesh),MMG5_ARG_ppLs,LOC(mmgLs), &
156+
MMG5_ARG_ppMet,LOC(mmgMet), &
157+
MMG5_ARG_end/),ier)
158+
IF ( ier == 0 ) CALL EXIT(108)
157159

158160
END PROGRAM

libexamples/mmg2d/IsosurfDiscretization_lsAndMetric/main_optim.F90

Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -78,10 +78,11 @@ PROGRAM main
7878
mmgLs = 0
7979
mmgMet = 0
8080

81-
CALL MMG2D_Init_mesh(MMG5_ARG_start, &
82-
MMG5_ARG_ppMesh,mmgMesh,MMG5_ARG_ppLs,mmgLs, &
83-
MMG5_ARG_ppMet,mmgMet, &
84-
MMG5_ARG_end)
81+
CALL MMG2D_Init_mesh((/MMG5_ARG_start, &
82+
MMG5_ARG_ppMesh,LOC(mmgMesh),MMG5_ARG_ppLs,LOC(mmgLs), &
83+
MMG5_ARG_ppMet,LOC(mmgMet), &
84+
MMG5_ARG_end/),ier)
85+
IF ( ier == 0 ) CALL EXIT(100)
8586

8687
!!------------------- Level set discretization option ---------------------
8788
! Ask for level set discretization: note that it is important to do this step
@@ -154,9 +155,10 @@ PROGRAM main
154155
ENDIF
155156

156157
!> 3) Free the MMG2D5 structures
157-
CALL MMG2D_Free_all(MMG5_ARG_start, &
158-
MMG5_ARG_ppMesh,mmgMesh,MMG5_ARG_ppLs,mmgLs, &
159-
MMG5_ARG_ppMet,mmgMet, &
160-
MMG5_ARG_end)
158+
CALL MMG2D_Free_all((/MMG5_ARG_start, &
159+
MMG5_ARG_ppMesh,LOC(mmgMesh),MMG5_ARG_ppLs,LOC(mmgLs), &
160+
MMG5_ARG_ppMet,LOC(mmgMet), &
161+
MMG5_ARG_end/),ier)
162+
IF ( ier == 0 ) CALL EXIT(108)
161163

162164
END PROGRAM

libexamples/mmg2d/IsosurfDiscretization_lsOnly/main.F90

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -76,9 +76,10 @@ PROGRAM main
7676
mmgMesh = 0
7777
mmgLs = 0
7878

79-
CALL MMG2D_Init_mesh(MMG5_ARG_start, &
80-
MMG5_ARG_ppMesh,mmgMesh,MMG5_ARG_ppLs,mmgLs, &
81-
MMG5_ARG_end)
79+
CALL MMG2D_Init_mesh((/MMG5_ARG_start, &
80+
MMG5_ARG_ppMesh,LOC(mmgMesh),MMG5_ARG_ppLs,LOC(mmgLs), &
81+
MMG5_ARG_end/),ier)
82+
IF ( ier == 0 ) CALL EXIT(100)
8283

8384
!!------------------- Level set discretization option ---------------------
8485
! Ask for level set discretization: note that it is important to do this step
@@ -140,8 +141,9 @@ PROGRAM main
140141
ENDIF
141142

142143
!> 3) Free the MMG2D5 structures
143-
CALL MMG2D_Free_all(MMG5_ARG_start, &
144-
MMG5_ARG_ppMesh,mmgMesh,MMG5_ARG_ppLs,mmgLs, &
145-
MMG5_ARG_end)
144+
CALL MMG2D_Free_all((/MMG5_ARG_start, &
145+
MMG5_ARG_ppMesh,LOC(mmgMesh),MMG5_ARG_ppLs,LOC(mmgLs), &
146+
MMG5_ARG_end/),ier)
147+
IF ( ier == 0 ) CALL EXIT(107)
146148

147149
END PROGRAM

libexamples/mmg2d/IsosurfDiscretization_lsOnly/main_hsiz.F90

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -77,9 +77,10 @@ PROGRAM main
7777
mmgMesh = 0
7878
mmgLs = 0
7979

80-
CALL MMG2D_Init_mesh(MMG5_ARG_start, &
81-
MMG5_ARG_ppMesh,mmgMesh,MMG5_ARG_ppLs,mmgLs, &
82-
MMG5_ARG_end)
80+
CALL MMG2D_Init_mesh((/MMG5_ARG_start, &
81+
MMG5_ARG_ppMesh,LOC(mmgMesh),MMG5_ARG_ppLs,LOC(mmgLs), &
82+
MMG5_ARG_end/),ier)
83+
IF ( ier == 0 ) CALL EXIT(100)
8384

8485
!!------------------- Level set discretization option ---------------------
8586
! Ask for level set discretization: note that it is important to do this step
@@ -144,8 +145,9 @@ PROGRAM main
144145
ENDIF
145146

146147
!> 3) Free the MMG2D5 structures
147-
CALL MMG2D_Free_all(MMG5_ARG_start, &
148-
MMG5_ARG_ppMesh,mmgMesh,MMG5_ARG_ppLs,mmgLs, &
149-
MMG5_ARG_end)
148+
CALL MMG2D_Free_all((/MMG5_ARG_start, &
149+
MMG5_ARG_ppMesh,LOC(mmgMesh),MMG5_ARG_ppLs,LOC(mmgLs), &
150+
MMG5_ARG_end/),ier)
151+
IF ( ier == 0 ) CALL EXIT(107)
150152

151153
END PROGRAM

libexamples/mmg2d/IsosurfDiscretization_lsOnly/main_optim.F90

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -77,9 +77,10 @@ PROGRAM main
7777
mmgMesh = 0
7878
mmgLs = 0
7979

80-
CALL MMG2D_Init_mesh(MMG5_ARG_start, &
81-
MMG5_ARG_ppMesh,mmgMesh,MMG5_ARG_ppLs,mmgLs, &
82-
MMG5_ARG_end)
80+
CALL MMG2D_Init_mesh((/MMG5_ARG_start, &
81+
MMG5_ARG_ppMesh,LOC(mmgMesh),MMG5_ARG_ppLs,LOC(mmgLs), &
82+
MMG5_ARG_end/),ier)
83+
IF ( ier == 0 ) CALL EXIT(100)
8384

8485
!!------------------- Level set discretization option ---------------------
8586
! Ask for level set discretization: note that it is important to do this step
@@ -148,8 +149,9 @@ PROGRAM main
148149
ENDIF
149150

150151
!> 3) Free the MMG2D5 structures
151-
CALL MMG2D_Free_all(MMG5_ARG_start, &
152-
MMG5_ARG_ppMesh,mmgMesh,MMG5_ARG_ppLs,mmgLs, &
153-
MMG5_ARG_end)
152+
CALL MMG2D_Free_all((/MMG5_ARG_start, &
153+
MMG5_ARG_ppMesh,LOC(mmgMesh),MMG5_ARG_ppLs,LOC(mmgLs), &
154+
MMG5_ARG_end/),ier)
155+
IF ( ier == 0 ) CALL EXIT(107)
154156

155157
END PROGRAM

libexamples/mmg2d/adaptation_example0_fortran/example0_a/main.F90

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -46,9 +46,10 @@ PROGRAM main
4646
mmgMesh = 0
4747
mmgSol = 0
4848

49-
CALL MMG2D_Init_mesh(MMG5_ARG_start, &
50-
MMG5_ARG_ppMesh,mmgMesh,MMG5_ARG_ppMet,mmgSol, &
51-
MMG5_ARG_end)
49+
CALL MMG2D_Init_mesh((/ MMG5_ARG_start, &
50+
MMG5_ARG_ppMesh,LOC(mmgMesh),MMG5_ARG_ppMet,LOC(mmgSol), &
51+
MMG5_ARG_end /),ier)
52+
IF ( ier == 0 ) CALL EXIT(101)
5253

5354
!> 2) Build mesh in MMG5 format
5455
!! Two solutions: just use the MMG2D_loadMesh function that will read a .mesh(b)
@@ -102,8 +103,9 @@ PROGRAM main
102103
IF ( ier /= 1 ) CALL EXIT(107)
103104

104105
!> 3) Free the MMG2D5 structures
105-
CALL MMG2D_Free_all(MMG5_ARG_start, &
106-
MMG5_ARG_ppMesh,mmgMesh,MMG5_ARG_ppMet,mmgSol, &
107-
MMG5_ARG_end)
106+
CALL MMG2D_Free_all((/ MMG5_ARG_start, &
107+
MMG5_ARG_ppMesh,LOC(mmgMesh),MMG5_ARG_ppMet,LOC(mmgSol), &
108+
MMG5_ARG_end /),ier)
109+
IF ( ier == 0 ) CALL EXIT(108)
108110

109111
END PROGRAM main

0 commit comments

Comments
 (0)