diff --git a/ChangeLog b/ChangeLog index ef74bf0848..a638367810 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,8 +1,11 @@ -Thu Dec 25 05:05:06 2008 Nobuyoshi Nakada +Thu Dec 25 05:53:01 2008 Nobuyoshi Nakada * template/id.h.tmpl, id.h (ruby_method_ids): not depend on if token are defined as macros. [ruby-dev:37553] + * template/id.h.tmpl, id.h (ruby_method_ids_check): enclosed in a + struct. + Thu Dec 25 01:52:34 2008 Nobuyoshi Nakada * thread.c (thread_start_func_2): sets native thread key. diff --git a/id.h b/id.h index 67f1eeadf8..97faaf4f6f 100644 --- a/id.h +++ b/id.h @@ -122,8 +122,9 @@ enum ruby_method_ids { }; #ifdef tLAST_TOKEN +struct ruby_method_ids_check { #define ruby_method_id_check_for(name, value) \ - typedef int ruby_method_id_check_for_##name[name == value ? 1 : -1] + int checking_for_##name[name == value ? 1 : -1] ruby_method_id_check_for(tUPLUS, 321); ruby_method_id_check_for(tUMINUS, 322); ruby_method_id_check_for(tPOW, 323); @@ -156,6 +157,7 @@ ruby_method_id_check_for(id_core_define_method, 373); ruby_method_id_check_for(id_core_define_singleton_method, 374); ruby_method_id_check_for(id_core_set_postexe, 375); ruby_method_id_check_for(tLAST_TOKEN, 376); +}; #endif #endif /* RUBY_ID_H */ diff --git a/template/id.h.tmpl b/template/id.h.tmpl index 22fe9ef467..dd0afab27d 100644 --- a/template/id.h.tmpl +++ b/template/id.h.tmpl @@ -115,11 +115,13 @@ enum ruby_method_ids { }; #ifdef tLAST_TOKEN +struct ruby_method_ids_check { #define ruby_method_id_check_for(name, value) \ - typedef int ruby_method_id_check_for_##name[name == value ? 1 : -1] + int checking_for_##name[name == value ? 1 : -1] % tokens.map do |token, value| ruby_method_id_check_for(<%=token%>, <%=value%>); % end +}; #endif #endif /* RUBY_ID_H */