pike.git
/
src
/
language.yacc
version
»
Context lines:
10
20
40
80
file
none
3
pike.git/src/language.yacc:1827:
name_list: new_name | name_list ',' new_name ; new_name: TOK_IDENTIFIER { struct pike_type *type; node *n;
+
push_finished_type(Pike_compiler->compiler_frame->current_type);
-
+
if (!TEST_COMPAT(8,0) &&
+
(THIS_COMPILATION->lex.pragmas & ID_STRICT_TYPES) &&
+
(Pike_compiler->compiler_frame->current_type->type != PIKE_T_AUTO)) {
+
if (!pike_types_le(zero_type_string,
+
Pike_compiler->compiler_frame->current_type)) {
+
if (Pike_compiler->compiler_pass == COMPILER_PASS_LAST) {
+
ref_push_string($1->u.sval.u.string);
+
yytype_report(REPORT_WARNING, NULL, 0, zero_type_string,
+
NULL, 0, Pike_compiler->compiler_frame->current_type,
+
1, "Type does not contain zero for variable without "
+
"initializer %s. Type adjusted.");
+
}
+
push_type(PIKE_T_ZERO);
+
push_type(T_OR);
+
}
+
}
n = Pike_compiler->current_attributes; while(n) { push_type_attribute(CDR(n)->u.sval.u.string); n = CAR(n); } type=compiler_pop_type(); define_variable($1->u.sval.u.string, type, Pike_compiler->current_modifiers); free_type(type); free_node($1); } | bad_identifier {} | TOK_IDENTIFIER '=' { struct pike_type *type; node *n;
-
+
push_finished_type(Pike_compiler->compiler_frame->current_type);
-
if (!TEST_COMPAT(8,0) &&
-
(THIS_COMPILATION->lex.pragmas & ID_STRICT_TYPES) &&
-
(Pike_compiler->compiler_frame->current_type->type != PIKE_T_AUTO)) {
-
if (!pike_types_le(zero_type_string,
-
Pike_compiler->compiler_frame->current_type)) {
-
if (Pike_compiler->compiler_pass == COMPILER_PASS_LAST) {
-
ref_push_string($1->u.sval.u.string);
-
yytype_report(REPORT_WARNING, NULL, 0, zero_type_string,
-
NULL, 0, Pike_compiler->compiler_frame->current_type,
-
1, "Type does not contain zero for variable without "
-
"initializer %s. Type adjusted.");
-
}
-
push_type(PIKE_T_ZERO);
-
push_type(T_OR);
-
}
-
}
+
n = Pike_compiler->current_attributes; while(n) { push_type_attribute(CDR(n)->u.sval.u.string); n = CAR(n); } type=compiler_pop_type(); if ((Pike_compiler->current_modifiers & ID_EXTERN) && (Pike_compiler->compiler_pass == COMPILER_PASS_FIRST)) { yywarning("Extern declared variable has initializer."); }