gnat1drv.adb (Adjust_Global_Switches): Reverse meaning of -gnatd.z.

2014-08-01  Javier Miranda  <miranda@adacore.com>

	* gnat1drv.adb (Adjust_Global_Switches): Reverse meaning of
	-gnatd.z.
	* debug.adb: Updating documentation.
	* exp_ch6.adb (Expand_Call): Remove assertion.

From-SVN: r213452
This commit is contained in:
Javier Miranda 2014-08-01 10:29:51 +00:00 committed by Arnaud Charlet
parent b330e3c866
commit 0f345950ec
4 changed files with 25 additions and 18 deletions

View File

@ -1,3 +1,10 @@
2014-08-01 Javier Miranda <miranda@adacore.com>
* gnat1drv.adb (Adjust_Global_Switches): Reverse meaning of
-gnatd.z.
* debug.adb: Updating documentation.
* exp_ch6.adb (Expand_Call): Remove assertion.
2014-08-01 Robert Dewar <dewar@adacore.com>
* sem_aggr.adb, sem_ch3.adb, sem_ch5.adb, sem_util.adb,

View File

@ -116,7 +116,7 @@ package body Debug is
-- d.w Do not check for infinite loops
-- d.x No exception handlers
-- d.y
-- d.z Enable new support for backend inlining
-- d.z Disable support for back end inlining
-- d.A Read/write Aspect_Specifications hash table to tree
-- d.B
@ -582,16 +582,14 @@ package body Debug is
-- fully compiled and analyzed, they just get eliminated from the
-- code generation step.
-- d.z Enable back end inlining on targets that have the GCC backend (ie.
-- all targets except AAMP, .NET and JVM). This switch has no effect
-- under GNATprove to avoid confusing the formal verification output,
-- and it has no effect if the sources are compiled with frontend
-- inlining (ie. -gnatN). This switch is used to evaluate the impact
-- of back end inlining since the GCC backend has now more support for
-- inlining than before, and hence most of the inlinings that are
-- currently handled by the frontend can be done by the backend with
-- the extra benefit of supporting cases which are currently rejected
-- by GNAT.
-- d.z Disable back end inlining. Back end inlining is enabled by default
-- on targets that have the GCC backend (ie. all targets except AAMP,
-- .NET and JVM). Back end inlining has no effect under GNATprove to
-- avoid confusing the formal verification output, and it is disabled
-- if the sources are compiled with frontend inlining (ie. -gnatN) to
-- minimize the output differences to customers still using this
-- deprecated switch. The flag .z facilitates disabling the back end
-- inlining in case of unexpected problems.
-- d.A There seems to be a problem with ASIS if we activate the circuit
-- for reading and writing the aspect specification hash table, so

View File

@ -3929,12 +3929,11 @@ package body Exp_Ch6 is
Add_Inlined_Body (Subp);
Register_Backend_Call (Call_Node);
-- Frontend expands supported functions returning unconstrained types
-- Frontend expansion of supported functions returning unconstrained
-- types and simple renamings inlined by the frontend (see Freeze.
-- Build_Renamed_Entity).
else
pragma Assert (Ekind (Subp) = E_Function
and then Returns_Unconstrained_Type (Subp));
declare
Spec : constant Node_Id := Unit_Declaration_Node (Subp);

View File

@ -602,13 +602,16 @@ procedure Gnat1drv is
and then not GNATprove_Mode
-- No back end inlining if front end inlining explicitly enabled?
-- No back end inlining if front end inlining explicitly enabled.
-- Done to minimize the output differences to customers still using
-- this deprecated switch; in addition, this behavior reduces the
-- output differences in old tests.
and then not Front_End_Inlining
-- For now, we only enable back end inlining if debug flag .z is set
-- Back end inlining is disabled if debug flag .z is set
and then Debug_Flag_Dot_Z;
and then not Debug_Flag_Dot_Z;
-- Output warning if -gnateE specified and cannot be supported