aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorArnaud Charlet <charlet@gcc.gnu.org>2016-04-20 12:31:59 +0200
committerArnaud Charlet <charlet@gcc.gnu.org>2016-04-20 12:31:59 +0200
commitdfbc6cbe30524f817b427c19756dd13aecf31d09 (patch)
tree1450459ed241e29280343492df32a4ee34c18ce6 /gcc
parent06f6c43f5c0d8df09010ec690b237bc62e3b6d02 (diff)
downloadgcc-dfbc6cbe30524f817b427c19756dd13aecf31d09.zip
gcc-dfbc6cbe30524f817b427c19756dd13aecf31d09.tar.gz
gcc-dfbc6cbe30524f817b427c19756dd13aecf31d09.tar.bz2
[multiple changes]
2016-04-20 Arnaud Charlet <charlet@adacore.com> * sem_ch9.adb (Analyze_Task_Type_Declaration): Shut down warning in codepeer mode. 2016-04-20 Vincent Celier <celier@adacore.com> * make.adb: Code cleanup. 2016-04-20 Arnaud Charlet <charlet@adacore.com> * exp_ch4.adb (Expand_Allocator_Expression): Help C code generation. From-SVN: r235257
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ada/ChangeLog14
-rw-r--r--gcc/ada/exp_ch4.adb7
-rw-r--r--gcc/ada/make.adb6
-rw-r--r--gcc/ada/sem_ch9.adb1
4 files changed, 21 insertions, 7 deletions
diff --git a/gcc/ada/ChangeLog b/gcc/ada/ChangeLog
index 98c7d3f..b516cbc 100644
--- a/gcc/ada/ChangeLog
+++ b/gcc/ada/ChangeLog
@@ -1,3 +1,17 @@
+2016-04-20 Arnaud Charlet <charlet@adacore.com>
+
+ * sem_ch9.adb (Analyze_Task_Type_Declaration): Shut down warning
+ in codepeer mode.
+
+2016-04-20 Vincent Celier <celier@adacore.com>
+
+ * make.adb: Code cleanup.
+
+2016-04-20 Arnaud Charlet <charlet@adacore.com>
+
+ * exp_ch4.adb (Expand_Allocator_Expression): Help C code
+ generation.
+
2016-04-20 Hristian Kirtchev <kirtchev@adacore.com>
* sem_ch12.adb (Copy_Generic_Node): Handle the special
diff --git a/gcc/ada/exp_ch4.adb b/gcc/ada/exp_ch4.adb
index 3a323b3..1906640 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 308d4e6..a072513 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 bbb8018..03c584b 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);