summaryrefslogtreecommitdiff
path: root/gcc/ada/par-endh.adb
diff options
context:
space:
mode:
authorcharlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4>2007-04-06 09:24:49 +0000
committercharlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4>2007-04-06 09:24:49 +0000
commitcaabd9f9814623b79b182bef0a20f50bd9af0382 (patch)
tree57fdc43089af249b66c36d761b0f245a8f584c8f /gcc/ada/par-endh.adb
parentbdf2dac0859811fd382a7aeef641f1909a5af0a1 (diff)
downloadgcc-caabd9f9814623b79b182bef0a20f50bd9af0382.tar.gz
2007-04-06 Robert Dewar <dewar@adacore.com>
Javier Miranda <miranda@adacore.com> Bob Duff <duff@adacore.com> * par-ch3.adb: (P_Type_Declaration): Set Type_Token_Location (P_Interface_Type_Definition): Remove the formal Is_Synchronized because there is no need to generate always a record_definition_node in case of synchronized interface types. (P_Type_Declaration): Update calls to P_Interface_Type_Definition. (P_Null_Exclusion): For AI-447: Remove warnings about "not null" being illegal in Ada 95, in cases where it is legal. Change the warnings to errors in other cases. Don't give the error unless the "not null" parses properly. Correct the source position at which the error occurs. (P_Known_Discriminant_Part_Opt): Pass Allow_Anonymous_In_95 => True to P_Null_Exclusion, to suppress "not null" warnings. (P_Identifier_Declarations): Code cleanup. Removed unrequired label and associated goto statements. * par-endh.adb (Pop_End_Context): Allow more flexibility in placement of END RECORD * scans.ads (Type_Token_Location): New flag * par-ch6.adb (P_Mode): Check specifically for case of IN ACCESS (P_Formal_Part): Pass Allow_Anonymous_In_95 => True to P_Null_Exclusion, to suppress "not null" warnings. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@123587 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/ada/par-endh.adb')
-rw-r--r--gcc/ada/par-endh.adb7
1 files changed, 7 insertions, 0 deletions
diff --git a/gcc/ada/par-endh.adb b/gcc/ada/par-endh.adb
index a6d5297799a..92f7e9b8375 100644
--- a/gcc/ada/par-endh.adb
+++ b/gcc/ada/par-endh.adb
@@ -1042,6 +1042,13 @@ package body Endh is
if Style.RM_Column_Check then
if End_Column /= Scope.Table (Scope.Last).Ecol
and then Current_Line_Start > Scope.Table (Scope.Last).Sloc
+
+ -- A special case, for END RECORD, we are also allowed to
+ -- line up with the TYPE keyword opening the declaration.
+
+ and then (Scope.Table (Scope.Last).Etyp /= E_Record
+ or else Get_Column_Number (End_Sloc) /=
+ Get_Column_Number (Type_Token_Location))
then
Error_Msg_Col := Scope.Table (Scope.Last).Ecol;
Error_Msg