summaryrefslogtreecommitdiff
path: root/gc.c
diff options
context:
space:
mode:
authorakr <akr@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2004-12-20 13:55:00 +0000
committerakr <akr@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2004-12-20 13:55:00 +0000
commit6afa7415c79a6ee080c96c9b299ec58d02611a0d (patch)
treebdbe03fa2960e76d2e323cc34a24e6e78aa54f00 /gc.c
parent8a73532bd86d237cc6314015821a84523b0e2bbf (diff)
gcc noinline attribute is available since gcc-3.1.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@7613 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'gc.c')
-rw-r--r--gc.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/gc.c b/gc.c
index 6259286..9077417 100644
--- a/gc.c
+++ b/gc.c
@@ -432,7 +432,10 @@ static unsigned int STACK_LEVEL_MAX = 655300;
# define STACK_END (&stack_end)
#else
# if defined(__GNUC__) && defined(USE_BUILTIN_FRAME_ADDRESS) && !defined(__ia64__)
-__attribute__ ((noinline)) static VALUE *
+# if ( __GNUC__ == 3 && __GNUC_MINOR__ > 0 ) || __GNUC__ > 3
+__attribute__ ((noinline))
+# endif
+static VALUE *
stack_end_address(void)
{
return (VALUE *)__builtin_frame_address(0);