[ANN]: adacovex 1.58.0: SPARK proof coverage metric

Foreword

What the tool does:

  • Is an Ada/SPARK formal verification and compliance toolchain
  • Zero dependency CLI (for published alire.toml), developer dependencies are gnatprove and the usual bunch of system dependencies.
  • SBOM generation (CycloneDX/SPDX), supporting a decent number of languages with plans to add more support
  • gnatprove/source code parsing
  • Web dashboard, HTTP server and bundled offline manual
  • Status badges and stuff

GitHub: GitHub - bladeacer/adacovex: Ada/SPARK formal verification and compliance toolchain. · GitHub

Docs: adacovex latest documentation


SPARK proof coverage

A fair bit of changes, most exciting of which is the new SPARK proof coverage metric which shows which parts of the codebase lack contracts.

As you can see the current codebase is SPARK Platinum within the subset of contracts we have written thus far, so there is more work to do from here.


Changelogs

quite a few minor semver bumps happened so I will not leave their changelogs here for brevity.

most of which are performance and dev related, though there are some QOL changes all the way since the last release worth publishing (1.48.0).

Git Changelog:

Build Provenance Attestation:

5 Likes

Trying to compile on Windows gave me these errors:

adacovex-cache.adb:614:25: error: expected type "Standard.Long_Long_Integer"
adacovex-cache.adb:614:25: error: found type "Standard.Long_Integer"
adacovex-cache.adb:646:22: error: expected type "Standard.Long_Long_Integer"
adacovex-cache.adb:646:22: error: found type "Standard.Long_Integer"
adacovex-cache.adb:758:32: error: expected type "Standard.Long_Long_Integer"
adacovex-cache.adb:758:32: error: found type "Standard.Long_Integer"
adacovex-cache.adb:981:29: error: expected type "Standard.Long_Long_Integer"
adacovex-cache.adb:981:29: error: found type "Standard.Long_Integer"
adacovex.gpr: error: [Ada Compile] adacovex-cache.adb (adacovex.gpr) failed with status 1
adacovex-dir_cache.adb:49:27: error: expected type "Standard.Long_Long_Integer"
adacovex-dir_cache.adb:49:27: error: found type "Standard.Long_Integer"
adacovex.gpr: error: [Ada Compile] adacovex-dir_cache.adb (adacovex.gpr) failed with status 1
adacovex-cache.adb:614:25: error: expected type "Standard.Long_Long_Integer"
adacovex-cache.adb:614:25: error: found type "Standard.Long_Integer"
adacovex-cache.adb:646:22: error: expected type "Standard.Long_Long_Integer"
adacovex-cache.adb:646:22: error: found type "Standard.Long_Integer"
adacovex-cache.adb:758:32: error: expected type "Standard.Long_Long_Integer"
adacovex-cache.adb:758:32: error: found type "Standard.Long_Integer"
adacovex-cache.adb:981:29: error: expected type "Standard.Long_Long_Integer"
adacovex-cache.adb:981:29: error: found type "Standard.Long_Integer"
adacovex.gpr: error: [Ada Compile] adacovex-parsers-do178c.adb (adacovex.gpr) failed with status 1
adacovex-cache.adb:614:25: error: expected type "Standard.Long_Long_Integer"
adacovex-cache.adb:614:25: error: found type "Standard.Long_Integer"
adacovex-cache.adb:646:22: error: expected type "Standard.Long_Long_Integer"
adacovex-cache.adb:646:22: error: found type "Standard.Long_Integer"
adacovex-cache.adb:758:32: error: expected type "Standard.Long_Long_Integer"
adacovex-cache.adb:758:32: error: found type "Standard.Long_Integer"
adacovex-cache.adb:981:29: error: expected type "Standard.Long_Long_Integer"
adacovex-cache.adb:981:29: error: found type "Standard.Long_Integer"
adacovex.gpr: error: [Ada Compile] adacovex-parsers-source.adb (adacovex.gpr) failed with status 1
adacovex-cache.adb:614:25: error: expected type "Standard.Long_Long_Integer"
adacovex-cache.adb:614:25: error: found type "Standard.Long_Integer"
adacovex-cache.adb:646:22: error: expected type "Standard.Long_Long_Integer"
adacovex-cache.adb:646:22: error: found type "Standard.Long_Integer"
adacovex-cache.adb:758:32: error: expected type "Standard.Long_Long_Integer"
adacovex-cache.adb:758:32: error: found type "Standard.Long_Integer"
adacovex-cache.adb:981:29: error: expected type "Standard.Long_Long_Integer"
adacovex-cache.adb:981:29: error: found type "Standard.Long_Integer"
adacovex.gpr: error: [Ada Compile] adacovex-parsers-manifest.adb (adacovex.gpr) failed with status 1

