From a1d43205ff34b8f7d68a19b957a86f2c8e28618a Mon Sep 17 00:00:00 2001 From: amker Date: Mon, 10 Dec 2018 06:54:02 +0000 Subject: [PATCH] * auto-profile.c (string_table::get_index_by_decl) (function_instance::get_function_instance_by_decl): Avoid infinite recursion by using DECL_FROM_INLINE. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@266942 138bc75d-0d04-0410-961f-82ee72b054a4 --- gcc/ChangeLog | 6 ++++++ gcc/auto-profile.c | 4 ++-- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 3711cf8ed9ab..6ac767e78175 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2018-12-10 Bin Cheng + + * auto-profile.c (string_table::get_index_by_decl) + (function_instance::get_function_instance_by_decl): Avoid infinite + recursion by using DECL_FROM_INLINE. + 2018-12-09 John David Anglin * config.gcc (hppa*-*-linux*): Add pa/t-pa to tmake_file. Define diff --git a/gcc/auto-profile.c b/gcc/auto-profile.c index f7ba32c30ac2..9316f4c477b9 100644 --- a/gcc/auto-profile.c +++ b/gcc/auto-profile.c @@ -470,7 +470,7 @@ string_table::get_index_by_decl (tree decl) const ret = get_index (lang_hooks.dwarf_name (decl, 0)); if (ret != -1) return ret; - if (DECL_ABSTRACT_ORIGIN (decl) && DECL_ABSTRACT_ORIGIN (decl) != decl) + if (DECL_FROM_INLINE (decl)) return get_index_by_decl (DECL_ABSTRACT_ORIGIN (decl)); return -1; @@ -537,7 +537,7 @@ function_instance::get_function_instance_by_decl (unsigned lineno, if (ret != callsites.end ()) return ret->second; } - if (DECL_ABSTRACT_ORIGIN (decl)) + if (DECL_FROM_INLINE (decl)) return get_function_instance_by_decl (lineno, DECL_ABSTRACT_ORIGIN (decl)); return NULL; -- 2.47.2