From dfbc6cbe30524f817b427c19756dd13aecf31d09 Mon Sep 17 00:00:00 2001 From: Arnaud Charlet Date: Wed, 20 Apr 2016 12:31:59 +0200 Subject: [PATCH] [multiple changes] 2016-04-20 Arnaud Charlet * sem_ch9.adb (Analyze_Task_Type_Declaration): Shut down warning in codepeer mode. 2016-04-20 Vincent Celier * make.adb: Code cleanup. 2016-04-20 Arnaud Charlet * exp_ch4.adb (Expand_Allocator_Expression): Help C code generation. From-SVN: r235257 --- gcc/ada/ChangeLog | 14 ++++++++++++++ gcc/ada/exp_ch4.adb | 7 ++++++- gcc/ada/make.adb | 6 ------ gcc/ada/sem_ch9.adb | 1 + 4 files changed, 21 insertions(+), 7 deletions(-) diff --git a/gcc/ada/ChangeLog b/gcc/ada/ChangeLog index 98c7d3f9b6c..b516cbc642d 100644 --- a/gcc/ada/ChangeLog +++ b/gcc/ada/ChangeLog @@ -1,3 +1,17 @@ +2016-04-20 Arnaud Charlet + + * sem_ch9.adb (Analyze_Task_Type_Declaration): Shut down warning + in codepeer mode. + +2016-04-20 Vincent Celier + + * make.adb: Code cleanup. + +2016-04-20 Arnaud Charlet + + * exp_ch4.adb (Expand_Allocator_Expression): Help C code + generation. + 2016-04-20 Hristian Kirtchev * sem_ch12.adb (Copy_Generic_Node): Handle the special diff --git a/gcc/ada/exp_ch4.adb b/gcc/ada/exp_ch4.adb index 3a323b3840b..190664071a3 100644 --- a/gcc/ada/exp_ch4.adb +++ b/gcc/ada/exp_ch4.adb @@ -1281,7 +1281,12 @@ package body Exp_Ch4 is Displace_Allocator_Pointer (N); end if; - elsif Aggr_In_Place then + -- Always force the generation of a temporary for aggregates when + -- generating C code, to simplify the work in the code generator. + + elsif Aggr_In_Place + or else (Generate_C_Code and then Nkind (Exp) = N_Aggregate) + then Temp := Make_Temporary (Loc, 'P', N); Temp_Decl := Make_Object_Declaration (Loc, diff --git a/gcc/ada/make.adb b/gcc/ada/make.adb index 308d4e6cced..a072513a288 100644 --- a/gcc/ada/make.adb +++ b/gcc/ada/make.adb @@ -6506,12 +6506,6 @@ package body Make is Make_Failed ("-i and -D cannot be used simultaneously"); end if; - -- Warn about 'gnatmake -P' - - if Project_File_Name /= null then - Make_Failed ("project file name missing after -P"); - end if; - -- If --subdirs= is specified, but not -P, this is equivalent to -D, -- except that the directory is created if it does not exist. diff --git a/gcc/ada/sem_ch9.adb b/gcc/ada/sem_ch9.adb index bbb801824b1..03c584bba71 100644 --- a/gcc/ada/sem_ch9.adb +++ b/gcc/ada/sem_ch9.adb @@ -3077,6 +3077,7 @@ package body Sem_Ch9 is if Restriction_Check_Required (No_Task_Hierarchy) and then not Is_Library_Level_Entity (T) and then Comes_From_Source (T) + and then not CodePeer_Mode then Error_Msg_Sloc := Restrictions_Loc (No_Task_Hierarchy); -- 2.30.2