Closed wyphan closed 2 years ago
Here's the stdout log for the last part (fpm test
):
root@785c67320b10:~/reference-counter# fpm test
+ mkdir -p build/dependencies
:
[snip]
:
From https://github.com/sourceryinstitute/assert
* tag 1.3.0 -> FETCH_HEAD
:
[snip]
:
Initialized empty Git repository in /root/reference-counter/build/dependencies/vegetables/.git/
warning: redirecting to https://gitlab.com/everythingfunctional/vegetables.git/
:
[snip]
:
From https://gitlab.com/everythingfunctional/vegetables
* tag v7.4.2 -> FETCH_HEAD
:
[snip]
:
Initialized empty Git repository in /root/reference-counter/build/dependencies/iso_varying_string/.git/
remote: Enumerating objects: 69, done.
remote: Counting objects: 100% (69/69), done.
remote: Compressing objects: 100% (39/39), done.
remote: Total 69 (delta 28), reused 40 (delta 19), pack-reused 0
Unpacking objects: 100% (69/69), 27.20 KiB | 1.51 MiB/s, done.
From https://gitlab.com/everythingfunctional/iso_varying_string
* tag v2.1.0 -> FETCH_HEAD
:
[snip]
:
Initialized empty Git repository in /root/reference-counter/build/dependencies/strff/.git/
:
[snip]
:
From https://gitlab.com/everythingfunctional/strff
* tag v3.0.0 -> FETCH_HEAD
ref_resource_m.f90 done.
assert_m.F90 done.
characterizable_m.f90 done.
constants_m.f90 done.
input_m.f90 done.
iso_varying_string.f90 done.
ref_counter_m.f90 done.
intrinsic_array_m.F90 done.
assert_s.F90 done.
shrink_result_m.f90 done.
example_m.f90 done.
string_input_m.f90 done.
double_precision_input_m.f90 done.
transformed_m.f90 done.
generated_m.f90 done.
integer_input_m.f90 done.
test_result_m.f90 done.
individual_result_m.f90 done.
random_m.f90 done.
strff.f90 done.
ref_counter_s.f90 done.
ref_reference_m.f90 done.
intrinsic_array_s.F90 done.
test_result_item_m.f90 done.
messages_m.f90 done.
command_line_m.f90 done.
generator_m.f90 done.
result_m.f90 done.
utilities_m.f90 done.
reference_counter_m.f90 done.
ref_reference_s.f90 done.
test_interfaces_m.f90 done.
test_case_result_m.f90 done.
ascii_string_generator_m.f90 done.
test_collection_result_m.f90 done.
test_m.f90 done.
integer_generator_m.f90 done.
transformation_failure_m.f90 done.
equals_within_absolute_tensor_m.f90 done.
equals_integer_array_m.f90 done.
equals_integer_tensor_m.f90 done.
empty_m.f90 done.
equals_within_relative_tensor_m.f90 done.
that_m.f90 done.
equals_integer_matrix_m.f90 done.
equals_within_relative_array_m.f90 done.
equals_within_relative_m.f90 done.
includes_m.f90 done.
doesnt_include_m.f90 done.
equals_strings_m.f90 done.
equals_within_relative_matrix_m.f90 done.
equals_within_absolute_matrix_m.f90 done.
equals_within_absolute_m.f90 done.
equals_integer_m.f90 done.
not_m.f90 done.
equals_within_absolute_array_m.f90 done.
simple_test_case_m.f90 done.
input_test_case_m.f90 done.
test_case_with_generator_m.f90 done.
test_case_with_examples_m.f90 done.
test_item_m.f90 done.
faster_than_m.f90 done.
equals_double_precision_m.f90 done.
equals_double_precision_matrix_m.f90 done.
equals_double_precision_array_m.f90 done.
equals_double_precision_tensor_m.f90 done.
test_collection_with_input_m.f90 done.
transforming_test_collection_m.f90 done.
simple_test_collection_m.f90 done.
run_tests_m.f90 done.
assert_m.f90 done.
test_constructors_m.f90 done.
vegetables.f90 done.
libreference-counter.a done.
compiler_test.f90 done.
usage_test.f90 done.
main.f90 done.
reference-counter-test done.
[100%] Project compiled successfully.
Running Tests
Test that
The compiler
finalizes a non-allocatable object on the LHS of an intrinsic assignment
finalizes an allocated allocatable LHS of an intrinsic assignment
finalizes a target when the associated pointer is deallocated
finalizes an object upon explicit deallocation
finalizes a non-pointer non-allocatable array object at the END statement
finalizes a non-pointer non-allocatable object at the end of a block construct
finalizes a function reference on the RHS of an intrinsic assignment
finalizes a specification expression function result
finalizes an intent(out) derived type dummy argument
finalizes an allocatable component object
Using a reference-counted object
creates a resource when constructed
removes the resource when it goes out of scope
a copy points to the same resource
A total of 13 test cases
At line 42 of file test/usage_test.f90
Fortran runtime error: Attempt to DEALLOCATE unallocated 'the_resource'
Error termination. Backtrace:
#0 0x40708b in __usage_test_MOD_free
at test/usage_test.f90:42
#1 0x40738a in __ref_counter_m_MOD_release
at ././src/reference_counter/ref_counter_s.f90:25
#2 0x407bc1 in __ref_counter_m_MOD_finalize
at ././src/reference_counter/ref_counter_m.f90:54
#3 0x407b2e in __ref_counter_m_MOD___final_ref_counter_m_Ref_counter_t
at ././src/reference_counter/ref_counter_m.f90:57
#4 0x4082d6 in __ref_reference_m_MOD___final_ref_reference_m_Ref_reference_t
at ././src/reference_counter/ref_reference_m.f90:30
#5 0x405fd9 in check_copy
at test/usage_test.f90:89
#6 0x4464d1 in __vegetables_simple_test_case_m_MOD_run_without_input
at build/dependencies/vegetables/src/vegetables/simple_test_case_m.f90:111
#7 0x421586 in __vegetables_test_item_m_MOD_run_without_input
at build/dependencies/vegetables/src/vegetables/test_item_m.f90:86
#8 0x465e6f in __vegetables_simple_test_collection_m_MOD_run_without_input
at build/dependencies/vegetables/src/vegetables/simple_test_collection_m.f90:138
#9 0x421586 in __vegetables_test_item_m_MOD_run_without_input
at build/dependencies/vegetables/src/vegetables/test_item_m.f90:86
#10 0x465e6f in __vegetables_simple_test_collection_m_MOD_run_without_input
at build/dependencies/vegetables/src/vegetables/simple_test_collection_m.f90:138
#11 0x421586 in __vegetables_test_item_m_MOD_run_without_input
at build/dependencies/vegetables/src/vegetables/test_item_m.f90:86
#12 0x41e717 in __vegetables_run_tests_m_MOD_run_tests
at build/dependencies/vegetables/src/vegetables/run_tests_m.f90:61
#13 0x40271c in run
at test/main.f90:26
#14 0x402949 in MAIN__
at test/main.f90:5
#15 0x402984 in main
at test/main.f90:5
<ERROR> Execution failed for object " reference-counter-test "
<ERROR>*cmd_run*:stopping due to failed executions
STOP 1
Spack Docker container hash is:
wyp@basecamp:~$ docker image list
REPOSITORY TAG IMAGE ID CREATED SIZE
:
spack/ubuntu-jammy latest b234f3e555be 35 hours ago 798MB
:
Testing with OpenCoarrays GCC quick installer.
wyp@basecamp:~/work$ gh repo clone sourceryinstitute/opencoarrays
wyp@basecamp:~/work$ cd OpenCoarrays/
wyp@basecamp:~/work/OpenCoarrays$ ./install.sh -p gcc -I 12.1.0 -j 12
:
[snip]
:
wyp@basecamp:~/work/OpenCoarrays$ export PATH=`pwd`/prerequisites/installations/bin:${PATH}
wyp@basecamp:~/work/OpenCoarrays$ which gfortran
/home/wyp/work/OpenCoarrays/prerequisites/installations/bin/gfortran
wyp@basecamp:~/work/OpenCoarrays$ gfortran --version
GNU Fortran (GCC) 12.1.0
Copyright (C) 2022 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
wyp@basecamp:~/work/OpenCoarrays$ cd .../reference-counter/
wyp@basecamp:~/work/reference-counter$ rm -rf build/
wyp@basecamp:~/work/reference-counter$ fpm test
+ mkdir -p build/dependencies
Initialized empty Git repository in /home/wyp/work/reference-counter/build/dependencies/assert/.git/
:
[snip]
:
From https://github.com/sourceryinstitute/assert
* tag 1.3.0 -> FETCH_HEAD
Initialized empty Git repository in /home/wyp/work/reference-counter/build/dependencies/vegetables/.git/
warning: redirecting to https://gitlab.com/everythingfunctional/vegetables.git/
:
[snip]
:
From https://gitlab.com/everythingfunctional/vegetables
* tag v7.4.2 -> FETCH_HEAD
Initialized empty Git repository in /home/wyp/work/reference-counter/build/dependencies/iso_varying_string/.git/
:
[snip]
:
From https://gitlab.com/everythingfunctional/iso_varying_string
* tag v2.1.0 -> FETCH_HEAD
Initialized empty Git repository in /home/wyp/work/reference-counter/build/dependencies/strff/.git/
:
[snip]
:
From https://gitlab.com/everythingfunctional/strff
* tag v3.0.0 -> FETCH_HEAD
+ mkdir -p build/gfortran_2A42023B310FA28D
+ mkdir -p build/gfortran_2A42023B310FA28D/reference-counter/
+ gfortran -c ././src/reference_counter/ref_resource_m.f90 -Wall -Wextra -Wimplicit-interface -fPIC -fmax-errors=1 -g -fcheck=bounds -fcheck=array-temps -fbacktrace -fcoarray=single -J build/gfortran_2A42023B310FA28D -Ibuild/gfortran_2A42023B310FA28D -o build/gfortran_2A42023B310FA28D/reference-counter/src_reference_counter_ref_resource_m.f90.o
+ gfortran -c build/dependencies/assert/src/assert_m.F90 -Wall -Wextra -Wimplicit-interface -fPIC -fmax-errors=1 -g -fcheck=bounds
-fcheck=array-temps -fbacktrace -fcoarray=single -J build/gfortran_2A42023B310FA28D -Ibuild/gfortran_2A42023B310FA28D -o build/gfortran_2A42023B310FA28D/reference-counter/build_dependencies_assert_src_assert_m.F90.o
+ gfortran -c build/dependencies/assert/src/characterizable_m.f90 -Wall -Wextra -Wimplicit-interface -fPIC -fmax-errors=1 -g -fcheck=bounds -fcheck=array-temps -fbacktrace -fcoarray=single -J build/gfortran_2A42023B310FA28D -Ibuild/gfortran_2A42023B310FA28D -o b
uild/gfortran_2A42023B310FA28D/reference-counter/build_dependencies_assert_src_characterizable_m.f90.o
+ gfortran -c build/dependencies/vegetables/src/vegetables/constants_m.f90 -Wall -Wextra -Wimplicit-interface -fPIC -fmax-errors=1
-g -fcheck=bounds -fcheck=array-temps -fbacktrace -fcoarray=single -J build/gfortran_2A42023B310FA28D -Ibuild/gfortran_2A42023B310F
A28D -o build/gfortran_2A42023B310FA28D/reference-counter/build_dependencies_vegetables_src_vegetables_constants_m.f90.o
+ gfortran -c build/dependencies/vegetables/src/vegetables/input_m.f90 -Wall -Wextra -Wimplicit-interface -fPIC -fmax-errors=1 -g
-fcheck=bounds -fcheck=array-temps -fbacktrace -fcoarray=single -J build/gfortran_2A42023B310FA28D -Ibuild/gfortran_2A42023B310FA28D
-o build/gfortran_2A42023B310FA28D/reference-counter/build_dependencies_vegetables_src_vegetables_input_m.f90.o
+ gfortran -c build/dependencies/iso_varying_string/src/iso_varying_string.f90 -Wall -Wextra -Wimplicit-interface -fPIC -fmax-erro
rs=1 -g -fcheck=bounds -fcheck=array-temps -fbacktrace -fcoarray=single -J build/gfortran_2A42023B310FA28D -Ibuild/gfortran_2A42023B
310FA28D -o build/gfortran_2A42023B310FA28D/reference-counter/build_dependencies_iso_varying_string_src_iso_varying_string.f90.o
+ gfortran -c ././src/reference_counter/ref_counter_m.f90 -Wall -Wextra -Wimplicit-interface -fPIC -fmax-errors=1 -g -fcheck=bound
s -fcheck=array-temps -fbacktrace -fcoarray=single -J build/gfortran_2A42023B310FA28D -Ibuild/gfortran_2A42023B310FA28D -o build/gfo
rtran_2A42023B310FA28D/reference-counter/src_reference_counter_ref_counter_m.f90.o
+ gfortran -c build/dependencies/assert/src/assert_s.F90 -Wall -Wextra -Wimplicit-interface -fPIC -fmax-errors=1 -g -fcheck=bounds
-fcheck=array-temps -fbacktrace -fcoarray=single -J build/gfortran_2A42023B310FA28D -Ibuild/gfortran_2A42023B310FA28D -o build/gfor
tran_2A42023B310FA28D/reference-counter/build_dependencies_assert_src_assert_s.F90.o
+ gfortran -c build/dependencies/assert/src/intrinsic_array_m.F90 -Wall -Wextra -Wimplicit-interface -fPIC -fmax-errors=1 -g -fche
ck=bounds -fcheck=array-temps -fbacktrace -fcoarray=single -J build/gfortran_2A42023B310FA28D -Ibuild/gfortran_2A42023B310FA28D -o b
uild/gfortran_2A42023B310FA28D/reference-counter/build_dependencies_assert_src_intrinsic_array_m.F90.o
+ gfortran -c build/dependencies/vegetables/src/vegetables/string_input_m.f90 -Wall -Wextra -Wimplicit-interface -fPIC -fmax-error
s=1 -g -fcheck=bounds -fcheck=array-temps -fbacktrace -fcoarray=single -J build/gfortran_2A42023B310FA28D -Ibuild/gfortran_2A42023B3
10FA28D -o build/gfortran_2A42023B310FA28D/reference-counter/build_dependencies_vegetables_src_vegetables_string_input_m.f90.o
+ gfortran -c build/dependencies/vegetables/src/vegetables/random_m.f90 -Wall -Wextra -Wimplicit-interface -fPIC -fmax-errors=1 -g
-fcheck=bounds -fcheck=array-temps -fbacktrace -fcoarray=single -J build/gfortran_2A42023B310FA28D -Ibuild/gfortran_2A42023B310FA28
D -o build/gfortran_2A42023B310FA28D/reference-counter/build_dependencies_vegetables_src_vegetables_random_m.f90.o
+ gfortran -c build/dependencies/vegetables/src/vegetables/individual_result_m.f90 -Wall -Wextra -Wimplicit-interface -fPIC -fmax-
errors=1 -g -fcheck=bounds -fcheck=array-temps -fbacktrace -fcoarray=single -J build/gfortran_2A42023B310FA28D -Ibuild/gfortran_2A42
023B310FA28D -o build/gfortran_2A42023B310FA28D/reference-counter/build_dependencies_vegetables_src_vegetables_individual_result_m.f
90.o
+ gfortran -c build/dependencies/vegetables/src/vegetables/example_m.f90 -Wall -Wextra -Wimplicit-interface -fPIC -fmax-errors=1 -
g -fcheck=bounds -fcheck=array-temps -fbacktrace -fcoarray=single -J build/gfortran_2A42023B310FA28D -Ibuild/gfortran_2A42023B310FA2
8D -o build/gfortran_2A42023B310FA28D/reference-counter/build_dependencies_vegetables_src_vegetables_example_m.f90.o
+ gfortran -c build/dependencies/vegetables/src/vegetables/double_precision_input_m.f90 -Wall -Wextra -Wimplicit-interface -fPIC -
fmax-errors=1 -g -fcheck=bounds -fcheck=array-temps -fbacktrace -fcoarray=single -J build/gfortran_2A42023B310FA28D -Ibuild/gfortran
_2A42023B310FA28D -o build/gfortran_2A42023B310FA28D/reference-counter/build_dependencies_vegetables_src_vegetables_double_precision
_input_m.f90.o
+ gfortran -c build/dependencies/vegetables/src/vegetables/shrink_result_m.f90 -Wall -Wextra -Wimplicit-interface -fPIC -fmax-erro
rs=1 -g -fcheck=bounds -fcheck=array-temps -fbacktrace -fcoarray=single -J build/gfortran_2A42023B310FA28D -Ibuild/gfortran_2A42023B
310FA28D -o build/gfortran_2A42023B310FA28D/reference-counter/build_dependencies_vegetables_src_vegetables_shrink_result_m.f90.o
+ gfortran -c build/dependencies/vegetables/src/vegetables/transformed_m.f90 -Wall -Wextra -Wimplicit-interface -fPIC -fmax-errors
=1 -g -fcheck=bounds -fcheck=array-temps -fbacktrace -fcoarray=single -J build/gfortran_2A42023B310FA28D -Ibuild/gfortran_2A42023B31
0FA28D -o build/gfortran_2A42023B310FA28D/reference-counter/build_dependencies_vegetables_src_vegetables_transformed_m.f90.o
+ gfortran -c build/dependencies/vegetables/src/vegetables/generated_m.f90 -Wall -Wextra -Wimplicit-interface -fPIC -fmax-errors=1
-g -fcheck=bounds -fcheck=array-temps -fbacktrace -fcoarray=single -J build/gfortran_2A42023B310FA28D -Ibuild/gfortran_2A42023B310F
A28D -o build/gfortran_2A42023B310FA28D/reference-counter/build_dependencies_vegetables_src_vegetables_generated_m.f90.o
+ gfortran -c build/dependencies/vegetables/src/vegetables/integer_input_m.f90 -Wall -Wextra -Wimplicit-interface -fPIC -fmax-erro
rs=1 -g -fcheck=bounds -fcheck=array-temps -fbacktrace -fcoarray=single -J build/gfortran_2A42023B310FA28D -Ibuild/gfortran_2A42023B
310FA28D -o build/gfortran_2A42023B310FA28D/reference-counter/build_dependencies_vegetables_src_vegetables_integer_input_m.f90.o
+ gfortran -c build/dependencies/vegetables/src/vegetables/test_result_m.f90 -Wall -Wextra -Wimplicit-interface -fPIC -fmax-errors
=1 -g -fcheck=bounds -fcheck=array-temps -fbacktrace -fcoarray=single -J build/gfortran_2A42023B310FA28D -Ibuild/gfortran_2A42023B31
0FA28D -o build/gfortran_2A42023B310FA28D/reference-counter/build_dependencies_vegetables_src_vegetables_test_result_m.f90.o
+ gfortran -c build/dependencies/strff/src/strff.f90 -Wall -Wextra -Wimplicit-interface -fPIC -fmax-errors=1 -g -fcheck=bounds -fc
heck=array-temps -fbacktrace -fcoarray=single -J build/gfortran_2A42023B310FA28D -Ibuild/gfortran_2A42023B310FA28D -o build/gfortran
_2A42023B310FA28D/reference-counter/build_dependencies_strff_src_strff.f90.o
:
[snip]
:
+ gfortran -c ././src/reference_counter/ref_counter_s.f90 -Wall -Wextra -Wimplicit-interface -fPIC -fmax-errors=1 -g -fcheck=bound
s -fcheck=array-temps -fbacktrace -fcoarray=single -J build/gfortran_2A42023B310FA28D -Ibuild/gfortran_2A42023B310FA28D -o build/gfo
rtran_2A42023B310FA28D/reference-counter/src_reference_counter_ref_counter_s.f90.o
+ gfortran -c ././src/reference_counter/ref_reference_m.f90 -Wall -Wextra -Wimplicit-interface -fPIC -fmax-errors=1 -g -fcheck=bou
nds -fcheck=array-temps -fbacktrace -fcoarray=single -J build/gfortran_2A42023B310FA28D -Ibuild/gfortran_2A42023B310FA28D -o build/g
fortran_2A42023B310FA28D/reference-counter/src_reference_counter_ref_reference_m.f90.o
+ gfortran -c build/dependencies/assert/src/intrinsic_array_s.F90 -Wall -Wextra -Wimplicit-interface -fPIC -fmax-errors=1 -g -fche
ck=bounds -fcheck=array-temps -fbacktrace -fcoarray=single -J build/gfortran_2A42023B310FA28D -Ibuild/gfortran_2A42023B310FA28D -o b
uild/gfortran_2A42023B310FA28D/reference-counter/build_dependencies_assert_src_intrinsic_array_s.F90.o
:
[snip]
:
+ gfortran -c build/dependencies/vegetables/src/vegetables/command_line_m.f90 -Wall -Wextra -Wimplicit-interface -fPIC -fmax-error
s=1 -g -fcheck=bounds -fcheck=array-temps -fbacktrace -fcoarray=single -J build/gfortran_2A42023B310FA28D -Ibuild/gfortran_2A42023B3
10FA28D -o build/gfortran_2A42023B310FA28D/reference-counter/build_dependencies_vegetables_src_vegetables_command_line_m.f90.o
+ gfortran -c build/dependencies/vegetables/src/vegetables/generator_m.f90 -Wall -Wextra -Wimplicit-interface -fPIC -fmax-errors=1
-g -fcheck=bounds -fcheck=array-temps -fbacktrace -fcoarray=single -J build/gfortran_2A42023B310FA28D -Ibuild/gfortran_2A42023B310F
A28D -o build/gfortran_2A42023B310FA28D/reference-counter/build_dependencies_vegetables_src_vegetables_generator_m.f90.o
+ gfortran -c build/dependencies/vegetables/src/vegetables/messages_m.f90 -Wall -Wextra -Wimplicit-interface -fPIC -fmax-errors=1
-g -fcheck=bounds -fcheck=array-temps -fbacktrace -fcoarray=single -J build/gfortran_2A42023B310FA28D -Ibuild/gfortran_2A42023B310FA
28D -o build/gfortran_2A42023B310FA28D/reference-counter/build_dependencies_vegetables_src_vegetables_messages_m.f90.o
+ gfortran -c build/dependencies/vegetables/src/vegetables/result_m.f90 -Wall -Wextra -Wimplicit-interface -fPIC -fmax-errors=1 -g
-fcheck=bounds -fcheck=array-temps -fbacktrace -fcoarray=single -J build/gfortran_2A42023B310FA28D -Ibuild/gfortran_2A42023B310FA28
D -o build/gfortran_2A42023B310FA28D/reference-counter/build_dependencies_vegetables_src_vegetables_result_m.f90.o
:
[snip]
:
+ gfortran -c build/dependencies/vegetables/src/vegetables/utilities_m.f90 -Wall -Wextra -Wimplicit-interface -fPIC -fmax-errors=1
-g -fcheck=bounds -fcheck=array-temps -fbacktrace -fcoarray=single -J build/gfortran_2A42023B310FA28D -Ibuild/gfortran_2A42023B310F
A28D -o build/gfortran_2A42023B310FA28D/reference-counter/build_dependencies_vegetables_src_vegetables_utilities_m.f90.o
+ gfortran -c build/dependencies/vegetables/src/vegetables/test_result_item_m.f90 -Wall -Wextra -Wimplicit-interface -fPIC -fmax-e
rrors=1 -g -fcheck=bounds -fcheck=array-temps -fbacktrace -fcoarray=single -J build/gfortran_2A42023B310FA28D -Ibuild/gfortran_2A420
23B310FA28D -o build/gfortran_2A42023B310FA28D/reference-counter/build_dependencies_vegetables_src_vegetables_test_result_item_m.f90
.o
+ gfortran -c ././src/reference_counter_m.f90 -Wall -Wextra -Wimplicit-interface -fPIC -fmax-errors=1 -g -fcheck=bounds -fcheck=ar
ray-temps -fbacktrace -fcoarray=single -J build/gfortran_2A42023B310FA28D -Ibuild/gfortran_2A42023B310FA28D -o build/gfortran_2A4202
3B310FA28D/reference-counter/src_reference_counter_m.f90.o
+ gfortran -c ././src/reference_counter/ref_reference_s.f90 -Wall -Wextra -Wimplicit-interface -fPIC -fmax-errors=1 -g -fcheck=bou
nds -fcheck=array-temps -fbacktrace -fcoarray=single -J build/gfortran_2A42023B310FA28D -Ibuild/gfortran_2A42023B310FA28D -o build/g
fortran_2A42023B310FA28D/reference-counter/src_reference_counter_ref_reference_s.f90.o
+ gfortran -c build/dependencies/vegetables/src/vegetables/test_m.f90 -Wall -Wextra -Wimplicit-interface -fPIC -fmax-errors=1 -g -
fcheck=bounds -fcheck=array-temps -fbacktrace -fcoarray=single -J build/gfortran_2A42023B310FA28D -Ibuild/gfortran_2A42023B310FA28D
-o build/gfortran_2A42023B310FA28D/reference-counter/build_dependencies_vegetables_src_vegetables_test_m.f90.o
+ gfortran -c build/dependencies/vegetables/src/vegetables/integer_generator_m.f90 -Wall -Wextra -Wimplicit-interface -fPIC -fmax-
errors=1 -g -fcheck=bounds -fcheck=array-temps -fbacktrace -fcoarray=single -J build/gfortran_2A42023B310FA28D -Ibuild/gfortran_2A42
023B310FA28D -o build/gfortran_2A42023B310FA28D/reference-counter/build_dependencies_vegetables_src_vegetables_integer_generator_m.f
90.o
+ gfortran -c build/dependencies/vegetables/src/vegetables/ascii_string_generator_m.f90 -Wall -Wextra -Wimplicit-interface -fPIC -
fmax-errors=1 -g -fcheck=bounds -fcheck=array-temps -fbacktrace -fcoarray=single -J build/gfortran_2A42023B310FA28D -Ibuild/gfortran
_2A42023B310FA28D -o build/gfortran_2A42023B310FA28D/reference-counter/build_dependencies_vegetables_src_vegetables_ascii_string_gen
erator_m.f90.o
+ gfortran -c build/dependencies/vegetables/src/vegetables/transformation_failure_m.f90 -Wall -Wextra -Wimplicit-interface -fPIC -
fmax-errors=1 -g -fcheck=bounds -fcheck=array-temps -fbacktrace -fcoarray=single -J build/gfortran_2A42023B310FA28D -Ibuild/gfortran
_2A42023B310FA28D -o build/gfortran_2A42023B310FA28D/reference-counter/build_dependencies_vegetables_src_vegetables_transformation_f
ailure_m.f90.o
+ gfortran -c build/dependencies/vegetables/src/vegetables/test_interfaces_m.f90 -Wall -Wextra -Wimplicit-interface -fPIC -fmax-er
rors=1 -g -fcheck=bounds -fcheck=array-temps -fbacktrace -fcoarray=single -J build/gfortran_2A42023B310FA28D -Ibuild/gfortran_2A4202
3B310FA28D -o build/gfortran_2A42023B310FA28D/reference-counter/build_dependencies_vegetables_src_vegetables_test_interfaces_m.f90.o
+ gfortran -c build/dependencies/vegetables/src/vegetables/test_collection_result_m.f90 -Wall -Wextra -Wimplicit-interface -fPIC -
fmax-errors=1 -g -fcheck=bounds -fcheck=array-temps -fbacktrace -fcoarray=single -J build/gfortran_2A42023B310FA28D -Ibuild/gfortran
_2A42023B310FA28D -o build/gfortran_2A42023B310FA28D/reference-counter/build_dependencies_vegetables_src_vegetables_test_collection_
result_m.f90.o
+ gfortran -c build/dependencies/vegetables/src/vegetables/test_case_result_m.f90 -Wall -Wextra -Wimplicit-interface -fPIC -fmax-e
rrors=1 -g -fcheck=bounds -fcheck=array-temps -fbacktrace -fcoarray=single -J build/gfortran_2A42023B310FA28D -Ibuild/gfortran_2A420
23B310FA28D -o build/gfortran_2A42023B310FA28D/reference-counter/build_dependencies_vegetables_src_vegetables_test_case_result_m.f90
.o
+ gfortran -c build/dependencies/vegetables/src/vegetables/assert/equals_within_relative_tensor_m.f90 -Wall -Wextra -Wimplicit-int
erface -fPIC -fmax-errors=1 -g -fcheck=bounds -fcheck=array-temps -fbacktrace -fcoarray=single -J build/gfortran_2A42023B310FA28D -I
build/gfortran_2A42023B310FA28D -o build/gfortran_2A42023B310FA28D/reference-counter/build_dependencies_vegetables_src_vegetables_as
sert_equals_within_relative_tensor_m.f90.o
+ gfortran -c build/dependencies/vegetables/src/vegetables/assert/empty_m.f90 -Wall -Wextra -Wimplicit-interface -fPIC -fmax-error
s=1 -g -fcheck=bounds -fcheck=array-temps -fbacktrace -fcoarray=single -J build/gfortran_2A42023B310FA28D -Ibuild/gfortran_2A42023B3
10FA28D -o build/gfortran_2A42023B310FA28D/reference-counter/build_dependencies_vegetables_src_vegetables_assert_empty_m.f90.o
+ gfortran -c build/dependencies/vegetables/src/vegetables/assert/equals_within_relative_m.f90 -Wall -Wextra -Wimplicit-interface
-fPIC -fmax-errors=1 -g -fcheck=bounds -fcheck=array-temps -fbacktrace -fcoarray=single -J build/gfortran_2A42023B310FA28D -Ibuild/g
fortran_2A42023B310FA28D -o build/gfortran_2A42023B310FA28D/reference-counter/build_dependencies_vegetables_src_vegetables_assert_eq
uals_within_relative_m.f90.o
+ gfortran -c build/dependencies/vegetables/src/vegetables/assert/includes_m.f90 -Wall -Wextra -Wimplicit-interface -fPIC -fmax-er
rors=1 -g -fcheck=bounds -fcheck=array-temps -fbacktrace -fcoarray=single -J build/gfortran_2A42023B310FA28D -Ibuild/gfortran_2A4202
3B310FA28D -o build/gfortran_2A42023B310FA28D/reference-counter/build_dependencies_vegetables_src_vegetables_assert_includes_m.f90.o
+ gfortran -c build/dependencies/vegetables/src/vegetables/assert/equals_within_absolute_tensor_m.f90 -Wall -Wextra -Wimplicit-int
erface -fPIC -fmax-errors=1 -g -fcheck=bounds -fcheck=array-temps -fbacktrace -fcoarray=single -J build/gfortran_2A42023B310FA28D -I
build/gfortran_2A42023B310FA28D -o build/gfortran_2A42023B310FA28D/reference-counter/build_dependencies_vegetables_src_vegetables_as
sert_equals_within_absolute_tensor_m.f90.o
+ gfortran -c build/dependencies/vegetables/src/vegetables/assert/equals_within_relative_array_m.f90 -Wall -Wextra -Wimplicit-inte
rface -fPIC -fmax-errors=1 -g -fcheck=bounds -fcheck=array-temps -fbacktrace -fcoarray=single -J build/gfortran_2A42023B310FA28D -Ib
uild/gfortran_2A42023B310FA28D -o build/gfortran_2A42023B310FA28D/reference-counter/build_dependencies_vegetables_src_vegetables_ass
ert_equals_within_relative_array_m.f90.o
+ gfortran -c build/dependencies/vegetables/src/vegetables/assert/equals_within_absolute_m.f90 -Wall -Wextra -Wimplicit-interface
-fPIC -fmax-errors=1 -g -fcheck=bounds -fcheck=array-temps -fbacktrace -fcoarray=single -J build/gfortran_2A42023B310FA28D -Ibuild/g
fortran_2A42023B310FA28D -o build/gfortran_2A42023B310FA28D/reference-counter/build_dependencies_vegetables_src_vegetables_assert_eq
uals_within_absolute_m.f90.o
+ gfortran -c build/dependencies/vegetables/src/vegetables/assert/equals_within_absolute_matrix_m.f90 -Wall -Wextra -Wimplicit-int
erface -fPIC -fmax-errors=1 -g -fcheck=bounds -fcheck=array-temps -fbacktrace -fcoarray=single -J build/gfortran_2A42023B310FA28D -I
build/gfortran_2A42023B310FA28D -o build/gfortran_2A42023B310FA28D/reference-counter/build_dependencies_vegetables_src_vegetables_as
sert_equals_within_absolute_matrix_m.f90.o
+ gfortran -c build/dependencies/vegetables/src/vegetables/assert/that_m.f90 -Wall -Wextra -Wimplicit-interface -fPIC -fmax-errors
=1 -g -fcheck=bounds -fcheck=array-temps -fbacktrace -fcoarray=single -J build/gfortran_2A42023B310FA28D -Ibuild/gfortran_2A42023B31
0FA28D -o build/gfortran_2A42023B310FA28D/reference-counter/build_dependencies_vegetables_src_vegetables_assert_that_m.f90.o
+ gfortran -c build/dependencies/vegetables/src/vegetables/assert/equals_within_absolute_array_m.f90 -Wall -Wextra -Wimplicit-inte
rface -fPIC -fmax-errors=1 -g -fcheck=bounds -fcheck=array-temps -fbacktrace -fcoarray=single -J build/gfortran_2A42023B310FA28D -Ib
uild/gfortran_2A42023B310FA28D -o build/gfortran_2A42023B310FA28D/reference-counter/build_dependencies_vegetables_src_vegetables_ass
ert_equals_within_absolute_array_m.f90.o
+ gfortran -c build/dependencies/vegetables/src/vegetables/assert/equals_integer_tensor_m.f90 -Wall -Wextra -Wimplicit-interface -
fPIC -fmax-errors=1 -g -fcheck=bounds -fcheck=array-temps -fbacktrace -fcoarray=single -J build/gfortran_2A42023B310FA28D -Ibuild/gf
ortran_2A42023B310FA28D -o build/gfortran_2A42023B310FA28D/reference-counter/build_dependencies_vegetables_src_vegetables_assert_equ
als_integer_tensor_m.f90.o
+ gfortran -c build/dependencies/vegetables/src/vegetables/assert/equals_integer_array_m.f90 -Wall -Wextra -Wimplicit-interface -f
PIC -fmax-errors=1 -g -fcheck=bounds -fcheck=array-temps -fbacktrace -fcoarray=single -J build/gfortran_2A42023B310FA28D -Ibuild/gfo
rtran_2A42023B310FA28D -o build/gfortran_2A42023B310FA28D/reference-counter/build_dependencies_vegetables_src_vegetables_assert_equa
ls_integer_array_m.f90.o
+ gfortran -c build/dependencies/vegetables/src/vegetables/assert/doesnt_include_m.f90 -Wall -Wextra -Wimplicit-interface -fPIC -f
max-errors=1 -g -fcheck=bounds -fcheck=array-temps -fbacktrace -fcoarray=single -J build/gfortran_2A42023B310FA28D -Ibuild/gfortran_
2A42023B310FA28D -o build/gfortran_2A42023B310FA28D/reference-counter/build_dependencies_vegetables_src_vegetables_assert_doesnt_inc
lude_m.f90.o
+ gfortran -c build/dependencies/vegetables/src/vegetables/assert/equals_within_relative_matrix_m.f90 -Wall -Wextra -Wimplicit-int
erface -fPIC -fmax-errors=1 -g -fcheck=bounds -fcheck=array-temps -fbacktrace -fcoarray=single -J build/gfortran_2A42023B310FA28D -I
build/gfortran_2A42023B310FA28D -o build/gfortran_2A42023B310FA28D/reference-counter/build_dependencies_vegetables_src_vegetables_as
sert_equals_within_relative_matrix_m.f90.o
+ gfortran -c build/dependencies/vegetables/src/vegetables/assert/equals_strings_m.f90 -Wall -Wextra -Wimplicit-interface -fPIC -f
max-errors=1 -g -fcheck=bounds -fcheck=array-temps -fbacktrace -fcoarray=single -J build/gfortran_2A42023B310FA28D -Ibuild/gfortran_
2A42023B310FA28D -o build/gfortran_2A42023B310FA28D/reference-counter/build_dependencies_vegetables_src_vegetables_assert_equals_str
ings_m.f90.o
+ gfortran -c build/dependencies/vegetables/src/vegetables/assert/equals_integer_matrix_m.f90 -Wall -Wextra -Wimplicit-interface -
fPIC -fmax-errors=1 -g -fcheck=bounds -fcheck=array-temps -fbacktrace -fcoarray=single -J build/gfortran_2A42023B310FA28D -Ibuild/gf
ortran_2A42023B310FA28D -o build/gfortran_2A42023B310FA28D/reference-counter/build_dependencies_vegetables_src_vegetables_assert_equ
als_integer_matrix_m.f90.o
+ gfortran -c build/dependencies/vegetables/src/vegetables/assert/equals_integer_m.f90 -Wall -Wextra -Wimplicit-interface -fPIC -f
max-errors=1 -g -fcheck=bounds -fcheck=array-temps -fbacktrace -fcoarray=single -J build/gfortran_2A42023B310FA28D -Ibuild/gfortran_
2A42023B310FA28D -o build/gfortran_2A42023B310FA28D/reference-counter/build_dependencies_vegetables_src_vegetables_assert_equals_int
eger_m.f90.o
+ gfortran -c build/dependencies/vegetables/src/vegetables/assert/not_m.f90 -Wall -Wextra -Wimplicit-interface -fPIC -fmax-errors=
1 -g -fcheck=bounds -fcheck=array-temps -fbacktrace -fcoarray=single -J build/gfortran_2A42023B310FA28D -Ibuild/gfortran_2A42023B310
FA28D -o build/gfortran_2A42023B310FA28D/reference-counter/build_dependencies_vegetables_src_vegetables_assert_not_m.f90.o
+ gfortran -c build/dependencies/vegetables/src/vegetables/input_test_case_m.f90 -Wall -Wextra -Wimplicit-interface -fPIC -fmax-er
rors=1 -g -fcheck=bounds -fcheck=array-temps -fbacktrace -fcoarray=single -J build/gfortran_2A42023B310FA28D -Ibuild/gfortran_2A4202
3B310FA28D -o build/gfortran_2A42023B310FA28D/reference-counter/build_dependencies_vegetables_src_vegetables_input_test_case_m.f90.o
+ gfortran -c build/dependencies/vegetables/src/vegetables/test_case_with_examples_m.f90 -Wall -Wextra -Wimplicit-interface -fPIC
-fmax-errors=1 -g -fcheck=bounds -fcheck=array-temps -fbacktrace -fcoarray=single -J build/gfortran_2A42023B310FA28D -Ibuild/gfortra
n_2A42023B310FA28D -o build/gfortran_2A42023B310FA28D/reference-counter/build_dependencies_vegetables_src_vegetables_test_case_with_
examples_m.f90.o
+ gfortran -c build/dependencies/vegetables/src/vegetables/test_case_with_generator_m.f90 -Wall -Wextra -Wimplicit-interface -fPIC
-fmax-errors=1 -g -fcheck=bounds -fcheck=array-temps -fbacktrace -fcoarray=single -J build/gfortran_2A42023B310FA28D -Ibuild/gfortr
an_2A42023B310FA28D -o build/gfortran_2A42023B310FA28D/reference-counter/build_dependencies_vegetables_src_vegetables_test_case_with
_generator_m.f90.o
+ gfortran -c build/dependencies/vegetables/src/vegetables/test_item_m.f90 -Wall -Wextra -Wimplicit-interface -fPIC -fmax-errors=1
-g -fcheck=bounds -fcheck=array-temps -fbacktrace -fcoarray=single -J build/gfortran_2A42023B310FA28D -Ibuild/gfortran_2A42023B310F
A28D -o build/gfortran_2A42023B310FA28D/reference-counter/build_dependencies_vegetables_src_vegetables_test_item_m.f90.o
+ gfortran -c build/dependencies/vegetables/src/vegetables/simple_test_case_m.f90 -Wall -Wextra -Wimplicit-interface -fPIC -fmax-e
rrors=1 -g -fcheck=bounds -fcheck=array-temps -fbacktrace -fcoarray=single -J build/gfortran_2A42023B310FA28D -Ibuild/gfortran_2A420
23B310FA28D -o build/gfortran_2A42023B310FA28D/reference-counter/build_dependencies_vegetables_src_vegetables_simple_test_case_m.f90
.o
+ gfortran -c build/dependencies/vegetables/src/vegetables/assert/faster_than_m.f90 -Wall -Wextra -Wimplicit-interface -fPIC -fmax
-errors=1 -g -fcheck=bounds -fcheck=array-temps -fbacktrace -fcoarray=single -J build/gfortran_2A42023B310FA28D -Ibuild/gfortran_2A4
2023B310FA28D -o build/gfortran_2A42023B310FA28D/reference-counter/build_dependencies_vegetables_src_vegetables_assert_faster_than_m
.f90.o
+ gfortran -c build/dependencies/vegetables/src/vegetables/assert/equals_double_precision_tensor_m.f90 -Wall -Wextra -Wimplicit-in
terface -fPIC -fmax-errors=1 -g -fcheck=bounds -fcheck=array-temps -fbacktrace -fcoarray=single -J build/gfortran_2A42023B310FA28D -
Ibuild/gfortran_2A42023B310FA28D -o build/gfortran_2A42023B310FA28D/reference-counter/build_dependencies_vegetables_src_vegetables_a
ssert_equals_double_precision_tensor_m.f90.o
+ gfortran -c build/dependencies/vegetables/src/vegetables/assert/equals_double_precision_array_m.f90 -Wall -Wextra -Wimplicit-int
erface -fPIC -fmax-errors=1 -g -fcheck=bounds -fcheck=array-temps -fbacktrace -fcoarray=single -J build/gfortran_2A42023B310FA28D -I
build/gfortran_2A42023B310FA28D -o build/gfortran_2A42023B310FA28D/reference-counter/build_dependencies_vegetables_src_vegetables_as
sert_equals_double_precision_array_m.f90.o
+ gfortran -c build/dependencies/vegetables/src/vegetables/assert/equals_double_precision_m.f90 -Wall -Wextra -Wimplicit-interface
-fPIC -fmax-errors=1 -g -fcheck=bounds -fcheck=array-temps -fbacktrace -fcoarray=single -J build/gfortran_2A42023B310FA28D -Ibuild/
gfortran_2A42023B310FA28D -o build/gfortran_2A42023B310FA28D/reference-counter/build_dependencies_vegetables_src_vegetables_assert_e
quals_double_precision_m.f90.o
+ gfortran -c build/dependencies/vegetables/src/vegetables/assert/equals_double_precision_matrix_m.f90 -Wall -Wextra -Wimplicit-in
terface -fPIC -fmax-errors=1 -g -fcheck=bounds -fcheck=array-temps -fbacktrace -fcoarray=single -J build/gfortran_2A42023B310FA28D -
Ibuild/gfortran_2A42023B310FA28D -o build/gfortran_2A42023B310FA28D/reference-counter/build_dependencies_vegetables_src_vegetables_a
ssert_equals_double_precision_matrix_m.f90.o
+ gfortran -c build/dependencies/vegetables/src/vegetables/assert_m.f90 -Wall -Wextra -Wimplicit-interface -fPIC -fmax-errors=1 -g
-fcheck=bounds -fcheck=array-temps -fbacktrace -fcoarray=single -J build/gfortran_2A42023B310FA28D -Ibuild/gfortran_2A42023B310FA28
D -o build/gfortran_2A42023B310FA28D/reference-counter/build_dependencies_vegetables_src_vegetables_assert_m.f90.o
+ gfortran -c build/dependencies/vegetables/src/vegetables/simple_test_collection_m.f90 -Wall -Wextra -Wimplicit-interface -fPIC -
fmax-errors=1 -g -fcheck=bounds -fcheck=array-temps -fbacktrace -fcoarray=single -J build/gfortran_2A42023B310FA28D -Ibuild/gfortran
_2A42023B310FA28D -o build/gfortran_2A42023B310FA28D/reference-counter/build_dependencies_vegetables_src_vegetables_simple_test_coll
ection_m.f90.o
+ gfortran -c build/dependencies/vegetables/src/vegetables/run_tests_m.f90 -Wall -Wextra -Wimplicit-interface -fPIC -fmax-errors=1
-g -fcheck=bounds -fcheck=array-temps -fbacktrace -fcoarray=single -J build/gfortran_2A42023B310FA28D -Ibuild/gfortran_2A42023B310F
A28D -o build/gfortran_2A42023B310FA28D/reference-counter/build_dependencies_vegetables_src_vegetables_run_tests_m.f90.o
+ gfortran -c build/dependencies/vegetables/src/vegetables/transforming_test_collection_m.f90 -Wall -Wextra -Wimplicit-interface -
fPIC -fmax-errors=1 -g -fcheck=bounds -fcheck=array-temps -fbacktrace -fcoarray=single -J build/gfortran_2A42023B310FA28D -Ibuild/gf
ortran_2A42023B310FA28D -o build/gfortran_2A42023B310FA28D/reference-counter/build_dependencies_vegetables_src_vegetables_transformi
ng_test_collection_m.f90.o
+ gfortran -c build/dependencies/vegetables/src/vegetables/test_collection_with_input_m.f90 -Wall -Wextra -Wimplicit-interface -fP
IC -fmax-errors=1 -g -fcheck=bounds -fcheck=array-temps -fbacktrace -fcoarray=single -J build/gfortran_2A42023B310FA28D -Ibuild/gfor
tran_2A42023B310FA28D -o build/gfortran_2A42023B310FA28D/reference-counter/build_dependencies_vegetables_src_vegetables_test_collect
ion_with_input_m.f90.o
+ gfortran -c build/dependencies/vegetables/src/vegetables/test_constructors_m.f90 -Wall -Wextra -Wimplicit-interface -fPIC -fmax-
errors=1 -g -fcheck=bounds -fcheck=array-temps -fbacktrace -fcoarray=single -J build/gfortran_2A42023B310FA28D -Ibuild/gfortran_2A42
023B310FA28D -o build/gfortran_2A42023B310FA28D/reference-counter/build_dependencies_vegetables_src_vegetables_test_constructors_m.f
90.o
+ gfortran -c build/dependencies/vegetables/src/vegetables.f90 -Wall -Wextra -Wimplicit-interface -fPIC -fmax-errors=1 -g -fcheck=
bounds -fcheck=array-temps -fbacktrace -fcoarray=single -J build/gfortran_2A42023B310FA28D -Ibuild/gfortran_2A42023B310FA28D -o buil
d/gfortran_2A42023B310FA28D/reference-counter/build_dependencies_vegetables_src_vegetables.f90.o
+ ar -rs build/gfortran_2A42023B310FA28D/reference-counter/libreference-counter.a build/gfortran_2A42023B310FA28D/reference-counter
/src_reference_counter_m.f90.o build/gfortran_2A42023B310FA28D/reference-counter/src_reference_counter_ref_resource_m.f90.o build/gf
ortran_2A42023B310FA28D/reference-counter/src_reference_counter_ref_counter_m.f90.o build/gfortran_2A42023B310FA28D/reference-counte
r/src_reference_counter_ref_reference_s.f90.o build/gfortran_2A42023B310FA28D/reference-counter/src_reference_counter_ref_counter_s.
f90.o build/gfortran_2A42023B310FA28D/reference-counter/src_reference_counter_ref_reference_m.f90.o build/gfortran_2A42023B310FA28D/
reference-counter/build_dependencies_assert_src_intrinsic_array_s.F90.o build/gfortran_2A42023B310FA28D/reference-counter/build_depe
ndencies_assert_src_assert_s.F90.o build/gfortran_2A42023B310FA28D/reference-counter/build_dependencies_assert_src_assert_m.F90.o bu
ild/gfortran_2A42023B310FA28D/reference-counter/build_dependencies_assert_src_intrinsic_array_m.F90.o build/gfortran_2A42023B310FA28
D/reference-counter/build_dependencies_assert_src_characterizable_m.f90.o build/gfortran_2A42023B310FA28D/reference-counter/build_de
pendencies_vegetables_src_vegetables.f90.o build/gfortran_2A42023B310FA28D/reference-counter/build_dependencies_vegetables_src_veget
ables_assert_m.f90.o build/gfortran_2A42023B310FA28D/reference-counter/build_dependencies_vegetables_src_vegetables_test_m.f90.o bui
ld/gfortran_2A42023B310FA28D/reference-counter/build_dependencies_vegetables_src_vegetables_input_test_case_m.f90.o build/gfortran_2
A42023B310FA28D/reference-counter/build_dependencies_vegetables_src_vegetables_constants_m.f90.o build/gfortran_2A42023B310FA28D/ref
erence-counter/build_dependencies_vegetables_src_vegetables_test_case_with_examples_m.f90.o build/gfortran_2A42023B310FA28D/referenc
e-counter/build_dependencies_vegetables_src_vegetables_integer_generator_m.f90.o build/gfortran_2A42023B310FA28D/reference-counter/b
uild_dependencies_vegetables_src_vegetables_string_input_m.f90.o build/gfortran_2A42023B310FA28D/reference-counter/build_dependencie
s_vegetables_src_vegetables_random_m.f90.o build/gfortran_2A42023B310FA28D/reference-counter/build_dependencies_vegetables_src_veget
ables_individual_result_m.f90.o build/gfortran_2A42023B310FA28D/reference-counter/build_dependencies_vegetables_src_vegetables_examp
le_m.f90.o build/gfortran_2A42023B310FA28D/reference-counter/build_dependencies_vegetables_src_vegetables_double_precision_input_m.f
90.o build/gfortran_2A42023B310FA28D/reference-counter/build_dependencies_vegetables_src_vegetables_ascii_string_generator_m.f90.o b
uild/gfortran_2A42023B310FA28D/reference-counter/build_dependencies_vegetables_src_vegetables_test_case_with_generator_m.f90.o build
/gfortran_2A42023B310FA28D/reference-counter/build_dependencies_vegetables_src_vegetables_input_m.f90.o build/gfortran_2A42023B310FA
28D/reference-counter/build_dependencies_vegetables_src_vegetables_shrink_result_m.f90.o build/gfortran_2A42023B310FA28D/reference-c
ounter/build_dependencies_vegetables_src_vegetables_simple_test_collection_m.f90.o build/gfortran_2A42023B310FA28D/reference-counter
/build_dependencies_vegetables_src_vegetables_transformed_m.f90.o build/gfortran_2A42023B310FA28D/reference-counter/build_dependenci
es_vegetables_src_vegetables_transformation_failure_m.f90.o build/gfortran_2A42023B310FA28D/reference-counter/build_dependencies_veg
etables_src_vegetables_command_line_m.f90.o build/gfortran_2A42023B310FA28D/reference-counter/build_dependencies_vegetables_src_vege
tables_test_constructors_m.f90.o build/gfortran_2A42023B310FA28D/reference-counter/build_dependencies_vegetables_src_vegetables_gene
rated_m.f90.o build/gfortran_2A42023B310FA28D/reference-counter/build_dependencies_vegetables_src_vegetables_test_interfaces_m.f90.o
build/gfortran_2A42023B310FA28D/reference-counter/build_dependencies_vegetables_src_vegetables_generator_m.f90.o build/gfortran_2A4
2023B310FA28D/reference-counter/build_dependencies_vegetables_src_vegetables_test_item_m.f90.o build/gfortran_2A42023B310FA28D/refer
ence-counter/build_dependencies_vegetables_src_vegetables_messages_m.f90.o build/gfortran_2A42023B310FA28D/reference-counter/build_d
ependencies_vegetables_src_vegetables_run_tests_m.f90.o build/gfortran_2A42023B310FA28D/reference-counter/build_dependencies_vegetab
les_src_vegetables_result_m.f90.o build/gfortran_2A42023B310FA28D/reference-counter/build_dependencies_vegetables_src_vegetables_uti
lities_m.f90.o build/gfortran_2A42023B310FA28D/reference-counter/build_dependencies_vegetables_src_vegetables_test_collection_result
_m.f90.o build/gfortran_2A42023B310FA28D/reference-counter/build_dependencies_vegetables_src_vegetables_integer_input_m.f90.o build/
gfortran_2A42023B310FA28D/reference-counter/build_dependencies_vegetables_src_vegetables_transforming_test_collection_m.f90.o build/
gfortran_2A42023B310FA28D/reference-counter/build_dependencies_vegetables_src_vegetables_simple_test_case_m.f90.o build/gfortran_2A4
2023B310FA28D/reference-counter/build_dependencies_vegetables_src_vegetables_test_collection_with_input_m.f90.o build/gfortran_2A420
23B310FA28D/reference-counter/build_dependencies_vegetables_src_vegetables_test_result_item_m.f90.o build/gfortran_2A42023B310FA28D/
reference-counter/build_dependencies_vegetables_src_vegetables_test_case_result_m.f90.o build/gfortran_2A42023B310FA28D/reference-co
unter/build_dependencies_vegetables_src_vegetables_test_result_m.f90.o build/gfortran_2A42023B310FA28D/reference-counter/build_depen
dencies_vegetables_src_vegetables_assert_equals_within_relative_tensor_m.f90.o build/gfortran_2A42023B310FA28D/reference-counter/bui
ld_dependencies_vegetables_src_vegetables_assert_empty_m.f90.o build/gfortran_2A42023B310FA28D/reference-counter/build_dependencies_
vegetables_src_vegetables_assert_equals_within_relative_m.f90.o build/gfortran_2A42023B310FA28D/reference-counter/build_dependencies
_vegetables_src_vegetables_assert_faster_than_m.f90.o build/gfortran_2A42023B310FA28D/reference-counter/build_dependencies_vegetable
s_src_vegetables_assert_includes_m.f90.o build/gfortran_2A42023B310FA28D/reference-counter/build_dependencies_vegetables_src_vegetab
les_assert_equals_double_precision_tensor_m.f90.o build/gfortran_2A42023B310FA28D/reference-counter/build_dependencies_vegetables_sr
c_vegetables_assert_equals_within_absolute_tensor_m.f90.o build/gfortran_2A42023B310FA28D/reference-counter/build_dependencies_veget
ables_src_vegetables_assert_equals_within_relative_array_m.f90.o build/gfortran_2A42023B310FA28D/reference-counter/build_dependencie
s_vegetables_src_vegetables_assert_equals_within_absolute_m.f90.o build/gfortran_2A42023B310FA28D/reference-counter/build_dependenci
es_vegetables_src_vegetables_assert_equals_within_absolute_matrix_m.f90.o build/gfortran_2A42023B310FA28D/reference-counter/build_de
pendencies_vegetables_src_vegetables_assert_that_m.f90.o build/gfortran_2A42023B310FA28D/reference-counter/build_dependencies_vegeta
bles_src_vegetables_assert_equals_within_absolute_array_m.f90.o build/gfortran_2A42023B310FA28D/reference-counter/build_dependencies
_vegetables_src_vegetables_assert_equals_integer_tensor_m.f90.o build/gfortran_2A42023B310FA28D/reference-counter/build_dependencies
_vegetables_src_vegetables_assert_equals_integer_array_m.f90.o build/gfortran_2A42023B310FA28D/reference-counter/build_dependencies_
vegetables_src_vegetables_assert_doesnt_include_m.f90.o build/gfortran_2A42023B310FA28D/reference-counter/build_dependencies_vegetab
les_src_vegetables_assert_equals_within_relative_matrix_m.f90.o build/gfortran_2A42023B310FA28D/reference-counter/build_dependencies
_vegetables_src_vegetables_assert_equals_strings_m.f90.o build/gfortran_2A42023B310FA28D/reference-counter/build_dependencies_vegeta
bles_src_vegetables_assert_equals_double_precision_array_m.f90.o build/gfortran_2A42023B310FA28D/reference-counter/build_dependencie
s_vegetables_src_vegetables_assert_equals_integer_matrix_m.f90.o build/gfortran_2A42023B310FA28D/reference-counter/build_dependencie
s_vegetables_src_vegetables_assert_equals_integer_m.f90.o build/gfortran_2A42023B310FA28D/reference-counter/build_dependencies_veget
ables_src_vegetables_assert_equals_double_precision_m.f90.o build/gfortran_2A42023B310FA28D/reference-counter/build_dependencies_veg
etables_src_vegetables_assert_equals_double_precision_matrix_m.f90.o build/gfortran_2A42023B310FA28D/reference-counter/build_depende
ncies_vegetables_src_vegetables_assert_not_m.f90.o build/gfortran_2A42023B310FA28D/reference-counter/build_dependencies_iso_varying_
string_src_iso_varying_string.f90.o build/gfortran_2A42023B310FA28D/reference-counter/build_dependencies_strff_src_strff.f90.o
ar: creating build/gfortran_2A42023B310FA28D/reference-counter/libreference-counter.a
+ gfortran -c test/ref_reference_test.f90 -Wall -Wextra -Wimplicit-interface -fPIC -fmax-errors=1 -g -fcheck=bounds -fcheck=array-
temps -fbacktrace -fcoarray=single -J build/gfortran_2A42023B310FA28D -Ibuild/gfortran_2A42023B310FA28D -o build/gfortran_2A42023B31
0FA28D/reference-counter/test_ref_reference_test.f90.o
test/ref_reference_test.f90:36:17:
36 | subroutine free(self)
| 1
Warning: ‘free’ declared at (1) may shadow the intrinsic of the same name. In order to call the intrinsic, explicit INTRINSIC decla
rations may be required. [-Wintrinsic-shadow]
+ gfortran -c test/compiler_test.f90 -Wall -Wextra -Wimplicit-interface -fPIC -fmax-errors=1 -g -fcheck=bounds -fcheck=array-temps
-fbacktrace -fcoarray=single -J build/gfortran_2A42023B310FA28D -Ibuild/gfortran_2A42023B310FA28D -o build/gfortran_2A42023B310FA28
D/reference-counter/test_compiler_test.f90.o
+ gfortran -c test/main.f90 -Wall -Wextra -Wimplicit-interface -fPIC -fmax-errors=1 -g -fcheck=bounds -fcheck=array-temps -fbacktr
ace -fcoarray=single -J build/gfortran_2A42023B310FA28D -Ibuild/gfortran_2A42023B310FA28D -o build/gfortran_2A42023B310FA28D/referen
ce-counter/test_main.f90.o
+ mkdir -p build/gfortran_2A42023B310FA28D/test/
+ gfortran -Wall -Wextra -Wimplicit-interface -fPIC -fmax-errors=1 -g -fcheck=bounds -fcheck=array-temps -fbacktrace -fcoarray=sin
gle build/gfortran_2A42023B310FA28D/reference-counter/test_main.f90.o build/gfortran_2A42023B310FA28D/reference-counter/test_compil
er_test.f90.o build/gfortran_2A42023B310FA28D/reference-counter/test_ref_reference_test.f90.o build/gfortran_2A42023B310FA28D/refere
nce-counter/libreference-counter.a -o build/gfortran_2A42023B310FA28D/test/reference-counter-test
Running Tests
Test that
The compiler
finalizes a non-allocatable object on the LHS of an intrinsic assignment
finalizes an allocated allocatable LHS of an intrinsic assignment
finalizes an object upon explicit deallocation
finalizes a non-pointer non-allocatable array object at the END statement
finalizes a non-pointer non-allocatable object at the end of a block construct
finalizes a function reference on the RHS of an intrinsic assignment
finalizes a specification expression function result
finalizes an intent(out) derived type dummy argument
finalizes an allocatable component object
A ref_reference
does not leak when constructed, assigned, and then explicitly freed
A total of 10 test cases
Failed
Took 9.0419e-5 seconds
Test that
The compiler
finalizes a non-allocatable object on the LHS of an intrinsic assignment
Expected
|1|
but got
|0|
finalizes an allocated allocatable LHS of an intrinsic assignment
Expected
|1|
but got
|0|
finalizes a function reference on the RHS of an intrinsic assignment
Expected
|1|
but got
|0|
finalizes a specification expression function result
Expected
|1|
but got
|0|
4 of 10 cases failed
4 of 10 assertions failed
STOP 1
<ERROR> Execution failed for object " reference-counter-test "
<ERROR>*cmd_run*:stopping due to failed executions
STOP 1
I get different output, but I assume it's related to this same issue. Here's the trailing output:
reference-counter-test(37911,0x112d02600) malloc: Heap corruption detected, free list is damaged at 0x600001bc01b0
*** Incorrect guard value: 46172678848943
reference-counter-test(37911,0x112d02600) malloc: *** set a breakpoint in malloc_error_break to debug
Program received signal SIGABRT: Process abort signal.
Backtrace for this error:
#0 0x10bf0144e
#1 0x10bf0062d
#2 0x7ff80a6f7dfc
#3 0x7ff80a6ac00f
#4 0x7ff80a6e21ff
#5 0x7ff80a62dd24
#6 0x7ff80a507357
#7 0x7ff80a51b307
#8 0x7ff80a4fa0e8
#9 0x7ff80a4f9677
#10 0x7ff80a4f95a4
#11 0x7ff80a515abb
#12 0x10ba442e8
#13 0x10ba28119
#14 0x10ba51a41
#15 0x10ba27c31
#16 0x10ba51a41
#17 0x10ba16469
#18 0x10ba05516
#19 0x10ba05743
#20 0x10ba0577e
<ERROR> Execution failed for object " reference-counter-test "
<ERROR>*cmd_run*:stopping due to failed executions
STOP 1
@wyphan most of the output in your comment above is unrelated to the issue and takes a lot of time to scrolls through. Please edit the comment down to the essential information.
Will do!
Edit: done, just removed all the -Wmaybe-uninitialized
warnings. as well as the git
warnings about no main
branch.
Currently retrying the Spack build, but using ubuntu-focal
Docker image, which is Ubuntu 20.04 LTS instead of 22.04 LTS, and ships system GCC version 9.3.0 instead of 11.2.0. Basically, swapping out spack/ubuntu-jammy
with spack/ubuntu-focal
in the reproducer steps in https://github.com/sourceryinstitute/reference-counter/issues/27#issue-1231187376 .
Edit: just completed. Exactly same error as https://github.com/sourceryinstitute/reference-counter/issues/27#issuecomment-1122418175 .
Also got some really good feedback from the Spack devs today during the weekly Spack telcon today:
-std=f2018
flag-v
spack location -i
then look for the .spack
subdirectoryThis is mind-boggling. Testing with plain system GCC 11.2 that Ubuntu 22.04 LTS carries in the official Ubuntu docker container ubuntu:jammy
actually reproduces the error! Something fancy is happening in the OpenCoarrays installer... or either Ubuntu and/or Spack applies patches to the source code before building GCC from sources.
[100%] Project compiled successfully.
Running Tests
Test that
The compiler
finalizes a non-allocatable object on the LHS of an intrinsic assignment
finalizes an allocated allocatable LHS of an intrinsic assignment
finalizes a target when the associated pointer is deallocated
finalizes an object upon explicit deallocation
finalizes a non-pointer non-allocatable object at the END statement
finalizes a non-pointer non-allocatable object at the end of a block construct
finalizes a function reference on the RHS of an intrinsic assignment
finalizes a specification expression function result
finalizes an intent(out) derived type dummy argument
finalizes an allocatable component object
Using a reference-counted object
creates a resource when constructed
removes the resource when it goes out of scope
a copy points to the same resource
A total of 13 test cases
At line 42 of file test/usage_test.f90
Fortran runtime error: Attempt to DEALLOCATE unallocated 'the_resource'
Error termination. Backtrace:
#0 0x7fec6ac1fae0 in ???
#1 0x7fec6ac20659 in ???
#2 0x7fec6ac20c56 in ???
#3 0x5586d60f1de9 in __usage_test_MOD_free
at test/usage_test.f90:42
#4 0x5586d60f20e8 in __ref_counter_m_MOD_release
at ././src/reference_counter/ref_counter_s.f90:25
#5 0x5586d60f28bb in __ref_counter_m_MOD_finalize
at ././src/reference_counter/ref_counter_m.f90:54
#6 0x5586d60f2828 in __ref_counter_m_MOD___final_ref_counter_m_Ref_counter_t
at ././src/reference_counter/ref_counter_m.f90:57
#7 0x5586d60f2f5d in __ref_reference_m_MOD___final_ref_reference_m_Ref_reference_t
at ././src/reference_counter/ref_reference_m.f90:30
#8 0x5586d60f0da5 in check_copy
at test/usage_test.f90:89
#9 0x5586d6130e79 in __vegetables_simple_test_case_m_MOD_run_without_input
at build/dependencies/vegetables/src/vegetables/simple_test_case_m.f90:111
#10 0x5586d610bfbd in __vegetables_test_item_m_MOD_run_without_input
at build/dependencies/vegetables/src/vegetables/test_item_m.f90:86
#11 0x5586d6150549 in __vegetables_simple_test_collection_m_MOD_run_without_input
at build/dependencies/vegetables/src/vegetables/simple_test_collection_m.f90:138
#12 0x5586d610bfbd in __vegetables_test_item_m_MOD_run_without_input
at build/dependencies/vegetables/src/vegetables/test_item_m.f90:86
#13 0x5586d6150549 in __vegetables_simple_test_collection_m_MOD_run_without_input
at build/dependencies/vegetables/src/vegetables/simple_test_collection_m.f90:138
#14 0x5586d610bfbd in __vegetables_test_item_m_MOD_run_without_input
at build/dependencies/vegetables/src/vegetables/test_item_m.f90:86
#15 0x5586d6109270 in __vegetables_run_tests_m_MOD_run_tests
at build/dependencies/vegetables/src/vegetables/run_tests_m.f90:61
#16 0x5586d60ed702 in run
at test/main.f90:26
#17 0x5586d60ed905 in MAIN__
at test/main.f90:5
#18 0x5586d60ed940 in main
at test/main.f90:5
<ERROR> Execution failed for object " reference-counter-test "
<ERROR>*cmd_run*:stopping due to failed executions
STOP 1
To reproduce:
$ docker pull ubuntu:jammy
$ docker run -it ubuntu:jammy
# apt update
# apt install build-essential git curl gfortran
# cd
# git clone https://github.com/fortran-lang/fpm.git
# cd fpm
# ./install.sh
# export PATH=${PATH}:/root/.local/bin
# cd
# git clone https://github.com/sourceryinstitute/reference-counter.git
# cd reference-counter
# fpm test
Perhaps Spack and the OpenCoarrays installer are using different flags to build GCC 12.1? I doubt either of them is applying a patch before building. I'll note that I'm using 11.2 on Pop!OS, and I see the run-time error.
It would be possible to catch the error and cause the test case to fail instead of crash, but it's a bit roundabout. Is it worth doing?
I'm pretty sure both Spack GCC and Ubuntu system GCC had patches applied to them before building from sources.
On Thu, May 19, 2022, 13:36 Brad Richardson @.***> wrote:
Perhaps Spack and the OpenCoarrays installer are using different flags to build GCC 12.1? I doubt either of them is applying a patch before building. I'll note that I'm using 11.2 on Pop!OS, and I see the run-time error.
It would be possible to catch the error and cause the test case to fail instead of crash, but it's a bit roundabout. Is it worth doing?
— Reply to this email directly, view it on GitHub https://github.com/sourceryinstitute/reference-counter/issues/27#issuecomment-1131998352, or unsubscribe https://github.com/notifications/unsubscribe-auth/AMERY5BTFIZCXP7BCXNUUODVKZ32NANCNFSM5VRUPDLQ . You are receiving this because you were mentioned.Message ID: @.***>
I tested with source-built GCC 12.1 on BaseCamp dev rig, it behaves like the GCC built by OpenCoarrays. The config I used was
wyp@basecamp:~/work/gcc/build/gcc-12/bin$ ./gfortran -v
Using built-in specs.
COLLECT_GCC=./gfortran
COLLECT_LTO_WRAPPER=/opt/doconcurrent/gcc/build/gcc-12/bin/../libexec/gcc/x86_64-pc-linux-gnu/12.1.1/lto-wrapper
Target: x86_64-pc-linux-gnu
Configured with: /home/wyp/work/gcc/src/configure --enable-languages=c,c++,fortran --disable-bootstrap --disable-libsanitizer --disable-multilib --prefix=/home/wyp/work/gcc/build/gcc-12
Thread model: posix
Supported LTO compression algorithms: zlib
gcc version 12.1.1 20220521 (GCC)
I wonder if it might be related to --disable-libsanitizer
, or an applied patch? @everythingfunctional what's more likely?
@wyphando you know whether there are still issues with installing on Spack? I'm not seeing any issue with local builds and we can't currently test in the GitHub CI because the NAG compiler is the only compiler that passes our test suite. I'll close this issue for now. If you can still reproduce the problem, feel free to reopen the issue.
Looks like Spack GCC 12.1 caught a runtime error:
To replicate: