Commit 3d918396 by Arnaud Charlet

[multiple changes]

2013-07-08  Robert Dewar  <dewar@adacore.com>

	* gnatcmd.adb: Minor reformatting.

2013-07-08  Robert Dewar  <dewar@adacore.com>

	* targparm.adb (Get_Target_Parameters): Recognize pragma
	Partition_Elaboration_Policy.

2013-07-08  Robert Dewar  <dewar@adacore.com>

	* gnat_ugn.texi: Minor update to mention partition elaboration policy.

2013-07-08  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch4.adb (Comple_Object_Operation): Revert previous change.
	(Analyze_Indexed_Component_Form): In ASIS mode, if node has been
	transformed but not rewritten as a function call (as is the case
	in a generic), analyze it as such.

2013-07-08  Thomas Quinot  <quinot@adacore.com>

	* gnat_rm.texi: Minor rewording: add missing word "operators"
	in documentation for restriction No_Direct_Boolean_Operator.

2013-07-08  Robert Dewar  <dewar@adacore.com>

	* errout.adb (Set_Msg_Txt): No longer sets Is_Style_Msg,
	Is_Warning_Msg, or Is_Unconditional_Msg (all are set elsewhere
	now).
	* errout.ads: Insertions ! and !! no longer have to be at the
	end of the message, they can be anywhere in the message.
	* erroutc.adb (Test_Style_Warning_Serious_Unconditional_Msg):
	Replaces Test_Style_Warning_Serious_Msg
	* erroutc.ads (Has_Double_Exclam): New flag New comments for
	existing flags (Test_Style_Warning_Serious_Unconditional_Msg):
	Replaces Test_Style_Warning_Serious_Msg
	* errutil.adb (Test_Style_Warning_Serious_Unconditional_Msg):
	Replaces Test_Style_Warning_Serious_Msg

