aboutsummaryrefslogtreecommitdiff
path: root/gcc/ada/sinfo.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/sinfo.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/sinfo.adb')
-rw-r--r--gcc/ada/sinfo.adb16
1 files changed, 12 insertions, 4 deletions
diff --git a/gcc/ada/sinfo.adb b/gcc/ada/sinfo.adb
index 494b46a..1790b56 100644
--- a/gcc/ada/sinfo.adb
+++ b/gcc/ada/sinfo.adb
@@ -1279,6 +1279,8 @@ package body Sinfo is
or else NT (N).Nkind = N_Qualified_Expression
or else NT (N).Nkind = N_Raise_Expression
or else NT (N).Nkind = N_Raise_Statement
+ or else NT (N).Nkind = N_Reduction_Expression
+ or else NT (N).Nkind = N_Reduction_Expression_Parameter
or else NT (N).Nkind = N_Simple_Return_Statement
or else NT (N).Nkind = N_Type_Conversion
or else NT (N).Nkind = N_Unchecked_Expression
@@ -2223,7 +2225,8 @@ package body Sinfo is
begin
pragma Assert (False
or else NT (N).Nkind = N_Iteration_Scheme
- or else NT (N).Nkind = N_Quantified_Expression);
+ or else NT (N).Nkind = N_Quantified_Expression
+ or else NT (N).Nkind = N_Reduction_Expression);
return Node2 (N);
end Iterator_Specification;
@@ -2353,7 +2356,8 @@ package body Sinfo is
begin
pragma Assert (False
or else NT (N).Nkind = N_Iteration_Scheme
- or else NT (N).Nkind = N_Quantified_Expression);
+ or else NT (N).Nkind = N_Quantified_Expression
+ or else NT (N).Nkind = N_Reduction_Expression);
return Node4 (N);
end Loop_Parameter_Specification;
@@ -4742,6 +4746,8 @@ package body Sinfo is
or else NT (N).Nkind = N_Qualified_Expression
or else NT (N).Nkind = N_Raise_Expression
or else NT (N).Nkind = N_Raise_Statement
+ or else NT (N).Nkind = N_Reduction_Expression
+ or else NT (N).Nkind = N_Reduction_Expression_Parameter
or else NT (N).Nkind = N_Simple_Return_Statement
or else NT (N).Nkind = N_Type_Conversion
or else NT (N).Nkind = N_Unchecked_Expression
@@ -5686,7 +5692,8 @@ package body Sinfo is
begin
pragma Assert (False
or else NT (N).Nkind = N_Iteration_Scheme
- or else NT (N).Nkind = N_Quantified_Expression);
+ or else NT (N).Nkind = N_Quantified_Expression
+ or else NT (N).Nkind = N_Reduction_Expression);
Set_Node2_With_Parent (N, Val);
end Set_Iterator_Specification;
@@ -5816,7 +5823,8 @@ package body Sinfo is
begin
pragma Assert (False
or else NT (N).Nkind = N_Iteration_Scheme
- or else NT (N).Nkind = N_Quantified_Expression);
+ or else NT (N).Nkind = N_Quantified_Expression
+ or else NT (N).Nkind = N_Reduction_Expression);
Set_Node4_With_Parent (N, Val);
end Set_Loop_Parameter_Specification;