Proof of the generic unit to array operations (vector/matrix), only at
silver level, for runtime errors that come from the generic part of the
unit. This does not prove e.g. absence of overflows in an instantiation
related to arithmetic operations passed as formal generic subprogram
parameters.

Justify 2 checks with pragma Annotate as False_Positive (related to
absence of aliasing) and 3 checks as Intentional (possible overflow and
explicit exception).

Tested on x86_64-pc-linux-gnu, committed on trunk

gcc/ada/

        * libgnat/a-ngcoar.adb: Add pragma to ignore assertions in
        instance.
        * libgnat/a-ngrear.adb: Likewise.
        * libgnat/s-gearop.adb: Prove implementation is free of runtime
        errors.
        * libgnat/s-gearop.ads: Add contracts to protect against runtime
        errors in the generic part.

Attachment: patch.diff.gz
Description: application/gzip

Reply via email to