summaryrefslogtreecommitdiff
path: root/gcc/ada/sem.adb
diff options
context:
space:
mode:
authorcharlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4>2009-04-20 12:30:25 +0000
committercharlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4>2009-04-20 12:30:25 +0000
commit8713f96dad5ccc6f38dd5d3ae8342b6fd4a1bd77 (patch)
treeaeac84e846faee6687e9981c8ff36e2387111a9e /gcc/ada/sem.adb
parent23a5bb7280291cec91d30adc15e091aaa7f280a4 (diff)
downloadgcc-8713f96dad5ccc6f38dd5d3ae8342b6fd4a1bd77.tar.gz
2009-04-20 Ed Schonberg <schonberg@adacore.com>
* rtsfind.adb (RTE, RTE_Record_Component): In Configurable_Run_Time_Mode, do not enable front-end inlining. 2009-04-20 Thomas Quinot <quinot@adacore.com> * g-socthi-vms.adb: Remove now unnecessary WITH clause on System.Address_To_Access_Conversions. 2009-04-20 Ed Schonberg <schonberg@adacore.com> * sem.adb: Guard against ill-formed subunits. 2009-04-20 Hristian Kirtchev <kirtchev@adacore.com> * a-calfor.adb (Image): Subtract 0.5 from the sub second component only when it is positive. This avoids a potential constraint error raised by the conversion to Natural. 2009-04-20 Thomas Quinot <quinot@adacore.com> * einfo.ads: Minor comment rewording * sem_aggr.adb: Minor comment rewording * sem_ch3.adb, sem_ch6.adb: Minor reformatting 2009-04-20 Pascal Obry <obry@adacore.com> * adaint.c (__gnat_is_readable_file): Check for file existence when not using ACL (always the case on remote drives). git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@146405 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/ada/sem.adb')
-rw-r--r--gcc/ada/sem.adb6
1 files changed, 4 insertions, 2 deletions
diff --git a/gcc/ada/sem.adb b/gcc/ada/sem.adb
index 5e2fa1bdbd0..ce3cb4c73ca 100644
--- a/gcc/ada/sem.adb
+++ b/gcc/ada/sem.adb
@@ -1401,13 +1401,15 @@ package body Sem is
-- Comp_Unit_List, if appropriate. This is done after analysis, so if
-- this unit depends on some others, they have already been
-- appended. We ignore bodies, except for the main unit itself, and
- -- everything those bodies depend upon.
+ -- everything those bodies depend upon. We have also to guard against
+ -- ill-formed subunits that have an improper context.
if Ignore_Comp_Units then
Do_Analyze;
pragma Assert (Ignore_Comp_Units); -- still
- elsif Nkind (Unit (Comp_Unit)) in N_Proper_Body
+ elsif Present (Comp_Unit)
+ and then Nkind (Unit (Comp_Unit)) in N_Proper_Body
and then not In_Extended_Main_Source_Unit (Comp_Unit)
then
Ignore_Comp_Units := True;