From: charlet Date: Mon, 5 Sep 2005 07:59:42 +0000 (+0000) Subject: 2005-09-01 Thomas Quinot X-Git-Tag: upstream/4.9.2~58829 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=d91255814e700c33f1cffa6ddfa71ca0126f02e4;p=platform%2Fupstream%2Flinaro-gcc.git 2005-09-01 Thomas Quinot * sem_ch13.adb (Analyze_Enumeration_Representation_Clause): Reject the clause if the array aggregate is surrounded by parentheses. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@103880 138bc75d-0d04-0410-961f-82ee72b054a4 --- diff --git a/gcc/ada/sem_ch13.adb b/gcc/ada/sem_ch13.adb index 10ae9e3..c158660 100644 --- a/gcc/ada/sem_ch13.adb +++ b/gcc/ada/sem_ch13.adb @@ -1488,6 +1488,14 @@ package body Sem_Ch13 is Error_Msg_N ("enumeration rep clause not allowed for this type", N); return; + -- Check that the expression is a proper aggregate (no parentheses) + + elsif Paren_Count (Aggr) /= 0 then + Error_Msg + ("extra parentheses surrounding aggregate not allowed", + First_Sloc (Aggr)); + return; + -- All tests passed, so set rep clause in place else @@ -1500,10 +1508,6 @@ package body Sem_Ch13 is -- normal expansion activities, and a number of special semantic -- rules apply (including the component type being any integer type) - -- Badent signals that we found some incorrect entries processing - -- the list. The final checks for completeness and ordering are - -- skipped in this case. - Elit := First_Literal (Enumtype); -- First the positional entries if any @@ -1518,9 +1522,12 @@ package body Sem_Ch13 is Val := Static_Integer (Expr); + -- Err signals that we found some incorrect entries processing + -- the list. The final checks for completeness and ordering are + -- skipped in this case. + if Val = No_Uint then Err := True; - elsif Val < Lo or else Hi < Val then Error_Msg_N ("value outside permitted range", Expr); Err := True; @@ -3124,7 +3131,7 @@ package body Sem_Ch13 is New_Reference_To ( Designated_Type (Etype (F)), Loc)))), - Subtype_Mark => + Result_Definition => New_Reference_To (Etyp, Loc)); end Build_Spec;