diff options
author | charlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4> | 2006-10-31 17:51:20 +0000 |
---|---|---|
committer | charlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4> | 2006-10-31 17:51:20 +0000 |
commit | 0577b0b1ffa590c60a05740d2f2daa895d02db9f (patch) | |
tree | 8695b73eb0545f93e05e9fec3f16298bdbf07da0 /gcc/ada/treepr.adb | |
parent | 0fd75958bf7798f5e6e8c83574da31ca4b48518e (diff) | |
download | gcc-0577b0b1ffa590c60a05740d2f2daa895d02db9f.tar.gz |
2006-10-31 Robert Dewar <dewar@adacore.com>
Ed Schonberg <schonberg@adacore.com>
* treepr.adb: Use new subtype N_Membership_Test
* checks.ads, checks.adb: Add definition for Validity_Check
(Range_Or_Validity_Checks_Suppressed): New function
(Ensure_Valid): Test Validity_Check suppressed
(Insert_Valid_Check): Test Validity_Check suppressed
(Insert_Valid_Check): Preserve Do_Range_Check flag
(Validity_Check_Range): New procedure
(Expr_Known_Valid): Result of membership test is always valid
(Selected_Range_Checks): Range checks cannot be applied to discriminants
by themselves. Disabling those checks must also be done for task types,
where discriminants may be used for the bounds of entry families.
(Apply_Address_Clause_Check): Remove side-effects if address expression
is non-static and is not the name of a declared constant.
(Null_Exclusion_Static_Checks): Extend to handle Function_Specification.
Code cleanup and new error messages.
(Enable_Range_Check): Test for some cases of suppressed checks
(Generate_Index_Checks): Suppress index checks if index checks are
suppressed for array object or array type.
(Apply_Selected_Length_Checks): Give warning for compile-time detected
length check failure, even if checks are off.
(Ensure_Valid): Do not generate a check on an indexed component whose
prefix is a packed boolean array.
* checks.adb: (Alignment_Checks_Suppressed): New function
(Apply_Address_Clause_Check): New procedure, this is a completely
rewritten replacement for Apply_Alignment_Check
(Get_E_Length/Get_E_First_Or_Last): Add missing barrier to ensure that
we request a discriminal value only in case of discriminants.
(Apply_Discriminant_Check): For Ada_05, only call Get_Actual_Subtype for
assignments where the target subtype is unconstrained and the target
object is a parameter or dereference (other aliased cases are known
to be unconstrained).
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@118248 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/ada/treepr.adb')
-rw-r--r-- | gcc/ada/treepr.adb | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/gcc/ada/treepr.adb b/gcc/ada/treepr.adb index aff72a9b95e..492451c60c8 100644 --- a/gcc/ada/treepr.adb +++ b/gcc/ada/treepr.adb @@ -6,7 +6,7 @@ -- -- -- B o d y -- -- -- --- Copyright (C) 1992-2005, Free Software Foundation, Inc. -- +-- Copyright (C) 1992-2006, Free Software Foundation, Inc. -- -- -- -- GNAT is free software; you can redistribute it and/or modify it under -- -- terms of the GNU General Public License as published by the Free Soft- -- @@ -886,9 +886,8 @@ package body Treepr is if Nkind (N) in N_Op or else Nkind (N) = N_And_Then - or else Nkind (N) = N_In - or else Nkind (N) = N_Not_In or else Nkind (N) = N_Or_Else + or else Nkind (N) in N_Membership_Test then -- Print Left_Opnd if present |