aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/tree-inline.c5
2 files changed, 10 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index b54a046..a24b9fb 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+2003-04-10 Andrew Haley <aph@redhat.com>
+
+ * tree-inline.c (inlinable_function_p): Disable inlining for
+ synchronized methods.
+
2003-04-09 Steven Bosscher <steven@gcc.gnu.org>
* c-common.h (lang_statement_code_p): Remove declaration.
diff --git a/gcc/tree-inline.c b/gcc/tree-inline.c
index 0131952..22298a0 100644
--- a/gcc/tree-inline.c
+++ b/gcc/tree-inline.c
@@ -981,6 +981,11 @@ inlinable_function_p (fn, id, nolimit)
DECL_INLINE set. */
else if (! DECL_INLINE (fn) && !nolimit)
;
+#ifdef INLINER_FOR_JAVA
+ /* Synchronized methods can't be inlined. This is a bug. */
+ else if (METHOD_SYNCHRONIZED (fn))
+ ;
+#endif /* INLINER_FOR_JAVA */
/* We can't inline functions that are too big. Only allow a single
function to be of MAX_INLINE_INSNS_SINGLE size. Make special
allowance for extern inline functions, though. */