diff options
author | Javier Miranda <miranda@adacore.com> | 2014-08-01 10:29:51 +0000 |
---|---|---|
committer | Arnaud Charlet <charlet@gcc.gnu.org> | 2014-08-01 12:29:51 +0200 |
commit | 0f345950ec4144742c56a93aea07ada593e03788 (patch) | |
tree | ee2abb0a430b9515856a52a22f84ff7947cdb508 | |
parent | b330e3c8662dc2a2214d96f15c66ae7b42dfdecd (diff) | |
download | gcc-0f345950ec4144742c56a93aea07ada593e03788.zip gcc-0f345950ec4144742c56a93aea07ada593e03788.tar.gz gcc-0f345950ec4144742c56a93aea07ada593e03788.tar.bz2 |
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
-rw-r--r-- | gcc/ada/ChangeLog | 7 | ||||
-rw-r--r-- | gcc/ada/debug.adb | 20 | ||||
-rw-r--r-- | gcc/ada/exp_ch6.adb | 7 | ||||
-rw-r--r-- | gcc/ada/gnat1drv.adb | 9 |
4 files changed, 25 insertions, 18 deletions
diff --git a/gcc/ada/ChangeLog b/gcc/ada/ChangeLog index a147c91..27fe80f 100644 --- a/gcc/ada/ChangeLog +++ b/gcc/ada/ChangeLog @@ -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, diff --git a/gcc/ada/debug.adb b/gcc/ada/debug.adb index e2ab02e..3c36e5d 100644 --- a/gcc/ada/debug.adb +++ b/gcc/ada/debug.adb @@ -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 diff --git a/gcc/ada/exp_ch6.adb b/gcc/ada/exp_ch6.adb index 50bc11a..44488fb 100644 --- a/gcc/ada/exp_ch6.adb +++ b/gcc/ada/exp_ch6.adb @@ -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); diff --git a/gcc/ada/gnat1drv.adb b/gcc/ada/gnat1drv.adb index 536c321..4650548b 100644 --- a/gcc/ada/gnat1drv.adb +++ b/gcc/ada/gnat1drv.adb @@ -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 |