This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug ada/30740] Improper semantics in gnat's compilation of certain expressions involving modular arithmetic
- From: "charlet at gcc dot gnu dot org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 20 May 2008 12:45:40 -0000
- Subject: [Bug ada/30740] Improper semantics in gnat's compilation of certain expressions involving modular arithmetic
- References: <bug-30740-14071@http.gcc.gnu.org/bugzilla/>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- Comment #4 from charlet at gcc dot gnu dot org 2008-05-20 12:45 -------
Subject: Bug 30740
Author: charlet
Date: Tue May 20 12:44:55 2008
New Revision: 135619
URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=135619
Log:
2008-05-20 Robert Dewar <dewar@adacore.com>
PR ada/30740
* einfo.ads, einfo.adb (Non_Binary_Modulus): Applies to all types and
subtypes, always False for non-modular types.
Shared_Var_Assign_Proc (node22) and Shared_Var_Read_Proc (node 15)
entry nodes have been replaced by Shared_Var_Procs_Instance (node22)
for Shared_Storage package.
(Is_RACW_Stub_Type): New entity flag.
* exp_ch4.adb
(Expand_N_Op_Expon): Avoid incorrect optimization of a*(2**b) in the
case where we have a modular type with a non-binary modules.
Comments reformattings.
* sem_intr.adb: Simplify code not that Non_Binary_Modulus applies to
all types.
Modified:
trunk/gcc/ada/einfo.adb
trunk/gcc/ada/einfo.ads
trunk/gcc/ada/exp_ch4.adb
trunk/gcc/ada/sem_intr.adb
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=30740