From 934525776f60171fff0c5453e795de051fc0ab15 Mon Sep 17 00:00:00 2001 From: nobu Date: Wed, 24 Dec 2008 20:05:12 +0000 Subject: * template/id.h.tmpl, id.h (ruby_method_ids): not depend on if token are defined as macros. [ruby-dev:37553] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@20977 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- template/id.h.tmpl | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) (limited to 'template/id.h.tmpl') diff --git a/template/id.h.tmpl b/template/id.h.tmpl index c16137cb5a..22fe9ef467 100644 --- a/template/id.h.tmpl +++ b/template/id.h.tmpl @@ -53,15 +53,15 @@ end #define symIFUNC ID2SYM(idIFUNC) #define symCFUNC ID2SYM(idCFUNC) +#if !defined tLAST_TOKEN && defined YYTOKENTYPE +#define tLAST_TOKEN tLAST_TOKEN +#endif + enum ruby_method_ids { -#if !defined tLAST_TOKEN && !defined YYTOKENTYPE +#ifndef tLAST_TOKEN % tokens.each do |token, value| <%=token%> = <%=value%>, % end -% tokens.map do |token, value| -#elif <%=token%> != <%=value%> -#error <%=token%> differs -% end #endif idPLUS = '+', idMINUS = '-', @@ -114,4 +114,12 @@ enum ruby_method_ids { TOKEN2ID(Initialize) }; +#ifdef tLAST_TOKEN +#define ruby_method_id_check_for(name, value) \ + typedef int ruby_method_id_check_for_##name[name == value ? 1 : -1] +% tokens.map do |token, value| +ruby_method_id_check_for(<%=token%>, <%=value%>); +% end +#endif + #endif /* RUBY_ID_H */ -- cgit v1.2.3