sem_ch13.adb (Alignment_Error): Removed.

2016-05-02  Hristian Kirtchev  <kirtchev@adacore.com>

	* sem_ch13.adb (Alignment_Error): Removed.
	(Get_Alignment_Value): Code cleanup.

From-SVN: r235733
This commit is contained in:
Hristian Kirtchev 2016-05-02 10:06:45 +00:00 committed by Arnaud Charlet
parent 32b794c81a
commit 51122913ce
2 changed files with 22 additions and 24 deletions

View File

@ -1,3 +1,8 @@
2016-05-02 Hristian Kirtchev <kirtchev@adacore.com>
* sem_ch13.adb (Alignment_Error): Removed.
(Get_Alignment_Value): Code cleanup.
2016-05-02 Tristan Gingold <gingold@adacore.com>
* sem_ch3.adb (Analyze_Object_Declaration): Use Has_Protected

View File

@ -11551,36 +11551,21 @@ package body Sem_Ch13 is
-------------------------
function Get_Alignment_Value (Expr : Node_Id) return Uint is
procedure Alignment_Error;
-- Issue an error concerning a negatize or zero alignment represented by
-- expression Expr.
---------------------
-- Alignment_Error --
---------------------
procedure Alignment_Error is
begin
-- This error is suppressed in ASIS mode to allow for different ASIS
-- back-ends or ASIS-based tools to query the illegal clause.
if not ASIS_Mode then
Error_Msg_N ("alignment value must be positive", Expr);
end if;
end Alignment_Error;
-- Local variables
Align : constant Uint := Static_Integer (Expr);
-- Start of processing for Get_Alignment_Value
begin
if Align = No_Uint then
return No_Uint;
elsif Align <= 0 then
Alignment_Error;
-- This error is suppressed in ASIS mode to allow for different ASIS
-- back-ends or ASIS-based tools to query the illegal clause.
if not ASIS_Mode then
Error_Msg_N ("alignment value must be positive", Expr);
end if;
return No_Uint;
else
@ -11592,7 +11577,15 @@ package body Sem_Ch13 is
exit when M = Align;
if M > Align then
Alignment_Error;
-- This error is suppressed in ASIS mode to allow for
-- different ASIS back-ends or ASIS-based tools to query the
-- illegal clause.
if not ASIS_Mode then
Error_Msg_N ("alignment value must be power of 2", Expr);
end if;
return No_Uint;
end if;
end;