+2016-06-14 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch12.adb (Analyze_Associations): An actual parameter
+ with a box must be included in the count of actuals, to detect
+ possible superfluous named actuals that do not match any of the
+ formals of the generic unit in a formal package declaration.
+
+2016-06-14 Justin Squirek <squirek@adacore.com>
+
+ * sem_ch3.adb (Analyze_Object_Declaration): Fix formatting
+ of error output related to SPARK RM 6.1.7(3) and pragma
+ Extensions_Visible.
+ * sem_ch4.adb (Analyze_Type_Conversion): Fix formatting of error
+ output related to SPARK RM 6.1.7(3) and pragma Extensions_Visible.
+ * sem_prag.adb (Analyze_Pragma): Fix formatting of error output
+ related to SPARK RM 7.1.2(15) and pragma Volatile_Function
+ so that the values True and False are no longer surrounded by
+ double quotes.
+ * sem_res.adb (Resolve_Actuals): Fix formatting of error output
+ related to SPARK RM 6.1.7(3) and pragma Extensions_Visible.
+
+2016-06-14 Arnaud Charlet <charlet@adacore.com>
+
+ * gnat1drv.adb (Adjust_Global_Switches): Enable access checks
+ in codepeer mode.
+ * freeze.adb: Minor grammar fix in comment.
2016-06-14 Hristian Kirtchev <kirtchev@adacore.com>
* lib.adb: Minor reformatting.
-- Else construct and analyze the body of a wrapper procedure
-- that contains an object declaration to hold the expression.
- -- Given that this is done only to complete the analysis, it
+ -- Given that this is done only to complete the analysis, it is
-- simpler to build a procedure than a function which might
-- involve secondary stack expansion.
-- Enable all other language checks
Suppress_Options.Suppress :=
- (Access_Check => True,
- Alignment_Check => True,
+ (Alignment_Check => True,
Division_Check => True,
Elaboration_Check => True,
others => False);
-- A named association may lack an actual parameter, if it was
-- introduced for a default subprogram that turns out to be local
- -- to the outer instantiation.
+ -- to the outer instantiation. If it has a box association it must
+ -- correspond to some formal in the generic.
if Nkind (Named) /= N_Others_Choice
- and then Present (Explicit_Generic_Actual_Parameter (Named))
+ and then
+ (Present (Explicit_Generic_Actual_Parameter (Named))
+ or else Box_Present (Named))
then
Num_Actuals := Num_Actuals + 1;
end if;
and then Is_EVF_Expression (E)
then
Error_Msg_N
- ("formal parameter with Extensions_Visible False cannot be "
- & "implicitly converted to class-wide type", E);
+ ("formal parameter cannot be implicitly converted to "
+ & "class-wide type when Extensions_Visible is False", E);
end if;
end if;
and then Is_EVF_Expression (Expr)
then
Error_Msg_N
- ("formal parameter with Extensions_Visible False cannot be "
- & "converted to class-wide type", Expr);
+ ("formal parameter cannot be converted to class-wide type when "
+ & "Extensions_Visible is False", Expr);
end if;
end Analyze_Type_Conversion;
Error_Msg_Sloc := Sloc (Over_Id);
Error_Msg_N
- ("\& declared # with Volatile_Function value `False`",
+ ("\& declared # with Volatile_Function value False",
Spec_Id);
Error_Msg_Sloc := Sloc (Spec_Id);
Error_Msg_N
- ("\overridden # with Volatile_Function value `True`",
+ ("\overridden # with Volatile_Function value True",
Spec_Id);
end if;
Extensions_Visible_True
then
Error_Msg_N
- ("formal parameter with Extensions_Visible False cannot act "
- & "as actual parameter", A);
+ ("formal parameter cannot act as actual parameter when "
+ & "Extensions_Visible is False", A);
Error_Msg_NE
("\subprogram & has Extensions_Visible True", A, Nam);
end if;