pike.git / src / language.yacc

version» Context lines:

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.");    }