summaryrefslogtreecommitdiffstats
path: root/string.c
diff options
context:
space:
mode:
authornobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2008-08-13 15:43:55 +0000
committernobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2008-08-13 15:43:55 +0000
commit9f7fde8d86a4d273be82804d09be82d822664729 (patch)
treee68ca255ed1423ab65fb971871e9b9129d690ae6 /string.c
parent2564ccd5febb4742f7ec1279d9a747ab438160b4 (diff)
downloadruby-9f7fde8d86a4d273be82804d09be82d822664729.tar.gz
ruby-9f7fde8d86a4d273be82804d09be82d822664729.tar.xz
ruby-9f7fde8d86a4d273be82804d09be82d822664729.zip
* configure.in (rb_cv_gcc_function_alias): checks alias attribute.
* string.c (alias_func): replaced with RUBY_ALIAS_FUNCTION. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@18589 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'string.c')
-rw-r--r--string.c24
1 files changed, 8 insertions, 16 deletions
diff --git a/string.c b/string.c
index 27b813e4f..75b6b1ec6 100644
--- a/string.c
+++ b/string.c
@@ -43,14 +43,6 @@
VALUE rb_cString;
VALUE rb_cSymbol;
-#ifdef __GNUC__
-#define alias_func(old_prot, new_name, args) \
-VALUE old_prot __attribute__((weak, alias(#new_name)));
-#else
-#define alias_func(old_prot, new_name, args) \
-VALUE old_prot {return new_name args;}
-#endif
-
#define STR_TMPLOCK FL_USER7
#define STR_NOEMBED FL_USER1
#define STR_SHARED FL_USER2 /* = ELTS_SHARED */
@@ -440,7 +432,7 @@ rb_str_new_cstr(const char *ptr)
return rb_str_new(ptr, strlen(ptr));
}
-alias_func(rb_str_new2(const char *ptr), rb_str_new_cstr, (ptr))
+RUBY_ALIAS_FUNCTION(rb_str_new2(const char *ptr), rb_str_new_cstr, (ptr))
#define rb_str_new2 rb_str_new_cstr
VALUE
@@ -451,7 +443,7 @@ rb_usascii_str_new_cstr(const char *ptr)
return str;
}
-alias_func(rb_usascii_str_new2(const char *ptr), rb_usascii_str_new_cstr, (ptr))
+RUBY_ALIAS_FUNCTION(rb_usascii_str_new2(const char *ptr), rb_usascii_str_new_cstr, (ptr))
#define rb_usascii_str_new2 rb_usascii_str_new_cstr
VALUE
@@ -472,7 +464,7 @@ rb_tainted_str_new_cstr(const char *ptr)
return str;
}
-alias_func(rb_tainted_str_new2(const char *ptr), rb_tainted_str_new_cstr, (ptr))
+RUBY_ALIAS_FUNCTION(rb_tainted_str_new2(const char *ptr), rb_tainted_str_new_cstr, (ptr))
#define rb_tainted_str_new2 rb_tainted_str_new_cstr
static VALUE
@@ -516,7 +508,7 @@ rb_str_new_shared(VALUE str)
return str2;
}
-alias_func(rb_str_new3(VALUE str), rb_str_new_shared, (str))
+RUBY_ALIAS_FUNCTION(rb_str_new3(VALUE str), rb_str_new_shared, (str))
#define rb_str_new3 rb_str_new_shared
static VALUE
@@ -579,7 +571,7 @@ rb_str_new_frozen(VALUE orig)
return str;
}
-alias_func(rb_str_new4(VALUE orig), rb_str_new_frozen, (orig))
+RUBY_ALIAS_FUNCTION(rb_str_new4(VALUE orig), rb_str_new_frozen, (orig))
#define rb_str_new4 rb_str_new_frozen
VALUE
@@ -588,7 +580,7 @@ rb_str_new_with_class(VALUE obj, const char *ptr, long len)
return str_new(rb_obj_class(obj), ptr, len);
}
-alias_func(rb_str_new5(VALUE obj, const char *ptr, long len),
+RUBY_ALIAS_FUNCTION(rb_str_new5(VALUE obj, const char *ptr, long len),
rb_str_new_with_class, (obj, ptr, len))
#define rb_str_new5 rb_str_new_with_class
@@ -622,7 +614,7 @@ rb_str_buf_new_cstr(const char *ptr)
return str;
}
-alias_func(rb_str_buf_new2(const char *ptr), rb_str_buf_new_cstr, (ptr))
+RUBY_ALIAS_FUNCTION(rb_str_buf_new2(const char *ptr), rb_str_buf_new_cstr, (ptr))
#define rb_str_buf_new2 rb_str_buf_new_cstr
VALUE
@@ -1365,7 +1357,7 @@ rb_str_freeze(VALUE str)
return rb_obj_freeze(str);
}
-alias_func(rb_str_dup_frozen(VALUE str), rb_str_new_frozen, (str))
+RUBY_ALIAS_FUNCTION(rb_str_dup_frozen(VALUE str), rb_str_new_frozen, (str))
#define rb_str_dup_frozen rb_str_new_frozen
VALUE