1. In the file src/adacovex-cache.adb

• Line 614 (inside PStamp_Lookup):

• Original: Now : constant Long_Long_Integer := System.OS_Lib.To_C (System.OS_Lib.Current_Time);

• Fix: Now was changed to Long_Integer and the cast was applied below on line 616: Long_Long_Integer (Now).

• Line 646 (inside PStamp_Record):

• Original: Now_Sec : constant Long_Long_Integer := System.OS_Lib.To_C (System.OS_Lib.Current_Time);

• Fix: Now_Sec was changed to Long_Integer and the cast was applied below on line 671: Long_Long_Integer (Now_Sec).

• Lines 758 and 981 (within Hash_File and save functions):

• Original: Mt := System.OS_Lib.To_C (System.OS_Lib.File_Time_Stamp (Path));

• Fix: Wrapped in a 64-bit cast: Mt := Long_Long_Integer (System.OS_Lib.To_C (System.OS_Lib.File_Time_Stamp (Path)));

2. In the file src/adacovex-dir_cache.adb

• Line 49 (within Tool_Fingerprint): 
• Original: Mt := System.OS_Lib.To_C (System.OS_Lib.File_Time_Stamp (Exe_Path));
 
• Fix: Wrapped in 64-bit cast: Mt := Long_Long_Integer (System.OS_Lib.To_C 
(System.OS_Lib.File_Time_Stamp (Exe_Path)));

• In the Dir_Mtime function (at the end of the file): 

• Original: return System.OS_Lib.To_C (System.OS_Lib.File_Time_Stamp (Dir)); 

• Fix: Wrapped return: return Long_Long_Integer (System.OS_Lib.To_C (System.OS_Lib.File_Time_Stamp (Dir)));

And after that, it compiles perfectly.

\adacovex> alr -d build
Note: Building covex=1.58.0/adacovex.gpr…
[Ada Compile] adacovex-target_profiles.adb
[Ada Compile] adacovex-test_support.adb
[Ada Compile] adacovex_ansi_tests.adb
[Ada Compile] adacovex_cache_tests.adb
[Ada Compile] adacovex_completion_tests.adb
[Ada Compile] adacovex_complexity_tests.adb
[Ada Compile] adacovex_config_tests.adb
[Ada Compile] adacovex_cpus_tests.adb
[Ada Compile] adacovex_dal_tests.adb
[Ada Compile] adacovex_diff_tests.adb
[Ada Compile] adacovex_dir_cache_tests.adb
[Ada Compile] adacovex_do178c_tests.adb
[Ada Compile] adacovex_ir_tests.adb
[Ada Compile] adacovex_man_tests.adb
[Ada Compile] adacovex_opt_outs_tests.adb
[Ada Compile] adacovex_prove_patch_tests.adb
[Ada Compile] adacovex_prove_runner_tests.adb
[Ada Compile] adacovex_prove_tests.adb
[Ada Compile] adacovex_renderer_svg_tests.adb
[Ada Compile] adacovex_renderer_tests.adb
[Ada Compile] adacovex_sbom_tests.adb
[Ada Compile] adacovex_scanner_tests.adb
[Ada Compile] adacovex_server_tests.adb
[Ada Compile] adacovex_spark_coverage_tests.adb
[Ada Compile] adacovex_testparser_tests.adb
[Ada Compile] adacovex_types_tests.adb
[Ada Compile] adacovex_tz_ansi_tests.adb
[Ada Compile] adacovex_vcs_tests.adb
[Ada Compile] test_runner.adb
adacovex_spark_coverage_tests.adb:57:121: (style) this line is too long
adacovex_spark_coverage_tests.adb:60:121: (style) this line is too long
adacovex_spark_coverage_tests.adb:61:121: (style) this line is too long
“adacovex.exe” up to date…

:ghost::ghost::ghost:

1 Like

Not sure if the compiler is being quirky?

What arch are you on for Windows, as well as which version of Alire are you using? Will see if I can reproduce this.

