Branch: Tag:

2019-07-09

2019-07-09 13:26:36 by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler: Avoid deprecation warnings from __INIT when disabled.

initialization code for global variables. Previously such
code was still warned about if the warnings were later
reenabled.

1744:    }    }    if ($4) { +  node *n;    // this is done in both passes to get somewhat better handling    // of auto types.    //
1755:    fix_type_field( $4 );    fix_auto_variable_type( $<number>3, $4->type );    } -  Pike_compiler->init_node=mknode(F_COMMA_EXPR,Pike_compiler->init_node, -  mkcastnode(void_type_string, +  n = mkcastnode(void_type_string,    mknode(F_ASSIGN, -  mkidentifiernode($<number>3), $4))); +  mkidentifiernode($<number>3), $4)); +  if (Pike_compiler->compiler_pass == COMPILER_PASS_LAST) { +  // This makes sure that #pragma {no_,}deprecation_warnings +  // works as expected. +  optimize_node(n);    } -  +  Pike_compiler->init_node=mknode(F_COMMA_EXPR,Pike_compiler->init_node, +  n); +  }    free_node($1);    }    | TOK_IDENTIFIER '=' error