summaryrefslogtreecommitdiffstats
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
commite8d9efb12e873e9acd57acff1a095e390706d62d (patch)
treebdbe03fa2960e76d2e323cc34a24e6e78aa54f00
parentb5496948915aa0e5beef1d858c68421eb89d8824 (diff)
downloadruby-e8d9efb12e873e9acd57acff1a095e390706d62d.tar.gz
ruby-e8d9efb12e873e9acd57acff1a095e390706d62d.tar.xz
ruby-e8d9efb12e873e9acd57acff1a095e390706d62d.zip
gcc noinline attribute is available since gcc-3.1.
git-svn-id: http://svn.ruby-lang.org/repos/ruby/branches/ruby_1_8@7613 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r--gc.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/gc.c b/gc.c
index 62592860d..90774177e 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);