aboutsummaryrefslogtreecommitdiff
path: root/gcc/ada
diff options
context:
space:
mode:
authorEric Botcazou <ebotcazou@adacore.com>2021-08-12 21:45:33 +0200
committerPierre-Marie de Rodat <derodat@adacore.com>2021-10-01 06:13:38 +0000
commitf54be415c18a2cfb37152ed55666c7e766404e4e (patch)
treef643efc7d11bb630044f06091ebfde9495274ac5 /gcc/ada
parent302563cf1ba92b0872341f5064260d6799e9e963 (diff)
downloadgcc-f54be415c18a2cfb37152ed55666c7e766404e4e.zip
gcc-f54be415c18a2cfb37152ed55666c7e766404e4e.tar.gz
gcc-f54be415c18a2cfb37152ed55666c7e766404e4e.tar.bz2
[Ada] Add new debug switch -gnatd.8
gcc/ada/ * debug.adb (d.8): Document usage. * fe.h (Debug_Flag_Dot_8): Declare.
Diffstat (limited to 'gcc/ada')
-rw-r--r--gcc/ada/debug.adb6
-rw-r--r--gcc/ada/fe.h2
2 files changed, 7 insertions, 1 deletions
diff --git a/gcc/ada/debug.adb b/gcc/ada/debug.adb
index a7cdfae..2c07e94 100644
--- a/gcc/ada/debug.adb
+++ b/gcc/ada/debug.adb
@@ -210,7 +210,7 @@ package body Debug is
-- d.5 Do not generate imported subprogram definitions in C code
-- d.6 Do not avoid declaring unreferenced types in C code
-- d.7 Disable unsound heuristics in gnat2scil (for CP as SPARK prover)
- -- d.8
+ -- d.8 Disable unconditional inlining of expression functions
-- d.9 Disable build-in-place for nonlimited types
-- d_1
@@ -1105,6 +1105,10 @@ package body Debug is
-- issues (e.g., assuming that a low bound of an array parameter
-- of an unconstrained subtype belongs to the index subtype).
+ -- d.8 By default calls to expression functions are always inlined.
+ -- This debug flag turns off this behavior, making them subject
+ -- to the usual inlining heuristics of the code generator.
+
-- d.9 Disable build-in-place for function calls returning nonlimited
-- types.
diff --git a/gcc/ada/fe.h b/gcc/ada/fe.h
index 488e811..957f40b 100644
--- a/gcc/ada/fe.h
+++ b/gcc/ada/fe.h
@@ -61,10 +61,12 @@ extern void Compiler_Abort (String_Pointer, String_Pointer, Boolean) ATTRIBUTE_N
#define Debug_Flag_Dot_KK debug__debug_flag_dot_kk
#define Debug_Flag_Dot_R debug__debug_flag_dot_r
+#define Debug_Flag_Dot_8 debug__debug_flag_dot_8
#define Debug_Flag_NN debug__debug_flag_nn
extern Boolean Debug_Flag_Dot_KK;
extern Boolean Debug_Flag_Dot_R;
+extern Boolean Debug_Flag_Dot_8;
extern Boolean Debug_Flag_NN;
/* einfo: */