[Ada] Vectors: spurious error in -gnatwE mode
authorBob Duff <duff@adacore.com>
Wed, 23 May 2018 10:23:19 +0000 (10:23 +0000)
committerPierre-Marie de Rodat <pmderodat@gcc.gnu.org>
Wed, 23 May 2018 10:23:19 +0000 (10:23 +0000)
commitaeaa0347e94b1dfa040809b3b098fcc0474d45f7
tree0532e5d5338427fb6e8ad3a6e2de1b5ae80c5807
parent5e1c231ec79d0a772c24cb299f88d10ba076e9f2
[Ada] Vectors: spurious error in -gnatwE mode

This patch fixes a bug in which if Ada.Containers.Vectors is instantiated with
an Index_Type such that Index_Type'Base'Last is less than Count_Type'Last, and
the -gnatwE switch is used, the compiler gives spurious error messages.

The following test should compile quietly with -gnatwE:

gnatmake short_vectors.ads -gnatwa -gnatwE -gnatf

with Ada.Containers.Vectors;
package Short_Vectors is

   type Index_Type is range 1 .. 256;

   package Map_Pkg is new Ada.Containers.Vectors
     (Index_Type => Index_Type,
      Element_Type => Integer);

end Short_Vectors;

2018-05-23  Bob Duff  <duff@adacore.com>

gcc/ada/

* libgnat/a-convec.adb: (Insert, Insert_Space): Suppress warnings. The
code in question is not reachable in the case where Count_Type'Last is
out of range.

From-SVN: r260590
gcc/ada/ChangeLog
gcc/ada/libgnat/a-convec.adb