This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: RFA: Fix other/44874


On Fri, Jul 9, 2010 at 9:22 PM, Joern Rennecke <amylaar@spamcop.net> wrote:
> I abandoned my earlier approach to show the scope blocks; while it is nice
> for debugging, it needs to much internal knowledge of what it means for
> a symbol to be in the block, and which symbols/ declarations must be
> skipped,
> and it is not really good at spotting order issues with symbols that are
> not in the scope blocks.
> So instead, I gather a list of all the declarations that are used by the
> gimple statements and the trees they contains, sort them according to uid,
> and emit them with a number indicating where in the depth-first search
> of the gimple/trees each declaration was encountered first.
>
> Because this is basically a list of 'live' declarations, I've put in in
> tree-ssa-live.c .
>
> The regression test for pr42806 originally caused a crash in
> print_declaration, which is why I added the new test for TREE_TYPE (t)
> there.
>
> Bootstrapped & regression tested on i686-pc-linux-gnu. ?As desired,
> the new test flags PR44832:
> FAIL: c-c++-common/pr44832.c (test for excess errors)
> FAIL: c-c++-common/pr44832.c ?-Wc++-compat ?(test for excess errors)
> Otherwise, there are no new failures.
>
> The patch I have for PR44832 passes this new test.
>
> tested build of 'all-gcc' for i686-pc-linux-gnu X alpha-linux-gnu
> using configure options --enable-build-with-cxx' '--enable-werror-always and
> gcc (GCC) 4.6.0 20100630 (experimental).
>
> Bootstrapped on x86_64-unknown-linux-gnu.
> The new test triggers there for both gcc and g++, too.
>
> 2010-07-10 ?Joern Rennecke ?<joern.rennecke@embecosm.com>
>
> gcc:
> ? ? ? ?* tree-dump.c (dump_options): Add enumerate_locals entry.
> ? ? ? ?Add TDF_NOID exclusion to all entry.
> ? ? ? ?* tree-dump.h (dump_enumerated_decls): Declare.
> ? ? ? ?* tree-pretty-print.c (dump_generic_node): For TDF_NOID,
> ? ? ? ?Don't display type uid.
> ? ? ? ?(print_declaration): Don't crash on TREE_TYPE (t) == 0.
> ? ? ? ?* tree-pass.h (TDF_ENUMERATE_LOCALS): Define.
> ? ? ? ?* tree-ssa-live.c: Include gimple.h.
> ? ? ? ?(numbered_tree_d): New struct.
> ? ? ? ?(numbered_tree): New typedef.
> ? ? ? ?(DEF_VEC_O (numbered_tree): New.
> ? ? ? ?(DEF_VEC_ALLOC_O (numbered_tree, heap)): Likewise.
> ? ? ? ?(compare_decls_by_uid, dump_enumerated_decls_push): New functions.
> ? ? ? ?(dump_enumerated_decls): Likewise.
> ? ? ? ?* tree-optimize.c (execute_cleanup_cfg_post_optimizing):
> ? ? ? ?If flag_dump_final_insns, call dump_enumerated_decls.
> ? ? ? ?* tree-cfg.c (dump_function_to_file): Call dump_enumerated_decls.
> ? ? ? ?* Makefile.in (tree-ssa-live.o): Depend on $(GIMPLE_H).
> gcc/testsuite:
> ? ? ? ?* c-c++-common/pr44832.c: New test.
>

This patch may have introduced uninitialized variables:

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45419


H.J.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]