aboutsummaryrefslogtreecommitdiff
path: root/gcc/ada/gnat1drv.adb
diff options
context:
space:
mode:
authorArnaud Charlet <charlet@gcc.gnu.org>2015-10-23 14:28:53 +0200
committerArnaud Charlet <charlet@gcc.gnu.org>2015-10-23 14:28:53 +0200
commit2700b9c1ee96244be32ca50533692d14f4b18eef (patch)
tree0cf742fa5af1da89751bbbfb3ac260daceee4651 /gcc/ada/gnat1drv.adb
parent774454ac020f8c6a583393405ff8409d0b2f40fd (diff)
downloadgcc-2700b9c1ee96244be32ca50533692d14f4b18eef.zip
gcc-2700b9c1ee96244be32ca50533692d14f4b18eef.tar.gz
gcc-2700b9c1ee96244be32ca50533692d14f4b18eef.tar.bz2
[multiple changes]
2015-10-23 Arnaud Charlet <charlet@adacore.com> * gnat1drv.adb (Adjust_Global_Switches): Adjust. 2015-10-23 Hristian Kirtchev <kirtchev@adacore.com> * exp_dbug.ads, exp_dbug.adb (Get_External_Name): The special prefix for ignored Ghost entities is now ___ghost_. 2015-10-23 Hristian Kirtchev <kirtchev@adacore.com> * ghost.adb (Is_Subject_To_Ghost): Check the original node when searching for pragma Ghost to catch cases where a source construct has been rewritten into something else. 2015-10-23 Ed Schonberg <schonberg@adacore.com> * einfo.ads, einfo.adb (Rewritten_For_C): New flag on functions that return a constrained array type. When generating C these functions are rewritten as procedures with an out parameter, and calls to such functions are rewritten accordingly. * exp_ch6.adb (Expand_N_Subprogram_Declaration): When Modify_Tree_For_C is set and the function returns a constrained array type, generate a procedure declaration with an additional out parameter. Mark original function as Rewritten_For_C. The new declaration is inserted in tree immediately after current declaration. (Expand_Subprogram_Body): If entity is marked Rewritten_For_C, generate body of corresponding procedure using declarations and statements for function body. Replace return statements with assignments to the out parameter, followed by a simple return statement. (Rewrite_Function_Call_For_C): New procedure to replace a function call that returns an array by a procedure call. From-SVN: r229241
Diffstat (limited to 'gcc/ada/gnat1drv.adb')
-rw-r--r--gcc/ada/gnat1drv.adb6
1 files changed, 5 insertions, 1 deletions
diff --git a/gcc/ada/gnat1drv.adb b/gcc/ada/gnat1drv.adb
index 06f018d..f62b2f3 100644
--- a/gcc/ada/gnat1drv.adb
+++ b/gcc/ada/gnat1drv.adb
@@ -648,7 +648,7 @@ procedure Gnat1drv is
-- back end some day, it would not be true for this test, but it
-- would be non-GCC, so this is a bit troublesome ???
- Front_End_Inlining := AAMP_On_Target;
+ Front_End_Inlining := AAMP_On_Target or Generate_C_Code;
end if;
-- Set back end inlining indication
@@ -659,6 +659,10 @@ procedure Gnat1drv is
not AAMP_On_Target
+ -- No back end inlining available on C generation
+
+ and then not Generate_C_Code
+
-- No back end inlining in GNATprove mode, since it just confuses
-- the formal verification process.