Once the PR is merged and index updated the easiest way to install adacovex is using Alire, whether as a per project dependency or installing the binary itself globally.

Currently it points to a dated version of adacovex (1.48.0)

By the way, I completely uninstalled Alire, downloaded the latest version of alr 2.1.1, and did a completely fresh global install (alr install covex gnatprove). Guess what? Their official automated Alire deployment failed completely, with the same 64-bit integer type errors in adacovex-cache.adb and adacovex-dir_cache.adb.

So no, it’s definitely not my compiler failing, and using Alire to download covex=1.48.0 doesn’t fix it either, because the currently indexed version is fundamentally broken for Windows hosts by default. They should really test their releases on Windows…

I ran into this before, with these errors:

scanning sources... 13 packages, 28 subprograms
result cache: 0 hit(s), 13 miss(es), 0 evicted
docstrings: 0/28 (0%)
GNATprove: Stone (0 VCs)
tests: 0 passed, 0 failed
DAL-C: Unmet
Error: adacovex-parsers-manifest-parse_gpr.adb:24 length check failed
ERROR: Command ["adacovex", "prove"] exited with code 1

Execution of C:\rsa_2026\adacovex.exe terminated by unhandled exception
raised STORAGE_ERROR : EXCEPTION_STACK_OVERFLOW
Call stack traceback locations:
0x6e7a3b 0x7ffa7320631d 0x7ffa73164033 0x7ffa73205c5c 0x6f0fb4 0x210246 0xffffffffffffffff
ERROR: Command [".\adacovex.exe", "prove"] exited with code 1

And now, this error again:

PS C:\Users\epriv> alr --version
alr 2.1.1
PS C:\Users\epriv> alr install covex gnatprove
Note: Computing solutions...
Success: Installation targets fully solved
Note: Starting deployment of covex=1.48.0 to fulfill covex* with no dependencies.
Note: Deploying covex=1.48.0...
Cloning into '/c/Users/epriv/AppData/Local/Temp/alr-16660-lluy.tmp/alr-16660-bjek.tmp'...
remote: Enumerating objects: 13763, done.
remote: Counting objects: 100% (1303/1303), done.
remote: Compressing objects: 100% (460/460), done.
remote: Total 13763 (delta 1051), reused 990 (delta 822), pack-reused 12460 (from 1)
Receiving objects: 100% (13763/13763), 44.60 MiB | 15.97 MiB/s, done.
Resolving deltas: 100% (11632/11632), done.
Updating files: 100% (625/625), done.
Note: Starting installation of covex=1.48.0...
Note: Building covex=1.48.0/adacovex.gpr...
"obj" created
"bin" created
[Ada Compile]     adacovex-ansi.adb
[Ada Compile]     adacovex-cache.adb
[Ada Compile]     adacovex-completion.adb
[Ada Compile]     adacovex-complexity.adb
[Ada Compile]     adacovex-compliance-dal.adb
[Ada Compile]     adacovex-compliance.ads
[Ada Compile]     adacovex-config.adb
[Ada Compile]     adacovex-cpus.adb
[Ada Compile]     adacovex-dashboard_template.ads
[Ada Compile]     adacovex-diff.adb
[Ada Compile]     adacovex-dir_cache.adb
[Ada Compile]     adacovex-docs_template.adb
[Ada Compile]     adacovex-ir_bounds.adb
adacovex-cache.adb:614:25: error: expected type "Standard.Long_Long_Integer"
adacovex-cache.adb:614:25: error: found type "Standard.Long_Integer"
adacovex-cache.adb:646:22: error: expected type "Standard.Long_Long_Integer"
adacovex-cache.adb:646:22: error: found type "Standard.Long_Integer"
adacovex-cache.adb:758:32: error: expected type "Standard.Long_Long_Integer"
adacovex-cache.adb:758:32: error: found type "Standard.Long_Integer"
adacovex-cache.adb:981:29: error: expected type "Standard.Long_Long_Integer"
adacovex-cache.adb:981:29: error: found type "Standard.Long_Integer"
adacovex.gpr: error: [Ada Compile] adacovex-cache.adb (adacovex.gpr) failed with status 1
adacovex-dir_cache.adb:49:27: error: expected type "Standard.Long_Long_Integer"
adacovex-dir_cache.adb:49:27: error: found type "Standard.Long_Integer"
adacovex.gpr: error: [Ada Compile] adacovex-dir_cache.adb (adacovex.gpr) failed with status 1
ERROR: Command ["gprbuild", "-s", "-j0", "-p", "-P", "C:\Users\epriv\AppData\Local\Temp\alr-16660-lluy.tmp\covex_1.48.0_5cfdfd92\adacovex.gpr"] exited with code 4
ERROR: Build failed, cannot perform installation
1 Like