From-SVN: r200765
parent 6480338a
2013-07-08 Robert Dewar <dewar@adacore.com> 2013-07-08 Robert Dewar <dewar@adacore.com>
* gnatcmd.adb: Minor reformatting.
2013-07-08 Robert Dewar <dewar@adacore.com>
* targparm.adb (Get_Target_Parameters): Recognize pragma
Partition_Elaboration_Policy.
2013-07-08 Robert Dewar <dewar@adacore.com>
* gnat_ugn.texi: Minor update to mention partition elaboration policy.
2013-07-08 Ed Schonberg <schonberg@adacore.com>
* sem_ch4.adb (Comple_Object_Operation): Revert previous change.
(Analyze_Indexed_Component_Form): In ASIS mode, if node has been
transformed but not rewritten as a function call (as is the case
in a generic), analyze it as such.
2013-07-08 Thomas Quinot <quinot@adacore.com>
* gnat_rm.texi: Minor rewording: add missing word "operators"
in documentation for restriction No_Direct_Boolean_Operator.
2013-07-08 Robert Dewar <dewar@adacore.com>
* errout.adb (Set_Msg_Txt): No longer sets Is_Style_Msg,
Is_Warning_Msg, or Is_Unconditional_Msg (all are set elsewhere
now).
* errout.ads: Insertions ! and !! no longer have to be at the
end of the message, they can be anywhere in the message.
* erroutc.adb (Test_Style_Warning_Serious_Unconditional_Msg):
Replaces Test_Style_Warning_Serious_Msg
* erroutc.ads (Has_Double_Exclam): New flag New comments for
existing flags (Test_Style_Warning_Serious_Unconditional_Msg):
Replaces Test_Style_Warning_Serious_Msg
* errutil.adb (Test_Style_Warning_Serious_Unconditional_Msg):
Replaces Test_Style_Warning_Serious_Msg
2013-07-08 Robert Dewar <dewar@adacore.com>
* par-prag.adb (Process_Restrictions_Or_Restriction_Warnings): * par-prag.adb (Process_Restrictions_Or_Restriction_Warnings):
Recognize SPARK_05 as synonym for SPARK in restrictions pragma. Recognize SPARK_05 as synonym for SPARK in restrictions pragma.
* restrict.ads, restrict.adb (SPARK_Hides): Table moved to body, only * restrict.ads, restrict.adb (SPARK_Hides): Table moved to body, only
......
...@@ -153,8 +153,7 @@ package body Errout is ...@@ -153,8 +153,7 @@ package body Errout is
-- be one of the special insertion characters (see documentation in spec). -- be one of the special insertion characters (see documentation in spec).
-- Flag is the location at which the error is to be posted, which is used -- Flag is the location at which the error is to be posted, which is used
-- to determine whether or not the # insertion needs a file name. The -- to determine whether or not the # insertion needs a file name. The
-- variables Msg_Buffer, Msglen, Is_Style_Msg, Is_Warning_Msg, and -- variables Msg_Buffer are set on return Msglen.
-- Is_Unconditional_Msg are set on return.
procedure Set_Posted (N : Node_Id); procedure Set_Posted (N : Node_Id);
-- Sets the Error_Posted flag on the given node, and all its parents -- Sets the Error_Posted flag on the given node, and all its parents
...@@ -283,7 +282,7 @@ package body Errout is ...@@ -283,7 +282,7 @@ package body Errout is
-- Start of processing for new message -- Start of processing for new message
Sindex := Get_Source_File_Index (Flag_Location); Sindex := Get_Source_File_Index (Flag_Location);
Test_Style_Warning_Serious_Msg (Msg); Test_Style_Warning_Serious_Unconditional_Msg (Msg);
Orig_Loc := Original_Location (Flag_Location); Orig_Loc := Original_Location (Flag_Location);
-- If the current location is in an instantiation, the issue arises of -- If the current location is in an instantiation, the issue arises of
...@@ -726,7 +725,7 @@ package body Errout is ...@@ -726,7 +725,7 @@ package body Errout is
if Suppress_Message if Suppress_Message
and then not All_Errors_Mode and then not All_Errors_Mode
and then not Is_Warning_Msg and then not Is_Warning_Msg
and then Msg (Msg'Last) /= '!' and then not Is_Unconditional_Msg
then then
if not Continuation then if not Continuation then
Last_Killed := True; Last_Killed := True;
...@@ -787,9 +786,9 @@ package body Errout is ...@@ -787,9 +786,9 @@ package body Errout is
elsif Debug_Flag_GG then elsif Debug_Flag_GG then
null; null;
-- Keep warning if message text ends in !! -- Keep warning if message text contains !!
elsif Msg (Msg'Last) = '!' and then Msg (Msg'Last - 1) = '!' then elsif Has_Double_Exclam then
null; null;
-- Here is where we delete a warning from a with'ed unit -- Here is where we delete a warning from a with'ed unit
...@@ -1123,7 +1122,7 @@ package body Errout is ...@@ -1123,7 +1122,7 @@ package body Errout is
return; return;
end if; end if;
Test_Style_Warning_Serious_Msg (Msg); Test_Style_Warning_Serious_Unconditional_Msg (Msg);
-- Special handling for warning messages -- Special handling for warning messages
...@@ -1163,7 +1162,7 @@ package body Errout is ...@@ -1163,7 +1162,7 @@ package body Errout is
-- Test for message to be output -- Test for message to be output
if All_Errors_Mode if All_Errors_Mode
or else Msg (Msg'Last) = '!' or else Is_Unconditional_Msg
or else Is_Warning_Msg or else Is_Warning_Msg
or else OK_Node (N) or else OK_Node (N)
or else (Msg (Msg'First) = '\' and then not Last_Killed) or else (Msg (Msg'First) = '\' and then not Last_Killed)
...@@ -2711,7 +2710,6 @@ package body Errout is ...@@ -2711,7 +2710,6 @@ package body Errout is
begin begin
Manual_Quote_Mode := False; Manual_Quote_Mode := False;
Is_Unconditional_Msg := False;
Msglen := 0; Msglen := 0;
Flag_Source := Get_Source_File_Index (Flag); Flag_Source := Get_Source_File_Index (Flag);
...@@ -2776,7 +2774,7 @@ package body Errout is ...@@ -2776,7 +2774,7 @@ package body Errout is
Set_Msg_Char ('"'); Set_Msg_Char ('"');
when '!' => when '!' =>
Is_Unconditional_Msg := True; null; -- already dealt with
when '?' => when '?' =>
Set_Msg_Insertion_Warning; Set_Msg_Insertion_Warning;
......
...@@ -101,10 +101,9 @@ package Errout is ...@@ -101,10 +101,9 @@ package Errout is
-- messages. Warning messages are only suppressed for case 1, and -- messages. Warning messages are only suppressed for case 1, and
-- when they come from other than the main extended unit. -- when they come from other than the main extended unit.
-- This normal suppression action may be overridden in cases 2-5 (but not -- This normal suppression action may be overridden in cases 2-5 (but
-- in case 1) by setting All_Errors mode, or by setting the special -- not in case 1) by setting All_Errors mode, or by setting the special
-- unconditional message insertion character (!) at the end of the message -- unconditional message insertion character (!) as described below.
-- text as described below.
--------------------------------------------------------- ---------------------------------------------------------
-- Error Message Text and Message Insertion Characters -- -- Error Message Text and Message Insertion Characters --
...@@ -230,7 +229,7 @@ package Errout is ...@@ -230,7 +229,7 @@ package Errout is
-- name is defined, this insertion character has no effect. -- name is defined, this insertion character has no effect.
-- Insertion character ! (Exclamation: unconditional message) -- Insertion character ! (Exclamation: unconditional message)
-- The character ! appearing as the last character of a message makes -- The character ! appearing anywhere in the text of a message makes
-- the message unconditional which means that it is output even if it -- the message unconditional which means that it is output even if it
-- would normally be suppressed. See section above for a description -- would normally be suppressed. See section above for a description
-- of the cases in which messages are normally suppressed. Note that -- of the cases in which messages are normally suppressed. Note that
...@@ -249,7 +248,7 @@ package Errout is ...@@ -249,7 +248,7 @@ package Errout is
-- Insertion character !! (Double exclamation: unconditional warning) -- Insertion character !! (Double exclamation: unconditional warning)
-- Normally warning messages issued in other than the main unit are -- Normally warning messages issued in other than the main unit are
-- suppressed. If the message ends with !! then this suppression is -- suppressed. If the message contains !! then this suppression is
-- avoided. This is currently used by the Compile_Time_Warning pragma -- avoided. This is currently used by the Compile_Time_Warning pragma
-- to ensure the message for a with'ed unit is output, and for warnings -- to ensure the message for a with'ed unit is output, and for warnings
-- on ineffective back-end inlining, which is detected in units that -- on ineffective back-end inlining, which is detected in units that
......
...@@ -1226,22 +1226,24 @@ package body Erroutc is ...@@ -1226,22 +1226,24 @@ package body Erroutc is
-- Test_Style_Warning_Serious_Msg -- -- Test_Style_Warning_Serious_Msg --
------------------------------------ ------------------------------------
procedure Test_Style_Warning_Serious_Msg (Msg : String) is procedure Test_Style_Warning_Serious_Unconditional_Msg (Msg : String) is
begin begin
-- Nothing to do for continuation line
if Msg (Msg'First) = '\' then if Msg (Msg'First) = '\' then
return; return;
end if; end if;
Is_Serious_Error := True; -- Set initial values of globals (may be changed during scan)
Is_Warning_Msg := False;
Is_Serious_Error := True;
Is_Unconditional_Msg := False;
Is_Warning_Msg := False;
Has_Double_Exclam := False;
Is_Style_Msg := Is_Style_Msg :=
(Msg'Length > 7 and then Msg (Msg'First .. Msg'First + 6) = "(style)"); (Msg'Length > 7 and then Msg (Msg'First .. Msg'First + 6) = "(style)");
if Is_Style_Msg then
Is_Serious_Error := False;
end if;
for J in Msg'Range loop for J in Msg'Range loop
if Msg (J) = '?' if Msg (J) = '?'
and then (J = Msg'First or else Msg (J - 1) /= ''') and then (J = Msg'First or else Msg (J - 1) /= ''')
...@@ -1249,6 +1251,16 @@ package body Erroutc is ...@@ -1249,6 +1251,16 @@ package body Erroutc is
Is_Warning_Msg := True; Is_Warning_Msg := True;
Warning_Msg_Char := ' '; Warning_Msg_Char := ' ';
elsif Msg (J) = '!'
and then (J = Msg'First or else Msg (J - 1) /= ''')
then
Is_Unconditional_Msg := True;
Warning_Msg_Char := ' ';
if J < Msg'Last and then Msg (J + 1) = '!' then
Has_Double_Exclam := True;
end if;
elsif Msg (J) = '<' elsif Msg (J) = '<'
and then (J = Msg'First or else Msg (J - 1) /= ''') and then (J = Msg'First or else Msg (J - 1) /= ''')
then then
...@@ -1265,7 +1277,7 @@ package body Erroutc is ...@@ -1265,7 +1277,7 @@ package body Erroutc is
if Is_Warning_Msg or Is_Style_Msg then if Is_Warning_Msg or Is_Style_Msg then
Is_Serious_Error := False; Is_Serious_Error := False;
end if; end if;
end Test_Style_Warning_Serious_Msg; end Test_Style_Warning_Serious_Unconditional_Msg;
-------------------------------- --------------------------------
-- Validate_Specific_Warnings -- -- Validate_Specific_Warnings --
......
...@@ -6,7 +6,7 @@ ...@@ -6,7 +6,7 @@
-- -- -- --
-- S p e c -- -- S p e c --
-- -- -- --
-- Copyright (C) 1992-2012, Free Software Foundation, Inc. -- -- Copyright (C) 1992-2013, Free Software Foundation, Inc. --
-- -- -- --
-- GNAT is free software; you can redistribute it and/or modify it under -- -- GNAT is free software; you can redistribute it and/or modify it under --
-- terms of the GNU General Public License as published by the Free Soft- -- -- terms of the GNU General Public License as published by the Free Soft- --
...@@ -47,8 +47,20 @@ package Erroutc is ...@@ -47,8 +47,20 @@ package Erroutc is
Flag_Source : Source_File_Index; Flag_Source : Source_File_Index;
-- Source file index for source file where error is being posted -- Source file index for source file where error is being posted
Has_Double_Exclam : Boolean := False;
-- Set true to indicate that the current message contains the insertion
-- sequence !! (force warnings even in non-main unit source files).
Is_Serious_Error : Boolean := False;
-- Set True for a serious error (i.e. any message that is not a warning
-- or style message, and that does not contain a | insertion character).
Is_Unconditional_Msg : Boolean := False;
-- Set True to indicate that the current message contains the insertion
-- character ! and is thus to be treated as an unconditional message.
Is_Warning_Msg : Boolean := False; Is_Warning_Msg : Boolean := False;
-- Set True to indicate if current message is warning message -- Set True to indicate if current message is warning message (contains ?)
Warning_Msg_Char : Character; Warning_Msg_Char : Character;
-- Warning character, valid only if Is_Warning_Msg is True -- Warning character, valid only if Is_Warning_Msg is True
...@@ -61,12 +73,6 @@ package Erroutc is ...@@ -61,12 +73,6 @@ package Erroutc is
-- Set True to indicate if the current message is a style message -- Set True to indicate if the current message is a style message
-- (i.e. a message whose text starts with the characters "(style)"). -- (i.e. a message whose text starts with the characters "(style)").
Is_Serious_Error : Boolean := False;
-- Set by Set_Msg_Text to indicate if current message is serious error
Is_Unconditional_Msg : Boolean := False;
-- Set by Set_Msg_Text to indicate if current message is unconditional
Kill_Message : Boolean := False; Kill_Message : Boolean := False;
-- A flag used to kill weird messages (e.g. those containing uninterpreted -- A flag used to kill weird messages (e.g. those containing uninterpreted
-- implicit type references) if we have already seen at least one message -- implicit type references) if we have already seen at least one message
...@@ -490,14 +496,26 @@ package Erroutc is ...@@ -490,14 +496,26 @@ package Erroutc is
-- Called in response to a pragma Warnings (On) to record the source -- Called in response to a pragma Warnings (On) to record the source
-- location from which warnings are to be turned back on. -- location from which warnings are to be turned back on.
procedure Test_Style_Warning_Serious_Msg (Msg : String); procedure Test_Style_Warning_Serious_Unconditional_Msg (Msg : String);
-- Sets Is_Warning_Msg true if Msg is a warning message (contains a -- Scans message text and sets the following variables:
-- question mark character), and False otherwise. Is_Style_Msg is set true --
-- if Msg is a style message (starts with "(style)". Sets Is_Serious_Error -- Is_Warning_Msg is set True if Msg is a warning message (contains a
-- True unless the message is a warning or style/info message or contains -- question mark character), and False otherwise.
-- the character | indicating a non-serious error message. Note that the --
-- call has no effect for continuation messages (those whose first -- Is_Style_Msg is set True if Msg is a style message (starts with
-- character is '\'). -- "(style)") and False otherwise.
--
-- Is_Serious_Error is set to True unless the message is a warning or
-- style message or contains the character | (non-serious error).
--
-- Is_Unconditional_Msg is set True if the message contains the character
-- ! and is otherwise set False.
--
-- Has_Double_Exclam is set True if the message contains the sequence !!
-- and is otherwise set False.
--
-- Note that the call has no effect for continuation messages (those whose
-- first character is '\'), and all variables are left unchanged.
function Warnings_Suppressed (Loc : Source_Ptr) return Boolean; function Warnings_Suppressed (Loc : Source_Ptr) return Boolean;
-- Determines if given location is covered by a warnings off suppression -- Determines if given location is covered by a warnings off suppression
......
...@@ -6,7 +6,7 @@ ...@@ -6,7 +6,7 @@
-- -- -- --
-- B o d y -- -- B o d y --
-- -- -- --
-- Copyright (C) 1991-2012, Free Software Foundation, Inc. -- -- Copyright (C) 1991-2013, Free Software Foundation, Inc. --
-- -- -- --
-- GNAT is free software; you can redistribute it and/or modify it under -- -- GNAT is free software; you can redistribute it and/or modify it under --
-- terms of the GNU General Public License as published by the Free Soft- -- -- terms of the GNU General Public License as published by the Free Soft- --
...@@ -163,9 +163,9 @@ package body Errutil is ...@@ -163,9 +163,9 @@ package body Errutil is
-- Corresponds to the Sptr value in the error message object -- Corresponds to the Sptr value in the error message object
Optr : Source_Ptr renames Flag_Location; Optr : Source_Ptr renames Flag_Location;
-- Corresponds to the Optr value in the error message object. Note -- Corresponds to the Optr value in the error message object. Note that
-- that for this usage, Sptr and Optr always have the same value, -- for this usage, Sptr and Optr always have the same value, since we do
-- since we do not have to worry about generic instantiations. -- not have to worry about generic instantiations.
begin begin
if Errors_Must_Be_Ignored then if Errors_Must_Be_Ignored then
...@@ -176,7 +176,7 @@ package body Errutil is ...@@ -176,7 +176,7 @@ package body Errutil is
raise Error_Msg_Exception; raise Error_Msg_Exception;
end if; end if;
Test_Style_Warning_Serious_Msg (Msg); Test_Style_Warning_Serious_Unconditional_Msg (Msg);
Set_Msg_Text (Msg, Sptr); Set_Msg_Text (Msg, Sptr);
-- Kill continuation if parent message killed -- Kill continuation if parent message killed
...@@ -680,8 +680,8 @@ package body Errutil is ...@@ -680,8 +680,8 @@ package body Errutil is
------------------ ------------------
procedure Set_Msg_Text (Text : String; Flag : Source_Ptr) is procedure Set_Msg_Text (Text : String; Flag : Source_Ptr) is
C : Character; -- Current character C : Character; -- Current character
P : Natural; -- Current index; P : Natural; -- Current index;
begin begin
Manual_Quote_Mode := False; Manual_Quote_Mode := False;
...@@ -744,7 +744,7 @@ package body Errutil is ...@@ -744,7 +744,7 @@ package body Errutil is
Set_Msg_Char ('"'); Set_Msg_Char ('"');
elsif C = '!' then elsif C = '!' then
Is_Unconditional_Msg := True; null;
elsif C = '?' then elsif C = '?' then
null; null;
......
...@@ -9066,11 +9066,11 @@ dependence on a library unit. ...@@ -9066,11 +9066,11 @@ dependence on a library unit.
@node No_Direct_Boolean_Operators @node No_Direct_Boolean_Operators
@unnumberedsubsec No_Direct_Boolean_Operators @unnumberedsubsec No_Direct_Boolean_Operators
@findex No_Direct_Boolean_Operators @findex No_Direct_Boolean_Operators
[GNAT] This restriction ensures that no logical (and/or/xor) are used on [GNAT] This restriction ensures that no logical operators (and/or/xor)
operands of type Boolean (or any type derived are used on operands of type Boolean (or any type derived from Boolean).
from Boolean). This is intended for use in safety critical programs This is intended for use in safety critical programs where the certification
where the certification protocol requires the use of short-circuit protocol requires the use of short-circuit (and then, or else) forms for all
(and then, or else) forms for all composite boolean operations. composite boolean operations.
@node No_Dispatch @node No_Dispatch
@unnumberedsubsec No_Dispatch @unnumberedsubsec No_Dispatch
......
...@@ -17251,6 +17251,7 @@ The pragmas listed below should be used with caution inside libraries, ...@@ -17251,6 +17251,7 @@ The pragmas listed below should be used with caution inside libraries,
as they can create incompatibilities with other Ada libraries: as they can create incompatibilities with other Ada libraries:
@itemize @bullet @itemize @bullet
@item pragma @code{Locking_Policy} @item pragma @code{Locking_Policy}
@item pragma @code{Partition_Elaboration_Policy}
@item pragma @code{Queuing_Policy} @item pragma @code{Queuing_Policy}
@item pragma @code{Task_Dispatching_Policy} @item pragma @code{Task_Dispatching_Policy}
@item pragma @code{Unreserve_All_Interrupts} @item pragma @code{Unreserve_All_Interrupts}
...@@ -406,14 +406,14 @@ procedure GNATCmd is ...@@ -406,14 +406,14 @@ procedure GNATCmd is
end if; end if;
end loop; end loop;
-- If all arguments are switches and there is no switch -files=, add -- If all arguments are switches and there is no switch -files=, add the
-- the path names of all the sources of the main project. -- path names of all the sources of the main project.
if Add_Sources then if Add_Sources then
-- For gnatcheck, gnatpp, and gnatmetric, create a temporary file -- For gnatcheck, gnatpp, and gnatmetric, create a temporary file and
-- and put the list of sources in it. For gnatstack create a -- put the list of sources in it. For gnatstack create a temporary
-- temporary file with the list of .ci files. -- file with the list of .ci files.
if The_Command = Check or else if The_Command = Check or else
The_Command = Pretty or else The_Command = Pretty or else
......
...@@ -2472,10 +2472,22 @@ package body Sem_Ch4 is ...@@ -2472,10 +2472,22 @@ package body Sem_Ch4 is
Process_Function_Call; Process_Function_Call;
elsif Nkind (P) = N_Selected_Component elsif Nkind (P) = N_Selected_Component
and then Present (Entity (Selector_Name (P)))
and then Is_Overloadable (Entity (Selector_Name (P))) and then Is_Overloadable (Entity (Selector_Name (P)))
then then
Process_Function_Call; Process_Function_Call;
-- In ASIS mode within a generic, a prefixed call is analyzed and
-- partially rewritten but the original indexed component has not
-- yet been rewritten as a call. Perform the replacement now.
elsif Nkind (P) = N_Selected_Component
and then Nkind (Parent (P)) = N_Function_Call
and then ASIS_Mode
then
Rewrite (N, Parent (P));
Analyze (N);
else else
-- Indexed component, slice, or a call to a member of a family -- Indexed component, slice, or a call to a member of a family
-- entry, which will be converted to an entry call later. -- entry, which will be converted to an entry call later.
...@@ -7202,13 +7214,13 @@ package body Sem_Ch4 is ...@@ -7202,13 +7214,13 @@ package body Sem_Ch4 is
-- though they may be overwritten during resolution if overloaded. -- though they may be overwritten during resolution if overloaded.
-- Perform the same transformation in ASIS mode, because during -- Perform the same transformation in ASIS mode, because during
-- pre-analysis of a pre/post condition the node will not be -- pre-analysis of a pre/post condition the node will not be
-- rewritten as a call. -- rewritten as a call. (is this ASIS comment obsolete ???)
Set_Comes_From_Source (Subprog, Comes_From_Source (N)); Set_Comes_From_Source (Subprog, Comes_From_Source (N));
Set_Comes_From_Source (Call_Node, Comes_From_Source (N)); Set_Comes_From_Source (Call_Node, Comes_From_Source (N));
if Nkind (N) = N_Selected_Component if Nkind (N) = N_Selected_Component
and then (not Inside_A_Generic or ASIS_Mode) and then not Inside_A_Generic
then then
Set_Entity (Selector_Name (N), Entity (Subprog)); Set_Entity (Selector_Name (N), Entity (Subprog));
Set_Etype (Selector_Name (N), Etype (Entity (Subprog))); Set_Etype (Selector_Name (N), Etype (Entity (Subprog)));
......
...@@ -388,6 +388,16 @@ package body Targparm is ...@@ -388,6 +388,16 @@ package body Targparm is
Opt.Init_Or_Norm_Scalars := True; Opt.Init_Or_Norm_Scalars := True;
goto Line_Loop_Continue; goto Line_Loop_Continue;
-- Partition_Elaboration_Policy
elsif System_Text (P .. P + 36) =
"pragma Partition_Elaboration_Policy ("
then
P := P + 37;
Opt.Partition_Elaboration_Policy := System_Text (P);
Opt.Partition_Elaboration_Policy_Sloc := System_Location;
goto Line_Loop_Continue;
-- Polling (On) -- Polling (On)
elsif System_Text (P .. P + 19) = "pragma Polling (On);" then elsif System_Text (P .. P + 19) = "pragma Polling (On);" then
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment