|
1 | 1 | module fpm_sources
|
2 |
| -use fpm_error, only: error_t, file_parse_error |
| 2 | +use fpm_error, only: error_t, file_parse_error, fatal_error |
3 | 3 | use fpm_model, only: srcfile_ptr, srcfile_t, fpm_model_t, &
|
4 | 4 | FPM_UNIT_UNKNOWN, FPM_UNIT_PROGRAM, FPM_UNIT_MODULE, &
|
5 | 5 | FPM_UNIT_SUBMODULE, FPM_UNIT_SUBPROGRAM, &
|
@@ -549,11 +549,12 @@ function split_n(string,delims,n,stat) result(substring)
|
549 | 549 | end function split_n
|
550 | 550 |
|
551 | 551 |
|
552 |
| -subroutine resolve_module_dependencies(sources) |
| 552 | +subroutine resolve_module_dependencies(sources,error) |
553 | 553 | ! After enumerating all source files: resolve file dependencies
|
554 | 554 | ! by searching on module names
|
555 | 555 | !
|
556 | 556 | type(srcfile_t), intent(inout), target :: sources(:)
|
| 557 | + type(error_t), allocatable, intent(out) :: error |
557 | 558 |
|
558 | 559 | type(srcfile_ptr) :: dep
|
559 | 560 |
|
@@ -583,10 +584,11 @@ subroutine resolve_module_dependencies(sources)
|
583 | 584 | end if
|
584 | 585 |
|
585 | 586 | if (.not.associated(dep%ptr)) then
|
586 |
| - write(*,*) '(!) Unable to find source for module dependency: ', & |
587 |
| - sources(i)%modules_used(j)%s |
588 |
| - write(*,*) ' for file ',sources(i)%file_name |
589 |
| - error stop |
| 587 | + call fatal_error(error, & |
| 588 | + 'Unable to find source for module dependency: "' // & |
| 589 | + sources(i)%modules_used(j)%s // & |
| 590 | + '" used by "'//sources(i)%file_name//'"') |
| 591 | + return |
590 | 592 | end if
|
591 | 593 |
|
592 | 594 | n_depend = n_depend + 1
|
|
0 commit comments