From 92cbddaa2ae10e2cb208067b0fc2871ab81a62bc Mon Sep 17 00:00:00 2001 From: Arnaud Charlet Date: Tue, 12 Oct 2010 11:42:31 +0200 Subject: [multiple changes] 2010-10-12 Robert Dewar * par-endh.adb (Check_End): Don't swallow semicolon or aspects after END RECORD. * sem_attr.adb (Eval_Attribute): Code clean up. 2010-10-12 Robert Dewar * par-ch12.adb (P_Formal_Private_Type_Definition): Improve error messages and recovery for case of out of order Abstract/Tagged/Private keywords. * par-ch3.adb (P_Type_Declaration): Improve error messages and recovery for case of out of order Abstract/Tagged/Private keywords. 2010-10-12 Ed Schonberg * inline.adb (Analyze_Inlined_Bodies): Restrict previous change to case where child unit is main unit of compilation. From-SVN: r165354 --- gcc/ada/par-ch12.adb | 14 ++++++++++++++ 1 file changed, 14 insertions(+) (limited to 'gcc/ada/par-ch12.adb') diff --git a/gcc/ada/par-ch12.adb b/gcc/ada/par-ch12.adb index 81f5e25..20dfde9 100644 --- a/gcc/ada/par-ch12.adb +++ b/gcc/ada/par-ch12.adb @@ -834,6 +834,20 @@ package body Ch12 is Set_Sloc (Def_Node, Token_Ptr); T_Private; + + if Token = Tok_Tagged then -- CODEFIX + Error_Msg_SC ("TAGGED must come before PRIVATE"); + Scan; -- past TAGGED + + elsif Token = Tok_Abstract then -- CODEFIX + Error_Msg_SC ("`ABSTRACT TAGGED` must come before PRIVATE"); + Scan; -- past ABSTRACT + + if Token = Tok_Tagged then + Scan; -- past TAGGED + end if; + end if; + return Def_Node; end P_Formal_Private_Type_Definition; -- cgit v1.1