* tree-ssa-dom.c (simplify_rhs_and_lookup_avail_expr): Do not
perform reassociation if the parent statement will not die as
a result of the optimization.
From-SVN: r106744
2005-11-10 Daniel Berlin <dberlin@dberlin.org>
* tree-ssa-alias.c (compute_may_aliases): Remove call to
delete_old_heap_vars.
* tree-dfa.c (referenced_var_remove): Remove function.
* tree-ssa.c (init_tree_ssa): Call init_alias_heapvars.
(delete_tree_ssa): Remove call to delete_old_heapvars.
Add call to delete_alias_heapvars.
* tree-flow.h (referenced_var_remove): Remove prototype
(init_alias_heapvars): New prototype.
(delete_alias_heapvars): Ditto.
* Makefile.in (tree-ssa-structalias.o): Add
gt-tree-ssa-structalias.o
(GTFILES): Add tree-ssa-structalias.h and
tree-ssa-structalias.c.
(s-gtype): Add gt-tree-ssa-structalias.h.
* tree-ssa-structalias.c (heapvars): Remove.
(oldheapvars): Remove.
(heapvar_for_stmt): New variable.
(heapvar_lookup): New function.
(heapvar_insert): Ditto.
(get_constraint_for): See if we have an old heapvar
to reuse.
(init_alias_heapvars): New function.
(delete_alias_heapvars): Ditto.
Add include of gt-tree-ssa-structalias.h.
From-SVN: r106743
* tree.c (build_qualified_type): Chain the new type to the original
type's TYPE_NEXT_PTR_TO or TYPE_NEXT_REF_TO linked lists if it is
a POINTER_TYPE or a REFERENCE_TYPE respectively.
(build_pointer_type_for_mode): Only return unqualified types.
(build_reference_type_for_mode): Likewise.
From-SVN: r106716
* Makefile.in (gnucompare): Do comparison of all files using one of
the chosen methods and only afterwards decide if just warning should
be issued or comparison failure raised.
From-SVN: r106707
* ifcvt.c (noce_get_alt_condition): Use prev_nonnote_insn.
(noce_try_abs): Negate if the comparison is reversed.
Look only one instruction backwards for a REG_EQUAL note.
From-SVN: r106706
gcc/ChangeLog:
PR other/4372
* gthr-dce.h, gthr-posix.h, gthr-posix95.h, gthr-solaris.h,
gthr-tpf.h: Define __gthrw. For all identifiers that might
be weak, introduce weakrefs or non-weak aliases with __gthrw,
and prefix all uses with __ghtrw.
libobjc/ChangeLog:
PR other/4372
* thr-objc.c (_XOPEN_SOURCE): Define.
From-SVN: r106704
PR other/4372
* tree.h (IDENTIFIER_TRANSPARENT_ALIAS): New.
(TREE_DEPRECATED): Adjust comment. Check for a DECL.
* c-common.c (handle_weakref_attribute): New.
(c_common_attribute_table): Add weakref.
* configure.ac (HAVE_GAS_WEAKREF): Check for weakref support
in the assembler.
* configure, config.in: Rebuilt.
* defaults.h (ASM_OUTPUT_WEAKREF): Define if HAVE_GAS_WEAKREF.
* doc/extend.texi: Document weakref attribute.
* varasm.c (ultimate_transparent_alias_target): New
(assemble_name): Use it.
(weak_finish_1): Split out of...
(weak_finish): ... and deal with weakrefs in...
(weakref_targets): ... new list.
(globalize_decl): Clean up weakref_targets.
(do_assemble_alias): Handle weakrefs.
(finish_aliases_1): Do not reject weakrefs to external symbols.
(assemble_alias): Handle weakrefs.
From-SVN: r106703
2005-11-09 Richard Guenther <rguenther@suse.de>
PR tree-optimization/24716
* tree-scalar-evolution.c (analyze_evolution_in_loop): Use
t_bool to track results from follow_ssa_edge.
* gcc.c-torture/execute/pr24716.c: New testcase.
From-SVN: r106700
* final.c (force_source_line): New global variable.
(final_scan_insn): Set it to true instead of clearing last_filename.
(notice_source_line): Return true if force_source_line is true,
unless source info is absent.
From-SVN: r106699
2005-11-09 Andrew Pinski <pinskia@physics.uc.edu>
PR c/24644
* dwarf2-out.c (add_name_and_src_coords_attributes): Don't add
a linkage name for a variable if it a register variable.
* c-decl.c (grokdeclarator): Global register variables
should be set as PUBLIC.
From-SVN: r106693
2005-11-09 Andreas Krebbel <krebbel1@de.ibm.com>
* config/s390/s390.c (struct s390_frame_layout): New fields
first_save_gpr_slot and last_save_gpr_slot.
(cfun_grps_save_area_size, s390_frame_info, s390_emit_prologue,
s390_emit_epilogue, s390_initial_elimination_offset): Replaced
first_save_gpr and last_save_gpr with the _slot variants.
(s390_register_info): Calculate first_save_gpr_slot and
last_save_gpr_slot using regs_ever_live.
* testsuite/gcc.dg/pr24624.c: Testcase added.
From-SVN: r106688
2005-11-09 Andreas Krebbel <krebbel1@de.ibm.com>
* config/s390/s390.c (s390_regs_ever_clobbered): Only save live eh regs
for a function containing a landing pad.
* testsuite/g++.dg/other/pr24623.C: Testcase added.
From-SVN: r106687
2005-11-09 Andreas Krebbel <krebbel1@de.ibm.com>
* flow.c (mark_set_1): Handle CLOBBERs like SETs if the register
is live afterwards.
From-SVN: r106686
libcpp/
PR c/24101
* init.c (read_original_filename): Temporarily set
state.in_directive before calling _cpp_lex_direct for
CPP_HASH tokens.
gcc/
PR c/24101
* toplev.c (process_options): Initialize debug_hooks early
in case lang_hooks.post_options ends up calling a debug_hook.
gcc/testsuite/
PR c/24101
* gcc.dg/pr24101-1.i, gcc.dg/pr24101-2.i: New tests.
* gcc.dg/dg.exp: Run main loop also for *.i files.
From-SVN: r106677
* init.c: Use the Linux-specific section for the IA-64/Linux target.
(__gnat_adjust_context_for_raise): Add conditional code so that the
IA-64 is also supported.
From-SVN: r106664
PR c++/19450
* decl.c (redeclaration_error_message): Issue diagnostics about
olddecl and newdecl disagreement on __thread property.
(grokdeclarator): Set DECL_TLS_MODEL on class static variables.
* g++.dg/tls/diag-3.C: New test.
* g++.dg/tls/diag-4.C: New test.
* g++.dg/tls/static-1.C: New test.
* g++.dg/tls/static-1a.cc: New file.
From-SVN: r106657
2005-11-08 James A. Morrison <phython@gcc.gnu.org>
Diego Novillo <dnovillo@redhat.com>
PR 23046
* tree-vrp.c (register_edge_assert_for): Do not register
always-false predicates.
testsuite/
PR 23046
* g++.dg/tree-ssa/pr23046.C: New test.
From-SVN: r106656
2005-11-08 Wil Mahan <wmahan@gmail.com>
PR java/23617
* zextract.c (read_zip_archive): Fix out of memory error when
reading jar files with zip-style comments.
From-SVN: r106648