aboutsummaryrefslogtreecommitdiff
path: root/gcc/ada/validsw.adb
diff options
context:
space:
mode:
authorArnaud Charlet <charlet@gcc.gnu.org>2012-10-01 10:37:25 +0200
committerArnaud Charlet <charlet@gcc.gnu.org>2012-10-01 10:37:25 +0200
commite8dde8759781d78310905ed3c2fb8b78e84964a9 (patch)
treeefe1cf74cc286ad84a604fb33d2a19a2672b1970 /gcc/ada/validsw.adb
parent7bd76b9c7aeff03ae44113a0b69404e7d7d9662c (diff)
downloadgcc-e8dde8759781d78310905ed3c2fb8b78e84964a9.zip
gcc-e8dde8759781d78310905ed3c2fb8b78e84964a9.tar.gz
gcc-e8dde8759781d78310905ed3c2fb8b78e84964a9.tar.bz2
[multiple changes]
2012-10-01 Vincent Pucci <pucci@adacore.com> * system-solaris-sparcv9.ads, system-mingw.ads, system-vms_64.ads: Flag Support_Atomic_Primitives set to True. 2012-10-01 Robert Dewar <dewar@adacore.com> * impunit.adb: Ada.Locales is a language defined unit. 2012-10-01 Hristian Kirtchev <kirtchev@adacore.com> * checks.adb (Apply_Parameter_Aliasing_Checks): Removed. (Apply_Parameter_Aliasing_And_Validity_Checks): New routine. (Apply_Parameter_Validity_Checks): Removed. * checks.ads (Apply_Parameter_Aliasing_Checks): Removed. (Apply_Parameter_Aliasing_And_Validity_Checks): New routine. (Apply_Parameter_Validity_Checks): Removed. * exp_ch6.adb (Expand_Call): Remove the generation of parameter aliasing checks. * freeze.adb: Remove with and use clauses for Validsw. (Freeze_Entity): Update the guard and generation of aliasing and scalar initialization checks for subprogram parameters. * opt.ads: Add new flags Check_Aliasing_Of_Parameters and Check_Validity_Of_Parameters along with comments on usage. * sem_attr.adb (Analyze_Attribute): Pragma Overlaps_Storage is no longer an Ada 2012 feature. * sem_ch4.adb: Remove with and use clauses for Checks and Validsw. (Analyze_Call): Remove the generation of aliasing checks for subprogram parameters. * sem_ch13.adb: Remove with and use clauses for Validsw. (Analyze_Aspect_Specifications): Remove the generation of scalar initialization checks. * switch-c.adb (Scan_Front_End_Switches): Add processing for -gnateA and -gnateV. * usage.adb (Usage): Add information on switches -gnateA and -gnateV. Remove information on validity switches 'l', 'L', 'v' and 'V'. * validsw.adb (Reset_Validity_Check_Options): Remove the reset of flags Validity_Check_Non_Overlapping_Params and Validity_Check_Valid_Scalars_On_Params. (Save_Validity_Check_Options): Remove the processing for flags Validity_Check_Non_Overlapping_Params and Validity_Check_Valid_Scalars_On_Params. (Set_Validity_Check_Options): Remove the processing for flags Validity_Check_Non_Overlapping_Params and Validity_Check_Valid_Scalars_On_Params. * validsw.ads: Remove flags Validity_Check_Non_Overlapping_Params and Validity_Check_Valid_Scalars_On_Params along with their comments on usage. From-SVN: r191900
Diffstat (limited to 'gcc/ada/validsw.adb')
-rw-r--r--gcc/ada/validsw.adb136
1 files changed, 55 insertions, 81 deletions
diff --git a/gcc/ada/validsw.adb b/gcc/ada/validsw.adb
index 2edd0c0..b37825e 100644
--- a/gcc/ada/validsw.adb
+++ b/gcc/ada/validsw.adb
@@ -33,18 +33,16 @@ package body Validsw is
procedure Reset_Validity_Check_Options is
begin
- Validity_Check_Components := False;
- Validity_Check_Copies := False;
- Validity_Check_Default := True;
- Validity_Check_Floating_Point := False;
- Validity_Check_In_Out_Params := False;
- Validity_Check_In_Params := False;
- Validity_Check_Non_Overlapping_Params := False;
- Validity_Check_Operands := False;
- Validity_Check_Returns := False;
- Validity_Check_Subscripts := False;
- Validity_Check_Tests := False;
- Validity_Check_Valid_Scalars_On_Params := False;
+ Validity_Check_Components := False;
+ Validity_Check_Copies := False;
+ Validity_Check_Default := True;
+ Validity_Check_Floating_Point := False;
+ Validity_Check_In_Out_Params := False;
+ Validity_Check_In_Params := False;
+ Validity_Check_Operands := False;
+ Validity_Check_Returns := False;
+ Validity_Check_Subscripts := False;
+ Validity_Check_Tests := False;
end Reset_Validity_Check_Options;
---------------------------------
@@ -80,13 +78,11 @@ package body Validsw is
Add ('e', Validity_Check_Components);
Add ('f', Validity_Check_Floating_Point);
Add ('i', Validity_Check_In_Params);
- Add ('l', Validity_Check_Non_Overlapping_Params);
Add ('m', Validity_Check_In_Out_Params);
Add ('o', Validity_Check_Operands);
Add ('r', Validity_Check_Returns);
Add ('s', Validity_Check_Subscripts);
Add ('t', Validity_Check_Tests);
- Add ('v', Validity_Check_Valid_Scalars_On_Params);
end Save_Validity_Check_Options;
----------------------------------------
@@ -137,119 +133,97 @@ package body Validsw is
case C is
when 'c' =>
- Validity_Check_Copies := True;
+ Validity_Check_Copies := True;
when 'd' =>
- Validity_Check_Default := True;
+ Validity_Check_Default := True;
when 'e' =>
- Validity_Check_Components := True;
+ Validity_Check_Components := True;
when 'f' =>
- Validity_Check_Floating_Point := True;
+ Validity_Check_Floating_Point := True;
when 'i' =>
- Validity_Check_In_Params := True;
-
- when 'l' =>
- Validity_Check_Non_Overlapping_Params := True;
+ Validity_Check_In_Params := True;
when 'm' =>
- Validity_Check_In_Out_Params := True;
+ Validity_Check_In_Out_Params := True;
when 'o' =>
- Validity_Check_Operands := True;
+ Validity_Check_Operands := True;
when 'p' =>
- Validity_Check_Parameters := True;
+ Validity_Check_Parameters := True;
when 'r' =>
- Validity_Check_Returns := True;
+ Validity_Check_Returns := True;
when 's' =>
- Validity_Check_Subscripts := True;
+ Validity_Check_Subscripts := True;
when 't' =>
- Validity_Check_Tests := True;
-
- when 'v' =>
- Validity_Check_Valid_Scalars_On_Params := True;
+ Validity_Check_Tests := True;
when 'C' =>
- Validity_Check_Copies := False;
+ Validity_Check_Copies := False;
when 'D' =>
- Validity_Check_Default := False;
+ Validity_Check_Default := False;
when 'E' =>
- Validity_Check_Components := False;
+ Validity_Check_Components := False;
when 'F' =>
- Validity_Check_Floating_Point := False;
+ Validity_Check_Floating_Point := False;
when 'I' =>
- Validity_Check_In_Params := False;
-
- when 'L' =>
- Validity_Check_Non_Overlapping_Params := False;
+ Validity_Check_In_Params := False;
when 'M' =>
- Validity_Check_In_Out_Params := False;
+ Validity_Check_In_Out_Params := False;
when 'O' =>
- Validity_Check_Operands := False;
+ Validity_Check_Operands := False;
when 'P' =>
- Validity_Check_Parameters := False;
+ Validity_Check_Parameters := False;
when 'R' =>
- Validity_Check_Returns := False;
+ Validity_Check_Returns := False;
when 'S' =>
- Validity_Check_Subscripts := False;
+ Validity_Check_Subscripts := False;
when 'T' =>
- Validity_Check_Tests := False;
-
- when 'V' =>
- Validity_Check_Valid_Scalars_On_Params := False;
-
- -- Note: The following two flags are not set when "-gnatVa" is in
- -- effect because the associated checks are deemed too aggressive.
-
- -- Validity_Check_Non_Overlapping_Params
- -- Validity_Check_Valid_Scalars_On_Params
-
- -- and in any case these do not belong as validity checks ???
+ Validity_Check_Tests := False;
when 'a' =>
- Validity_Check_Components := True;
- Validity_Check_Copies := True;
- Validity_Check_Default := True;
- Validity_Check_Floating_Point := True;
- Validity_Check_In_Out_Params := True;
- Validity_Check_In_Params := True;
- Validity_Check_Operands := True;
- Validity_Check_Parameters := True;
- Validity_Check_Returns := True;
- Validity_Check_Subscripts := True;
- Validity_Check_Tests := True;
+ Validity_Check_Components := True;
+ Validity_Check_Copies := True;
+ Validity_Check_Default := True;
+ Validity_Check_Floating_Point := True;
+ Validity_Check_In_Out_Params := True;
+ Validity_Check_In_Params := True;
+ Validity_Check_Operands := True;
+ Validity_Check_Parameters := True;
+ Validity_Check_Returns := True;
+ Validity_Check_Subscripts := True;
+ Validity_Check_Tests := True;
when 'n' =>
- Validity_Check_Components := False;
- Validity_Check_Copies := False;
- Validity_Check_Default := False;
- Validity_Check_Floating_Point := False;
- Validity_Check_In_Out_Params := False;
- Validity_Check_In_Params := False;
- Validity_Check_Non_Overlapping_Params := False;
- Validity_Check_Operands := False;
- Validity_Check_Parameters := False;
- Validity_Check_Returns := False;
- Validity_Check_Subscripts := False;
- Validity_Check_Tests := False;
- Validity_Check_Valid_Scalars_On_Params := False;
- Validity_Checks_On := False;
+ Validity_Check_Components := False;
+ Validity_Check_Copies := False;
+ Validity_Check_Default := False;
+ Validity_Check_Floating_Point := False;
+ Validity_Check_In_Out_Params := False;
+ Validity_Check_In_Params := False;
+ Validity_Check_Operands := False;
+ Validity_Check_Parameters := False;
+ Validity_Check_Returns := False;
+ Validity_Check_Subscripts := False;
+ Validity_Check_Tests := False;
+ Validity_Checks_On := False;
when ' ' =>
null;