diff options
author | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2012-12-21 07:38:11 +0000 |
---|---|---|
committer | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2012-12-21 07:38:11 +0000 |
commit | 94a4bc0ef4165e42ec36c9562ce7a7bcf01ba1cf (patch) | |
tree | 434d3151bc82abfff5ffc0072a432ddc1160b2da | |
parent | 2edcf87c1c30c29562fc52075896935ebf398367 (diff) | |
download | ruby-94a4bc0ef4165e42ec36c9562ce7a7bcf01ba1cf.tar.gz |
id.h.tmpl: ID2ATTRSET
* template/id.h.tmpl (ID2ATTRSET): compile time constant macro for
ID_ATTRSET.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38523 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r-- | ChangeLog | 5 | ||||
-rw-r--r-- | defs/id.def | 2 | ||||
-rw-r--r-- | template/id.h.tmpl | 2 |
3 files changed, 8 insertions, 1 deletions
@@ -1,4 +1,7 @@ -Fri Dec 21 16:38:05 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> +Fri Dec 21 16:38:08 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * template/id.h.tmpl (ID2ATTRSET): compile time constant macro for + ID_ATTRSET. * defs/id.def (KeywordError): check duplication. diff --git a/defs/id.def b/defs/id.def index 48c6334227..1196e8fa9a 100644 --- a/defs/id.def +++ b/defs/id.def @@ -72,6 +72,8 @@ predefined.lines.each_with_index do |line, num| when /\A\$(?:\d+|(?!\d)\w+)\z/; global_ids when /\A@@(?!\d)\w+\z/; class_ids when /\A@(?!\d)\w+\z/; instance_ids + when /\A((?!\d)\w+)=\z/ + KeywordError.raise("use ID2ATTRSET(#{$1}) instead of ATTRSET #{name}", firstline+num) else preserved_ids end << token predefined_ids[token] = name diff --git a/template/id.h.tmpl b/template/id.h.tmpl index 1573247c86..c993243424 100644 --- a/template/id.h.tmpl +++ b/template/id.h.tmpl @@ -39,6 +39,8 @@ types = ids.keys.grep(/^[A-Z]/) #define ID_JUNK 0x07 #define ID_INTERNAL ID_JUNK +#define ID2ATTRSET(id) (((id)&~ID_SCOPE_MASK)|ID_ATTRSET) + #define symIFUNC ID2SYM(idIFUNC) #define symCFUNC ID2SYM(idCFUNC) |