aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJason Merrill <jason@gcc.gnu.org>2000-04-28 14:22:33 -0400
committerJason Merrill <jason@gcc.gnu.org>2000-04-28 14:22:33 -0400
commitf1f39752d65187341d19c164ba18f6d8c1ce5a6a (patch)
treebb15e77c9dc3b0a30e2491387753b0dcbf0d0ea7
parentbb1ec1d79f93c60072d6df7491af8a8259f21545 (diff)
downloadgcc-f1f39752d65187341d19c164ba18f6d8c1ce5a6a.zip
gcc-f1f39752d65187341d19c164ba18f6d8c1ce5a6a.tar.gz
gcc-f1f39752d65187341d19c164ba18f6d8c1ce5a6a.tar.bz2
toplev.c (rest_of_compilation): Call note_deferral_of_defined_inline_function even if the function can't be inlined.
* toplev.c (rest_of_compilation): Call note_deferral_of_defined_inline_function even if the function can't be inlined. From-SVN: r33515
-rw-r--r--gcc/ChangeLog8
-rw-r--r--gcc/toplev.c9
2 files changed, 15 insertions, 2 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 8eeb6ac..109f812 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,9 @@
+2000-04-28 Jason Merrill <jason@casey.cygnus.com>
+
+ * toplev.c (rest_of_compilation): Call
+ note_deferral_of_defined_inline_function even if the function
+ can't be inlined.
+
2000-04-28 Scott Bambrough <scottb@netwinder.org>
* cpplex.c (_cpp_scan_line): Fix buffer overwrite.
@@ -11426,7 +11432,7 @@ Tue Jan 4 22:30:16 2000 Jeffrey A Law (law@cygnus.com)
(SLOW_UNALIGNED_ACCESS): Define.
(CASE_VECTOR_MODE): Always use 32-bit offsets.
(ASM_FILE_END): Generate 64-bit symbol in 64-bit mode.
- (EXTRA_SECTOIN_FUNCTIONS): Indent .csect pseudo-op.
+ (EXTRA_SECTION_FUNCTIONS): Indent .csect pseudo-op.
(toc_section): Likewise and .toc pseudo-op.
(ASM_DECLARE_FUNCTION): Likewise. Align text more strictly in
64-bit mode.
diff --git a/gcc/toplev.c b/gcc/toplev.c
index 2b26ad1..1f03e3f 100644
--- a/gcc/toplev.c
+++ b/gcc/toplev.c
@@ -2670,6 +2670,14 @@ rest_of_compilation (decl)
|| DECL_EXTERNAL (decl))))
DECL_DEFER_OUTPUT (decl) = 1;
+ if (DECL_INLINE (decl))
+ /* DWARF wants seperate debugging info for abstract and
+ concrete instances of all inline functions, including those
+ declared inline but not inlined, and those inlined even
+ though they weren't declared inline. Conveniently, that's
+ what DECL_INLINE means at this point. */
+ note_deferral_of_defined_inline_function (decl);
+
if (DECL_DEFER_OUTPUT (decl))
{
/* If -Wreturn-type, we have to do a bit of compilation.
@@ -2696,7 +2704,6 @@ rest_of_compilation (decl)
of other functions later in this translation unit. */
TREE_NOTHROW (current_function_decl) = 1;
- note_deferral_of_defined_inline_function (decl);
timevar_push (TV_INTEGRATION);
save_for_inline_nocopy (decl);
timevar_pop (TV_INTEGRATION);