diff --git a/alire.toml b/alire.toml index 37728c66..263bb125 100644 --- a/alire.toml +++ b/alire.toml @@ -17,10 +17,10 @@ tags = ["embedded", "framework"] website = "https://github.com/lasp/adamant" [[depends-on]] -gnat_native = "12.2.1" +gnat_native = "13.2.1" gprbuild = "22.0.1" -gnatprove = "12.1.1" -aunit = "23.0.0" +gnatprove = "13.2.1" +aunit = "24.0.0" # This crate provides gnatpp & gnatmetric. However this # takes a very long time to compile. We will do this diff --git a/gen/templates/memory_map/name.ads b/gen/templates/memory_map/name.ads index aaebb07e..5a55c0fa 100644 --- a/gen/templates/memory_map/name.ads +++ b/gen/templates/memory_map/name.ads @@ -91,8 +91,10 @@ is pragma Warnings (Off, "indirect writes to ""{{ item.name }}"" through a potential alias are ignored"); pragma Warnings (Off, "writing to ""{{ item.name }}"" is assumed to have no effects on other non-volatile objects"); + pragma Warnings (Off, "assuming no concurrent accesses to non-atomic object ""{{ item.name }}"""); {{ item.name }} : aliased {{ item.type }} with Import, Convention => Ada, Address => {{ item.name }}_Address; + pragma Warnings (On, "assuming no concurrent accesses to non-atomic object ""{{ item.name }}"""); pragma Warnings (On, "writing to ""{{ item.name }}"" is assumed to have no effects on other non-volatile objects"); pragma Warnings (On, "indirect writes to ""{{ item.name }}"" through a potential alias are ignored"); diff --git a/gen/templates/register_map/name.ads b/gen/templates/register_map/name.ads index ab6f56ba..565ac140 100644 --- a/gen/templates/register_map/name.ads +++ b/gen/templates/register_map/name.ads @@ -72,8 +72,10 @@ is {{ item.name }}_End : constant Unsigned_32 := {{ item.name }}_Offset + {{ item.name }}_Size - 1; -- 0x{{ '%08X' % (item.address + item.size - 1) }} {{ item.name }}_Address : constant System.Address := To_Address (Integer_Address ({{ item.name }}_Offset)); pragma Warnings (Off, "writing to ""{{ item.name }}"" is assumed to have no effects on other non-volatile objects"); + pragma Warnings (Off, "assuming no concurrent accesses to non-atomic object ""{{ item.name }}"""); {{ item.name }} : aliased {{ item.type }} with {% if item.volatile_aspect %}{{ item.volatile_aspect }} => True, {% endif %}Import, Convention => Ada, Address => {{ item.name }}_Address; + pragma Warnings (On, "assuming no concurrent accesses to non-atomic object ""{{ item.name }}"""); pragma Warnings (On, "writing to ""{{ item.name }}"" is assumed to have no effects on other non-volatile objects"); {% endfor %} diff --git a/redo/targets/gpr/a_adamant.gpr b/redo/targets/gpr/a_adamant.gpr index aed391dd..dac247c7 100644 --- a/redo/targets/gpr/a_adamant.gpr +++ b/redo/targets/gpr/a_adamant.gpr @@ -38,7 +38,6 @@ abstract project a_adamant is -- -- -gnatf - full errors -- -gnatwa - enable all warnings - -- -gnatwh - warn on hiding -- -gnatwl - elaboration pragma warnings -- -gnatw.o - modified but unreferenced out parameters warnings -- -gnatwt - deleted conditional code @@ -48,7 +47,7 @@ abstract project a_adamant is -- Note: I did not turn on gnatwd, because writing "all" all the time makes things -- less readable. -- - ADA_FLAGS := ("-gnatf", "-gnatwa", "-gnatwh", "-gnatwl", "-gnatw.o", "-gnatwt", "-gnatw.X"); + ADA_FLAGS := ("-gnatf", "-gnatwa", "-gnatwl", "-gnatw.o", "-gnatwt", "-gnatw.X"); COMMON_C_FLAGS := ("-Wall", "-Wextra", "-pedantic"); C_FLAGS := COMMON_C_FLAGS & ("-std=gnu99"); CPP_FLAGS := COMMON_C_FLAGS & ("-std=c++0x");