Thanks for letting me know. I will be looking into this and pushing a fix.

P.S. created an associated GitHub issue

[Bug] Compilation Errors on Windows · Issue #1 · bladeacer/adacovex · GitHub

1 Like

You’re welcome, let me know when it’s fixed, I’m interested in using it..! :ghost:

1 Like

looking into my codebase more I am seeing more hardcoded paths. The next update may take a while but will address platform support issues.

From my initial investigations, I believe that you are using 32 bit Windows?

Current platform support is mainly limited to Linux/WSL Platform support - adacovex latest documentation

1 Like

@Avila can you try shallow cloning main and using just build now? I pushed some changes which may or may not fix the type related issues.

1 Like

Okay, I’ll try it and let you know, thanks for letting me know!

1 Like

@bladeacer Hey, I already tested the code, I did what you told me and guess what??? It worked 100%! It compiled without any type errors or constraint errors, I was able to run Adacovex on the project and everything is great! Excellent! Thank you so much for making the changes and letting me know. It’s a really good tool, I like it, thanks! :ghost::ghost:

PS C:\Users\epriv\adacovex> .\bin\adacovex.exe --target="C:\Users\epriv\main"
adacovex v1.60.0 -- C:/Users/epriv/main
manifest: C:\Users\epriv\main/alire.toml
scanning sources...  15 packages, 38 subprograms
result cache:  0 hit(s), 16 miss(es), 0 evicted
docstrings:  6/ 38 ( 15%)
GNATprove: Platinum ( 754 VCs)  GNATprove units:  16 analyzed
tests:  0 passed, 0 failed
DAL-C: Achieved
undocumented subprograms:
C:/Users/epriv/main/src/RSA_Fatal_Error.ads: 18: subprogram "Fatal_Error" is undocumented
help: add --  @param and/or --  @return docstring tags before the declaration
C:/Users/epriv/main/src/RSA_Functions.ads: 14: subprogram "Get_Exp" is undocumented
help: add --  @param and/or --  @return docstring tags before the declaration
C:/Users/epriv/main/src/RSA_Functions.ads: 16: subprogram "Modular_Inverse" is undocumented
help: add --  @param and/or --  @return docstring tags before the declaration
C:/Users/epriv/main/src/RSA_Functions.ads: 32: subprogram "Modular_Power" is undocumented
help: add --  @param and/or --  @return docstring tags before the declaration
C:/Users/epriv/main/src/RSA_Functions.ads: 39: subprogram "Crypt_Modular_Power" is undocumented
help: add --  @param and/or --  @return docstring tags before the declaration
C:/Users/epriv/main/src/RSA_Functions.ads: 47: subprogram "Calculate_Shannon_Entropy" is undocumented
help: add --  @param and/or --  @return docstring tags before the declaration
C:/Users/epriv/main/src/RSA_Functions.ads: 55: subprogram "Calculate_Total_Bits" is undocumented
help: add --  @param and/or --  @return docstring tags before the declaration
C:/Users/epriv/main/src/RSA_Functions.ads: 65: subprogram "Rest" is undocumented
help: add --  @param and/or --  @return docstring tags before the declaration
C:/Users/epriv/main/src/RSA_Functions.ads: 73: subprogram "Multiply" is undocumented
help: add --  @param and/or --  @return docstring tags before the declaration
C:/Users/epriv/main/src/RSA_Functions.ads: 81: subprogram "Crypt_Multiply" is undocumented
help: add --  @param and/or --  @return docstring tags before the declaration
C:/Users/epriv/main/src/RSA_Functions.ads: 90: subprogram "Trim_Big" is undocumented
help: add --  @param and/or --  @return docstring tags before the declaration
C:/Users/epriv/main/src/RSA_Functions.ads: 102: subprogram "Get_Exp" is undocumented
help: add --  @param and/or --  @return docstring tags before the declaration
C:/Users/epriv/main/src/RSA_Generate_Random_Number.ads: 12: subprogram "Generate_Random_Number" is undocumented
help: add --  @param and/or --  @return docstring tags before the declaration
C:/Users/epriv/main/src/RSA_Get_Time.ads: 13: subprogram "get_day" is undocumented
help: add --  @param and/or --  @return docstring tags before the declaration
C:/Users/epriv/main/src/RSA_Get_Time.ads: 21: subprogram "get_date" is undocumented
help: add --  @param and/or --  @return docstring tags before the declaration
C:/Users/epriv/main/src/RSA_Get_Time.ads: 29: subprogram "get_hour" is undocumented
help: add --  @param and/or --  @return docstring tags before the declaration
C:/Users/epriv/main/src/RSA_Get_Time.ads: 37: subprogram "get_format" is undocumented
help: add --  @param and/or --  @return docstring tags before the declaration
C:/Users/epriv/main/src/RSA_Last_Chance_Handler.ads: 5: subprogram "Last_Chance_Handler" is undocumented
help: add --  @param and/or --  @return docstring tags before the declaration
C:/Users/epriv/main/src/RSA_Renames_Pckg.ads: 48: subprogram "IO_Put_Line" is undocumented
help: add --  @param and/or --  @return docstring tags before the declaration
C:/Users/epriv/main/src/RSA_Renames_Pckg.ads: 56: subprogram "IO_Put_Line" is undocumented
help: add --  @param and/or --  @return docstring tags before the declaration
C:/Users/epriv/main/src/RSA_Renames_Pckg.ads: 65: subprogram "IO_Put_Line" is undocumented
help: add --  @param and/or --  @return docstring tags before the declaration
C:/Users/epriv/main/src/RSA_Test_Small_Primes.ads: 10: subprogram "Small_Primes_Sieve" is undocumented
help: add --  @param and/or --  @return docstring tags before the declaration
C:/Users/epriv/main/src/RSA_Text_To_Big_Int.ads: 17: subprogram "Text_To_Big_Int" is undocumented
help: add --  @param and/or --  @return docstring tags before the declaration
C:/Users/epriv/main/src/RSA_Text_To_Big_Int.ads: 31: subprogram "Big_Int_To_Text" is undocumented
help: add --  @param and/or --  @return docstring tags before the declaration
C:/Users/epriv/main/src/Wrapper_BcryptGenRandom.ads: 19: subprogram "BcryptGenRandom_Public" is undocumented
help: add --  @param and/or --  @return docstring tags before the declaration
C:/Users/epriv/main/src/Wrapper_BcryptGenRandom.ads: 48: subprogram "BCryptGenRandom" is undocumented
help: add --  @param and/or --  @return docstring tags before the declaration
C:/Users/epriv/main/src/Wrapper_ProcessPrng.ads: 19: subprogram "ProcessPrng_Public" is undocumented
help: add --  @param and/or --  @return docstring tags before the declaration
C:/Users/epriv/main/src/Wrapper_ProcessPrng.ads: 42: subprogram "ProcessPrng" is undocumented
help: add --  @param and/or --  @return docstring tags before the declaration
C:/Users/epriv/main/src/ZeroMemory.ads: 25: subprogram "SecureZeroMemory_String" is undocumented
help: add --  @param and/or --  @return docstring tags before the declaration
C:/Users/epriv/main/src/ZeroMemory.ads: 34: subprogram "SecureZeroMemory_Bytes" is undocumented
help: add --  @param and/or --  @return docstring tags before the declaration
C:/Users/epriv/main/src/ZeroMemory.ads: 43: subprogram "SecureZeroMemory_Bigs" is undocumented
help: add --  @param and/or --  @return docstring tags before the declaration
C:/Users/epriv/main/src/ZeroMemory.ads: 51: subprogram "SecureZeroMemory" is undocumented
help: add --  @param and/or --  @return docstring tags before the declaration
SBOM written to C:\Users\epriv\main/sbom.json (3 components, root proof level Platinum, standard DO-178C, level DAL-C)
Completed in 0.527544600
PS C:\Users\epriv\adacovex> alr build
Note: Building covex=1.60.0/adacovex.gpr...
"obj" created
"bin" created
[Ada Compile]     adacovex-ansi.adb
[Ada Compile]     adacovex-cache.adb
[Ada Compile]     adacovex-completion.adb
[Ada Compile]     adacovex-complexity.adb
[Ada Compile]     adacovex-compliance-dal.adb
[Ada Compile]     adacovex-compliance.ads
[Ada Compile]     adacovex-config.adb
[Ada Compile]     adacovex-cpus.adb
[Ada Compile]     adacovex-dashboard_template.ads
[Ada Compile]     adacovex-diff.adb
[Ada Compile]     adacovex-dir_cache.adb
[Ada Compile]     adacovex-docs_template.adb
[Ada Compile]     adacovex-ir_bounds.adb
[Ada Compile]     adacovex-ir_synthesiser.adb
[Ada Compile]     adacovex-opt_outs.adb
[Ada Compile]     adacovex-parsers-do178c.adb
[Ada Compile]     adacovex-parsers-gnatprove.adb
[Ada Compile]     adacovex-parsers-manifest.adb
[Ada Compile]     adacovex-parsers-source.adb
[Ada Compile]     adacovex-parsers-tests.adb
[Ada Compile]     adacovex-parsers.adb
[Ada Compile]     adacovex-paths.adb
[Ada Compile]     adacovex-prove.adb
[Ada Compile]     adacovex-prove_patch.adb
[Ada Compile]     adacovex-renderers-ansi.adb
[Ada Compile]     adacovex-renderers-html.adb
[Ada Compile]     adacovex-renderers-man.adb
[Ada Compile]     adacovex-renderers-markdown.adb
[Ada Compile]     adacovex-renderers-sbom.adb
[Ada Compile]     adacovex-renderers-svg.adb
[Ada Compile]     adacovex-renderers.ads
[Ada Compile]     adacovex-server-http.adb
[Ada Compile]     adacovex-server.ads
[Ada Compile]     adacovex-spark_coverage.adb
[Ada Compile]     adacovex-target_profiles.adb
[Ada Compile]     adacovex-test_support.adb
[Ada Compile]     adacovex-timezones.adb
[Ada Compile]     adacovex-types.adb
[Ada Compile]     adacovex-vcs.adb
[Ada Compile]     adacovex.ads
[Ada Compile]     adacovex_ansi_tests.adb
[Ada Compile]     adacovex_cache_tests.adb
[Ada Compile]     adacovex_completion_tests.adb
[Ada Compile]     adacovex_complexity_tests.adb
[Ada Compile]     adacovex_config_tests.adb
[Ada Compile]     adacovex_cpus_tests.adb
[Ada Compile]     adacovex_dal_tests.adb
[Ada Compile]     adacovex_diff_tests.adb
[Ada Compile]     adacovex_dir_cache_tests.adb
[Ada Compile]     adacovex_do178c_tests.adb
[Ada Compile]     adacovex_ir_tests.adb
[Ada Compile]     adacovex_main.adb
[Ada Compile]     adacovex_man_tests.adb
[Ada Compile]     adacovex_opt_outs_tests.adb
[Ada Compile]     adacovex_paths_tests.adb
[Ada Compile]     adacovex_prove_patch_tests.adb
[Ada Compile]     adacovex_prove_runner_tests.adb
[Ada Compile]     adacovex_prove_tests.adb
[Ada Compile]     adacovex_renderer_svg_tests.adb
[Ada Compile]     adacovex_renderer_tests.adb
[Ada Compile]     adacovex_sbom_tests.adb
[Ada Compile]     adacovex_scanner_tests.adb
[Ada Compile]     adacovex_server_tests.adb
[Ada Compile]     adacovex_spark_coverage_tests.adb
[Ada Compile]     adacovex_testparser_tests.adb
[Ada Compile]     adacovex_types_tests.adb
[Ada Compile]     adacovex_tz_ansi_tests.adb
[Ada Compile]     adacovex_vcs_tests.adb
[Ada Compile]     adacovex_version_info.ads
[Ada Compile]     test_runner.adb
C:\Users\epriv\adacovex\src\tests\adacovex_config_tests.adb: In function 'Adacovex_Config_Tests.Run':
C:\Users\epriv\adacovex\src\tests\adacovex_config_tests.adb:130:4: note: variable tracking size limit exceeded with '-fvar-tracking-assignments', retrying without
[Ada Bind]        adacovex_main
[Ada Bind]        test_runner
[Ada Post-Bind]   b__test_runner.adb
[Ada Post-Bind]   b__adacovex_main.adb
[Link]            test_runner.exe
[Link]            adacovex.exe
Success: Build finished successfully in 112.32 seconds.
PS C:\Users\epriv\adacovex>
1 Like

great to hear :D, will be polishing up more of the code on my end before creating a new release.

2 Likes