aboutsummaryrefslogtreecommitdiff
path: root/gcc/ada/sprint.adb
diff options
context:
space:
mode:
authorPierre-Marie de Rodat <pmderodat@gcc.gnu.org>2017-12-15 13:23:10 +0000
committerPierre-Marie de Rodat <pmderodat@gcc.gnu.org>2017-12-15 13:23:10 +0000
commitfc47ef60c5d11d0302a4f4831080fde792430781 (patch)
tree314bd05a71b7dee5b2a1f3437beb78d1bd842c0d /gcc/ada/sprint.adb
parent71d6a38638e4188974703d3d4ffeeedb1295a70c (diff)
downloadgcc-fc47ef60c5d11d0302a4f4831080fde792430781.zip
gcc-fc47ef60c5d11d0302a4f4831080fde792430781.tar.gz
gcc-fc47ef60c5d11d0302a4f4831080fde792430781.tar.bz2
[multiple changes]
2017-12-15 Hristian Kirtchev <kirtchev@adacore.com> * sem_prag.adb (Analyze_Initialization_Item): Remove the specialized processing for a null initialization item. Such an item is always illegal. 2017-12-15 Bob Duff <duff@adacore.com> * types.ads, types.h, libgnat/a-except.adb, exp_ch11.adb (PE_Build_In_Place_Mismatch): New reason code for raising when the BIPalloc formal parameter is incorrect. This can happen if a compiler bug causes a mismatch of build-in-place between caller and callee. * exp_ch6.adb (Expand_N_Extended_Return_Statement): Use PE_Build_In_Place_Mismatch. 2017-12-15 Ed Schonberg <schonberg@adacore.com> * exp_ch4.ads, exp_ch4.adb (Expand_N_Reduction_Expression): New procedure. * exp_util.adb (Insert_Actions): Handle N_Reduction_Expression. * expander.adb (Expand): Call Expand_N_Reduction_Expression * par-ch4.adb (P_Reduction_Expression): New procedure. (P_Iterated_Component_Assoc_Or_Reduction): New precedure, extension of P_Iterated_Component_Association. (OK_Reduction_Expression_Parameter): New procedure. (P_Aggregate_Or_Paren_Expr): Improve error message for malformed delta aggregate. * sem.adb (Analyze): Call Analyze_Reduction_Expression and Analyze_Reduction_Expression_Parameter * sinfo.ads, sinfo.adb: New node kinds N_Reduction_Expression and N_Reduction_Expression_Parameter. * sem_ch4.ads, sem_ch4.adb (Analyze_Reduction_Expression, Analyze_Reduction_Expression_Parameter): New procedures. * sem_res.adb (Resolve): Handle Reduction_Expression and Reduction_Expression_Parameter * sem_spark.adb: Dummy entries for Reduction_Expression and Reduction_Expression_Parameter * sprint.adb (Sprint_Node_Actual): Print Reduction_Expression, Reduction_Expression_Parameter From-SVN: r255693
Diffstat (limited to 'gcc/ada/sprint.adb')
-rw-r--r--gcc/ada/sprint.adb22
1 files changed, 22 insertions, 0 deletions
diff --git a/gcc/ada/sprint.adb b/gcc/ada/sprint.adb
index 428e91a..e8a2993 100644
--- a/gcc/ada/sprint.adb
+++ b/gcc/ada/sprint.adb
@@ -3110,6 +3110,28 @@ package body Sprint is
Sprint_Indented_List (Component_Clauses (Node));
Write_Indent_Str ("end record;");
+ when N_Reduction_Expression =>
+ Write_Str (" for");
+
+ if Present (Iterator_Specification (Node)) then
+ Sprint_Node (Iterator_Specification (Node));
+ else
+ Sprint_Node (Loop_Parameter_Specification (Node));
+ end if;
+
+ Write_Str (" => ");
+ Sprint_Node (Expression (Node));
+ null;
+
+ when N_Reduction_Expression_Parameter =>
+ Write_Char ('<');
+
+ if Present (Expression (Node)) then
+ Sprint_Node (Expression (Node));
+ end if;
+
+ Write_Char ('>');
+
when N_Reference =>
Sprint_Node (Prefix (Node));
Write_Str_With_Col_Check_Sloc ("'reference");