diff options
author | Robert Dewar <dewar@adacore.com> | 2014-07-30 15:13:23 +0000 |
---|---|---|
committer | Arnaud Charlet <charlet@gcc.gnu.org> | 2014-07-30 17:13:23 +0200 |
commit | 45ec05e18a67b030cfc64802c9261b7ba2e7d34c (patch) | |
tree | e9d7f87f40d20e633debaafad695d3cb50b3a33b /gcc/ada/exp_ch4.adb | |
parent | ad9560ea432c33bdcfdeb5ed16cdb411ced11fbc (diff) | |
download | gcc-45ec05e18a67b030cfc64802c9261b7ba2e7d34c.zip gcc-45ec05e18a67b030cfc64802c9261b7ba2e7d34c.tar.gz gcc-45ec05e18a67b030cfc64802c9261b7ba2e7d34c.tar.bz2 |
gnat_ugn.texi: Minor spelling correction.
2014-07-30 Robert Dewar <dewar@adacore.com>
* gnat_ugn.texi: Minor spelling correction.
* makeutl.adb: Minor code reorganization.
* exp_ch4.adb, exp_aggr.adb, exp_ch3.adb: Minor reformatting.
2014-07-30 Robert Dewar <dewar@adacore.com>
* einfo.ads (Has_Unchecked_Union): Document that this is used
to check for illegal Valid_Scalars attribute references.
* exp_attr.adb (Build_Record_VS_Func): New function
(Expand_N_Attribute_Reference, case Valid_Scalars): Call this
function.
* gnat_rm.texi: Document 'Valid_Scalars cannot be applied to
Unchecked_Union Add note on 'Valid_Scalars generating a lot
of code.
* sem_attr.adb (Analyze_Attribute, case Valid_Scalars): Give
error on attempt to apply Valid_Scalars to Unchecked_Union type.
From-SVN: r213298
Diffstat (limited to 'gcc/ada/exp_ch4.adb')
-rw-r--r-- | gcc/ada/exp_ch4.adb | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/gcc/ada/exp_ch4.adb b/gcc/ada/exp_ch4.adb index 25f5de3..1fb35c1 100644 --- a/gcc/ada/exp_ch4.adb +++ b/gcc/ada/exp_ch4.adb @@ -6164,11 +6164,15 @@ package body Exp_Ch4 is -- messing especially in the packed case, but more importantly bypasses -- some problems in handling this peculiar case, for example, the issue -- of dealing specially with object renamings. - -- This optimization is disabled for CodePeer because it can transform - -- an index-check constraint_error into a range-check constraint_error - -- and CodePeer cares about that distinction. - if Nkind (P) = N_Slice and then not CodePeer_Mode then + if Nkind (P) = N_Slice + + -- This optimization is disabled for CodePeer because it can transform + -- an index-check constraint_error into a range-check constraint_error + -- and CodePeer cares about that distinction. + + and then not CodePeer_Mode + then Rewrite (N, Make_Indexed_Component (Loc, Prefix => Prefix (P), |