re PR middle-end/41573 (segfault in trunk related to strings)
authorMichael Matz <matz@suse.de>
Thu, 8 Oct 2009 16:03:11 +0000 (16:03 +0000)
committerMichael Matz <matz@gcc.gnu.org>
Thu, 8 Oct 2009 16:03:11 +0000 (16:03 +0000)
commit6728ee79872ffd3dbcf858dab076c96c71ec95e5
treedfbfdde0ac425b160f559d82eab975a3ba3e115a
parent0d0bfe1795ba93c2af0fca2ca68a025c5cd4c82b
re PR middle-end/41573 (segfault in trunk related to strings)

PR middle-end/41573
* builtins.c (fold_builtin_isascii): Use fold_build2.
(fold_builtin_isdigit): Ditto.
* except.c (duplicate_eh_regions_1): Tolerate NULL labels.
* tree-cfg.c (struct rus_data, remove_useless_stmts_warn_notreached,
remove_useless_stmts_cond, remove_useless_stmts_tf,
remove_useless_stmts_tc, remove_useless_stmts_bind,
remove_useless_stmts_goto, remove_useless_stmts_label,
remove_useless_stmts_1, remove_useless_stmts,
pass_remove_useless_stmts): Remove.
* tree-pass.h (pass_remove_useless_stmts): Don't declare.
* passes.c (init_optimization_passes): Don't add
pass_remove_useless_stmts.
* tree-eh.c (lower_eh_constructs_2): Handle empty cleanups.
* tree.c (free_lang_data_in_decl): Don't clear DECL_INITIAL of
static constants.
* lto-symtab.c (lto_symtab_register_decl): Accepts DECL_INITIAL
for static constants.
* lto-streamer-out.c (output_gimple_stmt): Handle GIMPLE_NOP.
* lto-streamer-in.c (input_gimple_stmt): Handle GIMPLE_NOP.

testsuite/
* gcc.dg/tree-ssa/foldstring-1.c: Use fre dump.
* gcc.dg/tree-ssa/useless-1.c: Use gimple dump.
* gcc.dg/pr41573.c: New test.

From-SVN: r152563
15 files changed:
gcc/ChangeLog
gcc/builtins.c
gcc/except.c
gcc/lto-streamer-in.c
gcc/lto-streamer-out.c
gcc/lto-symtab.c
gcc/passes.c
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.dg/pr41573.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/tree-ssa/foldstring-1.c
gcc/testsuite/gcc.dg/tree-ssa/useless-1.c
gcc/tree-cfg.c
gcc/tree-eh.c
gcc/tree-pass.h
gcc/tree.c