mlib.adb: Minor reformatting
2009-04-22 Robert Dewar <dewar@adacore.com> * mlib.adb: Minor reformatting * sem_aggr.adb: Minor reformatting. Defend against junk aggregate from syntax error. From-SVN: r146562
This commit is contained in:
parent
3b81743f89
commit
6d2a112099
@ -1,3 +1,10 @@
|
|||||||
|
2009-04-22 Robert Dewar <dewar@adacore.com>
|
||||||
|
|
||||||
|
* mlib.adb: Minor reformatting
|
||||||
|
|
||||||
|
* sem_aggr.adb: Minor reformatting. Defend against junk aggregate from
|
||||||
|
syntax error.
|
||||||
|
|
||||||
2009-04-22 Nicolas Setton <setton@adacore.com>
|
2009-04-22 Nicolas Setton <setton@adacore.com>
|
||||||
|
|
||||||
* link.c: Add flag __gnat_separate_run_path_options.
|
* link.c: Add flag __gnat_separate_run_path_options.
|
||||||
|
@ -450,7 +450,6 @@ package body MLib is
|
|||||||
Separate_Paths : Boolean;
|
Separate_Paths : Boolean;
|
||||||
for Separate_Paths'Size use Character'Size;
|
for Separate_Paths'Size use Character'Size;
|
||||||
pragma Import (C, Separate_Paths, "__gnat_separate_run_path_options");
|
pragma Import (C, Separate_Paths, "__gnat_separate_run_path_options");
|
||||||
|
|
||||||
begin
|
begin
|
||||||
return Separate_Paths;
|
return Separate_Paths;
|
||||||
end Separate_Run_Path_Options;
|
end Separate_Run_Path_Options;
|
||||||
|
@ -6,7 +6,7 @@
|
|||||||
-- --
|
-- --
|
||||||
-- B o d y --
|
-- B o d y --
|
||||||
-- --
|
-- --
|
||||||
-- Copyright (C) 1992-2008, Free Software Foundation, Inc. --
|
-- Copyright (C) 1992-2009, Free Software Foundation, Inc. --
|
||||||
-- --
|
-- --
|
||||||
-- GNAT is free software; you can redistribute it and/or modify it under --
|
-- 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- --
|
-- terms of the GNU General Public License as published by the Free Soft- --
|
||||||
@ -896,6 +896,15 @@ package body Sem_Aggr is
|
|||||||
-- which is the subtype of the context in which the aggregate was found.
|
-- which is the subtype of the context in which the aggregate was found.
|
||||||
|
|
||||||
begin
|
begin
|
||||||
|
-- Ignore junk empty aggregate resulting from parser error
|
||||||
|
|
||||||
|
if No (Expressions (N))
|
||||||
|
and then No (Component_Associations (N))
|
||||||
|
and then not Null_Record_Present (N)
|
||||||
|
then
|
||||||
|
return;
|
||||||
|
end if;
|
||||||
|
|
||||||
-- Check for aggregates not allowed in configurable run-time mode.
|
-- Check for aggregates not allowed in configurable run-time mode.
|
||||||
-- We allow all cases of aggregates that do not come from source,
|
-- We allow all cases of aggregates that do not come from source,
|
||||||
-- since these are all assumed to be small (e.g. bounds of a string
|
-- since these are all assumed to be small (e.g. bounds of a string
|
||||||
@ -1504,6 +1513,15 @@ package body Sem_Aggr is
|
|||||||
-- Start of processing for Resolve_Array_Aggregate
|
-- Start of processing for Resolve_Array_Aggregate
|
||||||
|
|
||||||
begin
|
begin
|
||||||
|
-- Ignore junk empty aggregate resulting from parser error
|
||||||
|
|
||||||
|
if No (Expressions (N))
|
||||||
|
and then No (Component_Associations (N))
|
||||||
|
and then not Null_Record_Present (N)
|
||||||
|
then
|
||||||
|
return False;
|
||||||
|
end if;
|
||||||
|
|
||||||
-- STEP 1: make sure the aggregate is correctly formatted
|
-- STEP 1: make sure the aggregate is correctly formatted
|
||||||
|
|
||||||
if Present (Component_Associations (N)) then
|
if Present (Component_Associations (N)) then
|
||||||
@ -2171,13 +2189,12 @@ package body Sem_Aggr is
|
|||||||
then
|
then
|
||||||
A_Type := Etype (Imm_Type);
|
A_Type := Etype (Imm_Type);
|
||||||
return True;
|
return True;
|
||||||
|
|
||||||
else
|
else
|
||||||
Imm_Type := Etype (Base_Type (Imm_Type));
|
Imm_Type := Etype (Base_Type (Imm_Type));
|
||||||
end if;
|
end if;
|
||||||
end loop;
|
end loop;
|
||||||
|
|
||||||
-- If previous loop did not find a proper ancestor, report error.
|
-- If previous loop did not find a proper ancestor, report error
|
||||||
|
|
||||||
Error_Msg_NE ("expect ancestor type of &", A, Typ);
|
Error_Msg_NE ("expect ancestor type of &", A, Typ);
|
||||||
return False;
|
return False;
|
||||||
|
Loading…
Reference in New Issue
Block a user