summaryrefslogtreecommitdiff
path: root/parse.y
diff options
context:
space:
mode:
authornobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2010-06-20 07:17:46 +0000
committernobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2010-06-20 07:17:46 +0000
commitd31350f827b02bbbd5154e8a34cbe55c49240af9 (patch)
tree14b9b41d70ec16535cba41ead1baf886f3c69110 /parse.y
parent14a15f8b7f21d26fdeaa9acd0d886ede9acb57c7 (diff)
* id.c (Init_id): add underscore name.
* parse.y (warn_unused_var): ignore underscore name. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@28366 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'parse.y')
-rw-r--r--parse.y6
1 files changed, 2 insertions, 4 deletions
diff --git a/parse.y b/parse.y
index 77cc71cf65..9969092e18 100644
--- a/parse.y
+++ b/parse.y
@@ -8229,10 +8229,7 @@ assignable_gen(struct parser_params *parser, ID id, NODE *val)
static ID
shadowing_lvar_gen(struct parser_params *parser, ID name)
{
- ID uscore;
-
- CONST_ID(uscore, "_");
- if (uscore == name) return name;
+ if (idUScore == name) return name;
if (dyna_in_block()) {
if (dvar_curr(name)) {
yyerror("duplicated argument name");
@@ -8935,6 +8932,7 @@ warn_unused_var(struct parser_params *parser, struct local_vars *local)
}
for (i = 0; i < cnt; ++i) {
if (!v[i] || (u[i] & LVAR_USED)) continue;
+ if (idUScore == v[i]) continue;
rb_compile_warn(ruby_sourcefile, (int)u[i], "assigned but unused variable - %s", rb_id2name(v[i]));
}
}