[multiple changes]
authorArnaud Charlet <charlet@gcc.gnu.org>
Tue, 20 Oct 2015 09:56:56 +0000 (11:56 +0200)
committerArnaud Charlet <charlet@gcc.gnu.org>
Tue, 20 Oct 2015 09:56:56 +0000 (11:56 +0200)
commite9f97e793186e04e2a69ef8dc15073b530f2851f
tree4bf01e9fce36ef4cf64ed5b7df7bb399ce1e7b01
parent0489576ce8062475a2a90b3aae869166d9005460
[multiple changes]

2015-10-20  Bob Duff  <duff@adacore.com>

* a-coinve.ads, a-coinve.adb: Do the same efficiency
improvements that were already done in the definite case
(Ada.Containers.Vectors, i.e. a-convec). This includes the
ability to suppress checks, the fast path for Append, inlining
as appropriate, and special-casing of "for ... of" loops. Reuse
the tampering machinery that is now in Ada.Containers. Simplify
many operations.
* a-convec.ads, a-convec.adb: Change the code to be more similar
to a-coinve.
* a-finali.ads, a-finali.adb: Expose the "null"-ness of the
operations. This may enable optimizations in the future, and
seems cleaner anyway.

2015-10-20  Ed Schonberg  <schonberg@adacore.com>

* sem_ch13.adb (Is_Operational_Item): Attributes related to
Ada 2012 iterators are operational items, and can be specified
on partial views.

From-SVN: r229033
gcc/ada/ChangeLog
gcc/ada/a-coinve.adb
gcc/ada/a-coinve.ads
gcc/ada/a-convec.adb
gcc/ada/a-convec.ads
gcc/ada/a-finali.adb
gcc/ada/a-finali.ads
gcc/ada/sem_ch13.adb