[Bug ada/53323] assertion failure on indefinite array of controlled objects and storage pools

2015-12-06 Thread ebotcazou at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=53323

Eric Botcazou  changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution|--- |FIXED
   Target Milestone|--- |4.8.0

--- Comment #8 from Eric Botcazou  ---
.

[Bug ada/53323] assertion failure on indefinite array of controlled objects and storage pools

2013-03-23 Thread simon at pushface dot org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53323



--- Comment #6 from simon at pushface dot org 2013-03-23 12:14:00 UTC ---

(In reply to comment #5)



 Sort of, we now disable the front-end assertions on release branches.



Hmm, this doesn't really seem appropriate. Quoting Robert Dewar in [1] (talking

about contracts, but it must apply here),



Like all runtime checks, these checks can optionally be removed for the final

production build. This is often done in safety-critical applications such as

aircraft software, where the verification process provides sufficient

confidence that the checks will not fail. [...] In this context, the runtime

checks are a means to the end of making sure they are not needed. But in other

contexts, if the extra inefficiency is not a problem, it may well make sense to

leave the checks enabled. Better to have an ATM machine shut down than to get

an undetected error and hand out the wrong amount of money.



... or have a compiler generate incorrect code. (NB, in this case I accept that

it may well be the check that's wrong, not the generated code).



[1]

http://www.drdobbs.com/architecture-and-design/ada-2012-ada-with-contracts/240150569?cid=twitter_


[Bug ada/53323] assertion failure on indefinite array of controlled objects and storage pools

2013-03-23 Thread ebotcazou at gcc dot gnu.org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53323



--- Comment #7 from Eric Botcazou ebotcazou at gcc dot gnu.org 2013-03-23 
12:41:46 UTC ---

 ... or have a compiler generate incorrect code. (NB, in this case I accept 
 that

 it may well be the check that's wrong, not the generated code).



Yes, that's the key point, there are enough internal assertions in the back-end

(which are always enabled) to rule out wrong code generation issues.  See:

  http://gcc.gnu.org/ml/gcc-patches/2013-01/msg00581.html


[Bug ada/53323] assertion failure on indefinite array of controlled objects and storage pools

2013-03-20 Thread simon at pushface dot org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53323



--- Comment #2 from simon at pushface dot org 2013-03-20 09:36:44 UTC ---

Still fails on 4.8.



However: package Indefinite_Dynamic begins



generic

   type Item () is private;

   type Item_Ptr is access Item;

   Storage : in out System.Storage_Pools.Root_Storage_Pool'Class;

   Initial_Size : Positive := 10;

package Indefinite_Dynamic is



and I find that the problem goes away if I move the formal parameters around so

that Storage is the last parameter.


[Bug ada/53323] assertion failure on indefinite array of controlled objects and storage pools

2013-03-20 Thread ebotcazou at gcc dot gnu.org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53323



Eric Botcazou ebotcazou at gcc dot gnu.org changed:



   What|Removed |Added



 Status|UNCONFIRMED |NEW

   Last reconfirmed||2013-03-20

 Ever Confirmed|0   |1



--- Comment #3 from Eric Botcazou ebotcazou at gcc dot gnu.org 2013-03-20 
09:43:27 UTC ---

Confirmed on mainline, but this will compile with the 4.8.0 release.


[Bug ada/53323] assertion failure on indefinite array of controlled objects and storage pools

2013-03-20 Thread simon at pushface dot org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53323



--- Comment #4 from simon at pushface dot org 2013-03-20 17:24:06 UTC ---

(In reply to comment #3)

 Confirmed on mainline, but this will compile with the 4.8.0 release.



So it will (with gcc version 4.8.0 20130320 (prerelease) [gcc-4_8-branch

revision 196828] (GCC)).



Must have been a recent fix, cos it failed with gcc version 4.8.0 20130309

(experimental) [trunk revision 196573] (GCC)!


[Bug ada/53323] assertion failure on indefinite array of controlled objects and storage pools

2013-03-20 Thread ebotcazou at gcc dot gnu.org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53323



--- Comment #5 from Eric Botcazou ebotcazou at gcc dot gnu.org 2013-03-20 
22:00:26 UTC ---

 Must have been a recent fix, cos it failed with gcc version 4.8.0 20130309

 (experimental) [trunk revision 196573] (GCC)!



Sort of, we now disable the front-end assertions on release branches.


[Bug ada/53323] assertion failure on indefinite array of controlled objects and storage pools

2012-05-12 Thread ebotcazou at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53323

Eric Botcazou ebotcazou at gcc dot gnu.org changed:

   What|Removed |Added

 CC||ebotcazou at gcc dot
   ||gnu.org
Summary|Compiler bomb with  |assertion failure on
   |indefinite array of |indefinite array of
   |controlled objects and  |controlled objects and
   |storage pools   |storage pools

--- Comment #1 from Eric Botcazou ebotcazou at gcc dot gnu.org 2012-05-12 
14:47:36 UTC ---
Hopefully the compiler doesn't really bomb by you...