aboutsummaryrefslogtreecommitdiff
path: root/gcc/ada/bcheck.adb
diff options
context:
space:
mode:
authorArnaud Charlet <charlet@gcc.gnu.org>2014-07-18 11:05:04 +0200
committerArnaud Charlet <charlet@gcc.gnu.org>2014-07-18 11:05:04 +0200
commitb3b26ace90c59e56d59edeffd8ea7f73b07097af (patch)
tree0cf2f23c15136334abbb91e7669863ba1839f2cc /gcc/ada/bcheck.adb
parent537b531270c1c41918d3781c151fe38bb8c63c50 (diff)
[multiple changes]
2014-07-18 Robert Dewar <dewar@adacore.com> * bcheck.adb (Check_Consistent_Restrictions): Remove obsolete code checking for violation of No_Standard_Allocators_After_Elaboration (main program) * bindgen.adb (Gen_Adainit): Handle No_Standard_Allocators_After_Elaboration (Gen_Output_File_Ada): ditto. * exp_ch4.adb (Expand_N_Allocator): Handle No_Standard_Allocators_After_Elaboration. * Makefile.rtl: Add entry for s-elaall * rtsfind.ads: Add entry for Check_Standard_Allocator. * s-elaall.ads, s-elaall.adb: New files. * sem_ch4.adb (Analyze_Allocator): Handle No_Standard_Allocators_After_Elaboration. 2014-07-18 Robert Dewar <dewar@adacore.com> * lib.adb, lib.ads, lib-writ.adb, lib-writ.ads, ali.adb, ali.ads, lib-load.adb: Remove Lib.Has_Allocator and all uses. Remove AB parameter from ali files and all uses. Remove Allocator_In_Body and all uses. 2014-07-18 Robert Dewar <dewar@adacore.com> * g-expect-vms.adb: Add comment. 2014-07-18 Thomas Quinot <quinot@adacore.com> * par_sco.adb (Is_Logical_Operation): return True for N_If_Expression. 2014-07-18 Ed Schonberg <schonberg@adacore.com> * sem_attr.adb (Resolve_Attribute, case 'Update): Do full analysis and resolution of each choice in the associations within the argument of Update, because they may be variable names. 2014-07-18 Hristian Kirtchev <kirtchev@adacore.com> * exp_attr.adb (Expand_Loop_Entry_Attribute): Insert any condition actions before the generated if statement. 2014-07-18 Hristian Kirtchev <kirtchev@adacore.com> * gnat_ugn.texi Enhance the documentation of switches -gnateA and -gnateV. 2014-07-18 Ed Schonberg <schonberg@adacore.com> * sem_util.adb (Build_Default_Subtype): Add missing condition so that code matches description: use the full view of the base only if the base is private and the subtype is not. From-SVN: r212779
Diffstat (limited to 'gcc/ada/bcheck.adb')
-rw-r--r--gcc/ada/bcheck.adb29
1 files changed, 13 insertions, 16 deletions
diff --git a/gcc/ada/bcheck.adb b/gcc/ada/bcheck.adb
index fec69598cc7..0e81ee650e9 100644
--- a/gcc/ada/bcheck.adb
+++ b/gcc/ada/bcheck.adb
@@ -6,7 +6,7 @@
-- --
-- B o d y --
-- --
--- Copyright (C) 1992-2013, Free Software Foundation, Inc. --
+-- Copyright (C) 1992-2014, 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- --
@@ -923,21 +923,18 @@ package body Bcheck is
-- Start of processing for Check_Consistent_Restrictions
begin
- -- A special test, if we have a main program, then if it has an
- -- allocator in the body, this is considered to be a violation of
- -- the restriction No_Allocators_After_Elaboration. We just mark
- -- this restriction and then the normal circuit will flag it.
-
- if Bind_Main_Program
- and then ALIs.Table (ALIs.First).Main_Program /= None
- and then not No_Main_Subprogram
- and then ALIs.Table (ALIs.First).Allocator_In_Body
- then
- Cumulative_Restrictions.Violated
- (No_Standard_Allocators_After_Elaboration) := True;
- ALIs.Table (ALIs.First).Restrictions.Violated
- (No_Standard_Allocators_After_Elaboration) := True;
- end if;
+ -- We used to have a special test here:
+
+ -- A special test, if we have a main program, then if it has an
+ -- allocator in the body, this is considered to be a violation of
+ -- the restriction No_Allocators_After_Elaboration. We just mark
+ -- this restriction and then the normal circuit will flag it.
+
+ -- But we don't do that any more, because in the final version of Ada
+ -- 2012, it is statically illegal to have an allocator in a library-
+ -- level subprogram, so we don't need this bind time test any more.
+ -- If we have a main program with parameters (which GNAT allows), then
+ -- allocators in that will be caught by the run-time check.
-- Loop through all restriction violations