2007-05-17 Paolo Carlini <pcarlini@suse.de>
* config/locale/gnu/c_locale.h: Do not include <libintl.h>.
* config/locale/gnu/messages_members.h: Do it here.
* config/locale/gnu/c_locale.h: Do not include <cstdio>, use
the builtins.
* config/locale/generic/c_locale.h: Likewise.
From-SVN: r124803
2007-05-17 Benjamin Kosnik <bkoz@redhat.com>
* acinclude.m4 (GLIBCXX_CHECK_COMPILER_FEATURES): Add -g to
compile flags, move code to test to global scope.
* configure: Regenerate.
From-SVN: r124802
PR rtl-optimization/31691
* combine.c (simplify_set): Build a new src pattern instead of
substituting its operands in the COMPARE case.
From-SVN: r124797
2007-05-17 Benjamin Kosnik <bkoz@redhat.com>
* include/tr1/cmath: Guard special math with
__GXX_EXPERIMENTAL_CXX0X__.
* testsuite/26_numerics/headers/cmath/types_std_c++0x_neg.cc:
Remove xfail.
From-SVN: r124791
2007-05-17 Paolo Carlini <pcarlini@suse.de>
* include/bits/locale_facets.tcc (__pad<>::_S_pad): Minor tweaks, avoid
unnecessary casts, do widenings just in time.
From-SVN: r124790
* tree-vrp.c (finalize_jump_threads): Do not care about dominance info.
(execute_vrp): Preserve loops through jump threading.
* tree-ssa-threadupdate.c (thread_single_edge,
dbds_continue_enumeration_p, determine_bb_domination_status,
thread_through_loop_header): New functions.
(create_edge_and_update_destination_phis,
create_edge_and_update_destination_phis): Set loops for the new blocks.
(prune_undesirable_thread_requests): Removed.
(redirect_edges): Do not pretend that redirect_edge_and_branch can
create new blocks.
(thread_block): Do not call prune_undesirable_thread_requests.
Update loops.
(mark_threaded_blocks): Select edges to thread here.
(thread_through_all_blocks): Take may_peel_loop_headers argument.
Thread edges through loop headers independently.
* cfgloopmanip.c (create_preheader, mfb_keep_just): Export.
* tree-pass.h (TODO_mark_first_instance): New.
(first_pass_instance): Declare.
* cfghooks.c (duplicate_block): Put the block to the original loop
if copy is not specified.
* tree-ssa-dom.c (tree_ssa_dominator_optimize): Preserve loops through
jump threading. Pass may_peel_loop_headers to
thread_through_all_blocks according to first_pass_instance.
* cfgloop.h (create_preheader): Declare.
* tree-flow.h (thread_through_all_blocks): Declaration changed.
* basic-block.h (mfb_keep_just, mfb_kj_edge): Declare.
* passes.c (first_pass_instance): New variable.
(next_pass_1): Set TODO_mark_first_instance.
(execute_todo): Set first_pass_instance.
* gcc.dg/tree-ssa/ssa-dom-thread-2.c: New test.
* gcc.dg/vect/vect-102.c, gcc.dg/vect/vect-103.c,
gcc.dg/vect/vect-104.c: Use more complex construction to prevent vectorizing.
* gcc.dg/tree-ssa/pr21559.c: Update outcome.
From-SVN: r124786
* include/java-interp.h (breakpoint_at): Declare.
* interpret.cc (breakpoint_at): New function.
* gnu/classpath/jdwp/VMVirtualMachine.java (_event_list):
New member.
* gnu/classpath/jdwp/natVMVirtualMachine.cc (initialize):
Initialize _event_list.
(handle_single_step): If there is a breakpoint at the
location at which we are stopping, do not send the notification.
Instead add the event to a list of events that occur at this
location.
(jdwpBreakpointCB): If the event list is not empty, send
whatever events are in it and the breakpoint event in a single
notification.
Mark parameter jni_env as MAYBE_UNUSED.
* classpath/lib/gnu/classpath/jdwp/VMVirtualMachine.class:
Regenerated.
* gnu/classpath/jdwp/VMVirtualMachine.h: Regenerated.
From-SVN: r124778
* include/java-interp.h (breakpoint_at): Declare.
* interpret.cc (breakpoint_at): New function.
* gnu/classpath/jdwp/VMVirtualMachine.java (_event_list):
New member.
* gnu/classpath/jdwp/natVMVirtualMachine.cc (initialize):
Initialize _event_list.
(handle_single_step): If there is a breakpoint at the
location at which we are stopping, do not send the notification.
Instead add the event to a list of events that occur at this
location.
(jdwpBreakpointCB): If the event list is not empty, send
whatever events are in it and the breakpoint event in a single
notification.
Mark parameter jni_env as MAYBE_UNUSED.
* classpath/lib/gnu/classpath/jdwp/VMVirtualMachine.class:
Regenerated.
* gnu/classpath/jdwp/VMVirtualMachine.h: Regenerated.
From-SVN: r124777
2007-05-16 Eric Christopher <echristo@apple.com>
* config/rs6000/rs6000.c (rs6000_emit_prologue): Move altivec register
saving after stack push. Set sp_offset whenever we push.
(rs6000_emit_epilogue): Move altivec register restore before stack push.
From-SVN: r124763
gcc/
Revert:
2007-05-12 Richard Sandiford <richard@codesourcery.com>
* configure.ac (gcc_gxx_include_dir): Use $(libsubdir_to_prefix).
(gcc_tooldir): Likewise.
* configure: Regenerate.
* Makefile.in (libsubdir_to_prefix): New variable, based on the
old configure.ac gcc_tooldir setting.
(prefix_to_exec_prefix): New variable.
(DRIVER_DEFINES): Use $(libsubdir_to_prefix)$(prefix_to_exec_prefix)
rather than $(unlibsubdir)/../ to derive TOOLDIR_BASE_PREFIX.
From-SVN: r124760
2007-05-15 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR libfortran/31922
* intrinsics/string_intrinsics.c (string_trim): Set result to null if
string length is zero.
From-SVN: r124754
* tree-ssa-loop-niter.c (record_estimate): Use GGC_NEW to allocate
struct nb_iter_bound.
(free_numbers_of_iterations_estimates_loop): Use ggc_free.
* gengtype.c (open_base_files): Add cfhloop.h to the list of includes.
* cfgloopmanip.c (place_new_loop): Vector larray is gc-allocated.
* tree-scalar-evolution.c: Include gt-tree-scalar-evolution.h.
(struct scev_info_str, scalar_evolution_info): Add GTY markers.
(new_scev_info_str): Use GGC_NEW to allocate struct scev_info_str.
(del_scev_info): Use ggc_free.
(scev_initialize): Allocate scalar_evolution_info in gc memory.
* loop-init.c: Include ggc.h.
(loop_optimizer_init): Use GGC_CNEW to allocate struct loops.
(loop_optimizer_finalize): Use ggc_free.
* tree-ssa-loop.c (pass_tree_unswitch, pass_vectorize,
pass_linear_transfom, pass_empty_loop, pass_complete_unroll,
pass_iv_optimize): Add TODO_ggc_collect.
* function.h (struct function): Remove skip marker from x_current_loops.
* cfgloop.c: Include ggc.h.
(flow_loops_free, flow_loop_free): Free the loop descriptions in gc
memory.
(establish_preds): Vector superloops is gc allocated.
(alloc_loop): Allocate loop using GGC_CNEW. Allocate head of
loop->exits list.
(flow_loops_find): Vector larray is gc allocated.
(loop_exit_free): Use ggc_free.
(rescan_loop_exit): Use GGC_NEW to allocate struct loop_exit. Reflect
that head of exits list is now not a part of struct loop.
(record_loop_exits): Allocate exits table in gc memory.
(get_loop_exit_edges, verify_loop_structure, single_exit): Reflect that
head of exits list is now not a part of struct loop.
* cfgloop.h (struct lpt_decision, struct nb_iter_bound,
struct loop_exit): Add GTY marker.
(struct loop): Add GTY marker. Make superloops vector gc allocated.
Add skip marker to aux field. Make head of exits list a separate
object.
(struct loops): Add GTY marker. Make larray vector gc allocated.
Add param marker to exits table.
(get_loops): Type changed.
* Makefile.in (tree-scalar-evolution.o): Add gt-tree-scalar-evolution.h
dependency.
(cfgloop.o, loop-init.o): Add ggc.h dependency.
(GTFILES): Add cfgloop.h and tree-scalar-evolution.c.
* basic-block.h (struct basic_block_def): Remove skip marker from
loop_father field.
From-SVN: r124727
/cp
2007-05-14 Paolo Carlini <pcarlini@suse.de>
PR c++/29928
* rtti.c (get_tinfo_decl_dynamic, get_typeid): Try to complete the
type only if is a class type (5.2.8/4).
/testsuite
2007-05-14 Paolo Carlini <pcarlini@suse.de>
PR c++/29928
* g++.dg/rtti/typeid5.C: New.
From-SVN: r124724