aboutsummaryrefslogtreecommitdiff
path: root/gcc/fortran
diff options
context:
space:
mode:
authorThomas Koenig <tkoenig@gcc.gnu.org>2020-06-29 23:11:06 +0200
committerGiuliano Belinassi <giuliano.belinassi@usp.br>2020-08-17 13:15:26 -0300
commitb164aff5fb6365151dc89e790b89bb67cca46400 (patch)
tree6c56ca8f0e2d0d205c6318093820e0847b3021bc /gcc/fortran
parente339fa0236ea01cf1d689da9fa012882d783a63f (diff)
downloadgcc-b164aff5fb6365151dc89e790b89bb67cca46400.zip
gcc-b164aff5fb6365151dc89e790b89bb67cca46400.tar.gz
gcc-b164aff5fb6365151dc89e790b89bb67cca46400.tar.bz2
Do not generate recursion check for compiler-generated procedures.
This one-line fix removes a check for recursion for procedures which are compiler-generated, such as finalizers or deallocation. These need to be recursive, even if the user code should not be. gcc/fortran/ChangeLog: PR fortran/95743 * trans-decl.c (gfc_generate_function_code): Do not generate recursion check for compiler-generated procedures.
Diffstat (limited to 'gcc/fortran')
-rw-r--r--gcc/fortran/trans-decl.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/gcc/fortran/trans-decl.c b/gcc/fortran/trans-decl.c
index e10122e..769ab20 100644
--- a/gcc/fortran/trans-decl.c
+++ b/gcc/fortran/trans-decl.c
@@ -6789,7 +6789,7 @@ gfc_generate_function_code (gfc_namespace * ns)
|| (sym->attr.entry_master
&& sym->ns->entries->sym->attr.recursive);
if ((gfc_option.rtcheck & GFC_RTCHECK_RECURSION)
- && !is_recursive && !flag_recursive)
+ && !is_recursive && !flag_recursive && !sym->attr.artificial)
{
char * msg;