Benjamin Kosnik [Wed, 4 Jun 2008 15:53:09 +0000 (15:53 +0000)]
assoc_container.hpp: Change allocator typedef to allocator_type, as per existing conventions.
2008-06-04 Benjamin Kosnik <bkoz@redhat.com>
* include/ext/pb_ds/assoc_container.hpp: Change allocator typedef
to allocator_type, as per existing conventions.
* include/ext/pb_ds/detail/binomial_heap_base_/
binomial_heap_base_.hpp: Same.
* include/ext/pb_ds/detail/cc_hash_table_map_/cc_ht_map_.hpp: Same.
* include/ext/pb_ds/detail/pat_trie_/pat_trie_.hpp: Same.
* include/ext/pb_ds/detail/bin_search_tree_/bin_search_tree_.hpp: Same.
* include/ext/pb_ds/detail/gp_hash_table_map_/gp_ht_map_.hpp: Same.
* include/ext/pb_ds/detail/binary_heap_/binary_heap_.hpp: Same.
* include/ext/pb_ds/detail/trie_policy/trie_policy_base.hpp: Same.
* include/ext/pb_ds/detail/pairing_heap_/pairing_heap_.hpp: Same.
* include/ext/pb_ds/detail/binomial_heap_/binomial_heap_.hpp: Same.
* include/ext/pb_ds/detail/left_child_next_sibling_heap_/
left_child_next_sibling_heap_.hpp: Same.
* include/ext/pb_ds/detail/thin_heap_/thin_heap_.hpp: Same.
* include/ext/pb_ds/detail/ov_tree_map_/ov_tree_map_.hpp: Same.
* include/ext/pb_ds/detail/splay_tree_/splay_tree_.hpp: Same.
* include/ext/pb_ds/detail/list_update_map_/lu_map_.hpp: Same.
* include/ext/pb_ds/detail/rc_binomial_heap_/
rc_binomial_heap_.hpp: Same.
* include/ext/pb_ds/detail/rc_binomial_heap_/rc.hpp: Same.
* include/ext/pb_ds/detail/rb_tree_map_/rb_tree_.hpp: Same.
* include/ext/pb_ds/list_update_policy.hpp: Same.
* include/ext/pb_ds/exception.hpp: Same.
* include/ext/pb_ds/tree_policy.hpp: Same.
* include/ext/pb_ds/trie_policy.hpp: Same.
* include/ext/pb_ds/priority_queue.hpp: Same.
* testsuite/util/regression/trait/assoc/trait.hpp: Same.
* testsuite/util/regression/trait/assoc/type_trait.hpp: Same.
* testsuite/util/regression/rand/priority_queue/detail/
defs_fn_imps.hpp: Same.
* testsuite/util/regression/rand/priority_queue/detail/
operator_fn_imps.hpp: Same.
* testsuite/util/regression/rand/priority_queue/
container_rand_regression_test.hpp: Same.
* testsuite/util/regression/rand/assoc/detail/defs_fn_imps.hpp: Same.
* testsuite/util/regression/rand/assoc/detail/
operator_fn_imps.hpp: Same.
* testsuite/util/regression/rand/assoc/
container_rand_regression_test.hpp: Same.
* testsuite/util/native_type/assoc/native_multimap.hpp: Same.
* testsuite/util/native_type/assoc/native_hash_multimap.hpp: Same.
* testsuite/util/common_type/assoc/detail/
tree_supports_order_statistics.hpp: Same.
* testsuite/util/common_type/assoc/detail/
trie_supports_prefix_search.hpp: Same.
* testsuite/util/common_type/assoc/detail/
trie_supports_order_statistics.hpp: Same.
From-SVN: r136359
Joseph Myers [Wed, 4 Jun 2008 12:17:50 +0000 (13:17 +0100)]
m68k.opt (mxgot): New option.
2008-06-04 Joseph Myers <joseph@codesourcery.com>
Maxim Kuvyrkov <maxim@codesourcery.com>
* config/m68k/m68k.opt (mxgot): New option.
* config/m68k/m68k.c (legitimize_pic_address): Handle -mxgot.
(m68k_output_addr_const_extra): New.
* config/m68k/m68k.h (OUTPUT_ADDR_CONST_EXTRA): New.
* config/m68k/m68k-protos.h (m68k_output_addr_const_extra): Declare.
* config/m68k/m68k.md (UNSPEC_GOTOFF): Define.
* doc/invoke.texi (M680x0 Options): Document -mxgot.
testsuite:
2008-06-04 Joseph Myers <joseph@codesourcery.com>
Maxim Kuvyrkov <maxim@codesourcery.com>
* gcc.target/m68k/xgot-1.c: New test.
Co-Authored-By: Maxim Kuvyrkov <maxim@codesourcery.com>
From-SVN: r136355
Richard Guenther [Wed, 4 Jun 2008 08:28:20 +0000 (08:28 +0000)]
tree-ssa-structalias.c (handle_ptr_arith): Correctly handle negative or non-representable offsets.
2008-06-04 Richard Guenther <rguenther@suse.de>
* tree-ssa-structalias.c (handle_ptr_arith): Correctly handle
negative or non-representable offsets.
* gcc.c-torture/execute/
20080604-1.c: New testcase.
From-SVN: r136351
GCC Administrator [Wed, 4 Jun 2008 00:17:18 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r136348
Andy Hutchinson [Tue, 3 Jun 2008 23:46:07 +0000 (23:46 +0000)]
float-floor.c: Adjust test for 4 byte doubles.
PR/34880
* gcc.c-torture/execute/float-floor.c: Adjust test for 4 byte doubles.
From-SVN: r136344
Eric Botcazou [Tue, 3 Jun 2008 18:14:58 +0000 (18:14 +0000)]
aliasing1.ad[sb]: New test.
* gnat.dg/aliasing1.ad[sb]: New test.
* gnat.dg/aliasing2.ad[sb]: Likewise.
From-SVN: r136331
Ralf Wildenhues [Tue, 3 Jun 2008 17:41:43 +0000 (17:41 +0000)]
Makefile.in (common_tools): Fix typos in $(exeext) extension.
gcc/ada/
* Makefile.in (common_tools): Fix typos in $(exeext) extension.
* gnat_ugn.texi (Style Checking)
(Adding the Results of Compiler Checks to gnatcheck Output)
(Example of Binder Output File): Fix typos.
* ali.ads, einfo.ads, exp_ch4.adb, exp_ch6.adb,
exp_dbug.ads, exp_dist.adb, exp_smem.adb, g-socket.ads,
s-osinte-rtems.ads, s-shasto.ads, s-stausa.adb,
s-stausa.ads, sem_cat.adb, sem_ch12.adb, sem_ch3.adb,
sem_ch4.adb, sem_ch6.adb, sem_ch8.adb, sem_util.ads,
sinfo.ads, utils.c: Fix typos in comments.
* sem_ch6.adb, vms_data.ads: Fix typos in strings.
From-SVN: r136329
Kai Tietz [Tue, 3 Jun 2008 13:53:57 +0000 (15:53 +0200)]
Correct comment.
From-SVN: r136323
Kai Tietz [Tue, 3 Jun 2008 13:27:36 +0000 (15:27 +0200)]
Correct changelog entry as
2008-06-03 Kai Tietz <kai.tietz@onevision.com>
* config/i386/i386.md (P): New mode iterator.
(SFmode push_operand splitter): Macroize DImode and SImode pushes
using P mode iterator.
(DFmode ...): Ditto.
(XFmode ...): Ditto.
(DFmode float_extend SFmode push_operand splitter): Ditto.
(XFmode float_extend SFmode push_operand splitter): Do not generate
SImode pushes for 64bit target. Macroize Dimode and SImode ...
(XFmode float_extedn DFmode push_operand splitter): Ditto.
From-SVN: r136322
H.J. Lu [Tue, 3 Jun 2008 13:25:18 +0000 (13:25 +0000)]
i386.c (ix86_gen_leave): New.
2008-06-03 H.J. Lu <hongjiu.lu@intel.com>
* config/i386/i386.c (ix86_gen_leave): New.
(ix86_gen_pop1): Likewise.
(ix86_gen_add3): Likewise.
(ix86_gen_sub3): Likewise.
(ix86_gen_sub3_carry): Likewise.
(ix86_gen_one_cmpl2): Likewise.
(ix86_gen_monitor): Likewise.
(override_options): Initialize ix86_gen_leave, ix86_gen_pop1,
ix86_gen_add3, ix86_gen_sub3, ix86_gen_sub3_carry,
ix86_gen_one_cmpl2 and ix86_gen_monitor.
(ix86_file_end): Use mov%z0 instead of mov{q}/mov{l}.
(output_set_got): Use mov%z0, pop%z0 and add%z0 instead of
mov{q}/mov{l}, pop{q}/pop{l} and add{q}/add{l}.
(ix86_expand_epilogue): Updated.
(print_operand): Handle integer register operand for 'z'.
(ix86_expand_strlensi_unroll_1): Likewise.
(ix86_expand_strlen): Likewise.
(ix86_expand_builtin): Likewise.
(x86_output_mi_thunk): Use mov%z1 and add%z1 instead of
mov{q}/mov{l} and add{q}/add{l}.
From-SVN: r136321
Kai Tietz [Tue, 3 Jun 2008 13:22:36 +0000 (13:22 +0000)]
i386.md (define_mode_iterator P): New.
2008-06-03 Kai Tietz <kai.tietz@onevision.com>
* config/i386/i386.md (define_mode_iterator P): New.
(split): Merged XF and DF rules using P.
From-SVN: r136320
Kai Tietz [Tue, 3 Jun 2008 13:07:56 +0000 (13:07 +0000)]
i386-protos.h (ix86_reg_parm_stack_space): New.
2008-06-03 Kai Tietz <kai.tietz@onevision.com>
* config/i386/i386-protos.h (ix86_reg_parm_stack_space): New.
* config/i386/i386.h (ix86_reg_parm_stack_space): Removed
prototype.
* config/i386/i386.c (ix86_reg_parm_stack_space): Changed
return type to int.
(ix86_call_abi_override): Remove check for call_used_regs.
From-SVN: r136319
Richard Guenther [Tue, 3 Jun 2008 10:55:00 +0000 (10:55 +0000)]
tree-ssa-structalias.c (find_func_aliases): Add constraints for the lhs of calls if the return type contains pointers.
2008-06-03 Richard Guenther <rguenther@suse.de>
* tree-ssa-structalias.c (find_func_aliases): Add constraints
for the lhs of calls if the return type contains pointers.
From-SVN: r136315
Kai Tietz [Tue, 3 Jun 2008 09:57:30 +0000 (11:57 +0200)]
Fixed typo.
From-SVN: r136314
Kai Tietz [Tue, 3 Jun 2008 08:05:25 +0000 (08:05 +0000)]
tm.texi (OVERRIDE_ABI_FORMAT): New.
2008-06-03 Kai Tietz <kai.tietz@onevision.com>
* doc/tm.texi (OVERRIDE_ABI_FORMAT): New.
* doc/extend.texi (ms_abi,sysv_abi): New attribute description.
* function.c (allocate_struct_function): Use of
OVERRIDE_ABI_FORMAT.
* config/i386/cygming.h (TARGET_64BIT_MS_ABI): Make use
of cfun and DEFAULT_ABI to deceide abi mode.
(DEFAULT_ABI): New.
(REG_PARM_STACK_SPACE): Removed.
(OUTGOING_REG_PARM_STACK_SPACE): Removed.
(STACK_BOUNDARY): Use default target to deceide stack boundary.
* config/i386/i386-protos.h (ix86_cfun_abi): New.
(ix86_function_abi): Likewise.
(ix86_function_type_abi): Likewise.
(ix86_call_abi_override): Likewise.
* confid/i386/i386.md (SSE_REGPARM_MAX): Replaced by abi
specific define X86_64_SSE_REGPARM_MAX/X64_SSE_REGPARM_MAX.
* config/i386/i386.c (override_options): Replace TARGET_64BIT_MS_ABI.
(X86_64_VARARGS_SIZE): Replace REGPARM_MAX and SSE_REGPARM_MAX by abi
specific defines.
(X86_64_REGPARM_MAX): New.
(X86_64_SSE_REGPARM_MAX): New.
(X64_REGPARM_MAX): New.
(X64_SSE_REGPARM_MAX): New.
(X86_32_REGPARM_MAX): New.
(X86_32_SSE_REGPARM_MAX): New.
(ix86_handle_cconv_attribute): Replace TARGET_64BIT_MS_ABI.
(ix86_function_regparm): Handle user calling abi.
(ix86_function_arg_regno_p): Replace TARGET_64BIT_MS_ABI
by DEFAULT_ABI versus SYSV_ABI check.
(ix86_reg_parm_stack_space): New.
(ix86_function_type_abi): New.
(ix86_call_abi_override): New.
(ix86_function_abi): New.
(ix86_cfun_abi): New.
(init_cumulative_args): Call abi specific initialization.
(function_arg_advance): Remove TARGET_64BIT_MS_ABI.
(function_arg_64): Extend SSE_REGPARM_MAX check.
(function_arg (): Remove TARGET_64BIT_MS_ABI.
(ix86_pass_by_reference): Likewise.
(ix86_function_value_regno_p): Likewise.
(function_value_64): Replace REGPARM_MAX, and SSE_REGPARM_MAX.
(ix86_function_value_1): Replace TARGET_64BIT_MS_ABI.
(return_in_memory_ms_64): Replace TARGET_64BIT_MS_ABI.
(ix86_build_builtin_va_list): Replace TARGET_64BIT_MS_ABI.
(setup_incoming_varargs_64): Adjust regparm for call abi.
(ix86_setup_incoming_varargs): Replace TARGET_64BIT_MS_ABI.
(ix86_va_start): Likewise.
(ix86_gimplify_va_arg): Likewise.
(ix86_expand_prologue): Likewise.
(output_pic_addr_const): Likewise.
(ix86_init_machine_status): Initialize call_abi by DEFAULT_ABI.
(x86_this_parameter): Replace TARGET_64BIT_MS_ABI.
(x86_output_mi_thunk): Likewise.
(x86_function_profiler): Likewise.
* config/i386/i386.h (TARGET_64BIT_MS_ABI): Use ix64_cfun_abi.
(SYSV_ABI, MS_ABI): New constants.
(DEFAULT_ABI): New.
(init_regs): Add prototype of function in regclass.c file.
(OVERRIDE_ABI_FORMAT): New.
(CONDITIONAL_REGISTER_USAGE): Remove TARGET_64BIT_MS_ABI part.
(REG_PARM_STACK_SPACE): Use ix86_reg_parm_stack_space.
(OUTGOING_REG_PARM_STACK_SPACE): New.
(ix86_reg_parm_stack_space): New prototype.
(CUMULATIVE_ARGS): Add call_abi member.
(machine_function): Add call_abi member.
* config/i386/mingw32.h (EXTRA_OS_CPP_BUILTINS): Replace TARGET_64BIT_MS_ABI
by DEFAULT_ABI compare to MS_ABI.
From-SVN: r136311
GCC Administrator [Tue, 3 Jun 2008 00:17:52 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r136308
Andy Hutchinson [Mon, 2 Jun 2008 22:39:12 +0000 (22:39 +0000)]
avr.exp: Add avr testsuite.
* gcc.target/avr/avr.exp: Add avr testsuite.
* gcc.target/avr/trivial.c: Add simple test.
* gcc.target/avr/torture/avr-torture.exp: Add avr-torture testsuite.
* gcc.target/avr/torture/trivial.c: Add simple test.
From-SVN: r136304
Andy Hutchinson [Mon, 2 Jun 2008 22:30:37 +0000 (22:30 +0000)]
pr19340.c: Disable for AVR as it has no scheduling.
* gcc.dg/pr19340.c: Disable for AVR as it has no scheduling.
* gcc.dg/section1.c: XFAIL AVR as bss section is used differently.
From-SVN: r136303
Andy Hutchinson [Mon, 2 Jun 2008 22:23:57 +0000 (22:23 +0000)]
pr18241-1.c: Use long on small int target.
* gcc.dg/pr18241-1.c: Use long on small int target.
* gcc.dg/pr32912-2.c: Ditto.
* gcc.dg/pr35065.c: Ditto.
* gcc.dg/pr36300-1.c: Ditto.
* gcc.dg/pr36300-2.c: Ditto.
* gcc.dg/pr27639.c: Reduce array size for small int target.
* gcc.dg/pr28755.c: Skip test if pointers are smaller than 32 bits.
* gcc.dg/pr36194.c: Reduce constant on small int target.
* gcc.dg/torture/builtin-frexp-1.c: Ditto.
From-SVN: r136302
Andy Hutchinson [Mon, 2 Jun 2008 22:13:30 +0000 (22:13 +0000)]
pr34330.c: Skip test for targets without pthread.
* gcc.dg/torture/pr34330.c: Skip test for targets without pthread.
* gcc.dg/torture/pr36244.c: Ditto.
* gcc.dg/tree-ssa/pr36181.c: Ditto.
From-SVN: r136301
Andy Hutchinson [Mon, 2 Jun 2008 22:08:25 +0000 (22:08 +0000)]
re PR target/34879 (__builtin_setjmp / __builtin_longjmp fails stack frame address with O2, O3 and Os)
PR target/34879
* config/avr/avr.c (TARGET_BUILTIN_SETJMP_FRAME_VALUE): Redefine.
(avr_builtin_setjmp_frame_value): New function.
* config/avr/avr.md (nonlocal_goto_receiver): Define.
(nonlocal_goto): Define.
From-SVN: r136297
Janus Weil [Mon, 2 Jun 2008 21:50:23 +0000 (23:50 +0200)]
re PR fortran/36361 (attribute declaration outside of INTERFACE body)
2008-06-02 Janus Weil <janus@gcc.gnu.org>
PR fortran/36361
* symbol.c (gfc_add_allocatable,gfc_add_dimension,
gfc_add_explicit_interface): Added checks.
* decl.c (attr_decl1): Added missing "var_locus".
* parse.c (parse_interface): Checking for errors.
2008-06-02 Janus Weil <janus@gcc.gnu.org>
PR fortran/36361
* gfortran.dg/interface_24.f90: New.
From-SVN: r136296
Paolo Carlini [Mon, 2 Jun 2008 21:27:35 +0000 (21:27 +0000)]
re PR c++/36404 (ICE with invalid enum)
/cp
2008-06-02 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/36404
* pt.c (push_template_decl_real): Consistently return error_mark_node
on error.
/testsuite
2008-06-02 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/36404
* g++.dg/template/crash79.C: New.
* g++.dg/other/pr28114.C: Adjust.
From-SVN: r136295
Richard Sandiford [Mon, 2 Jun 2008 21:13:20 +0000 (21:13 +0000)]
mips.c (mips_emit_loadgp): Return early if there is nothing do to...
gcc/
* config/mips/mips.c (mips_emit_loadgp): Return early if
there is nothing do to, otherwise emit a blockage if
!TARGET_EXPLICIT_RELOCS || crtl->profile.
* config/mips/mips.md (loadgp_blockage): Use SI rather than DI.
From-SVN: r136294
Daniel Kraft [Mon, 2 Jun 2008 20:03:03 +0000 (22:03 +0200)]
gfortran.h: New statement-type ST_FINAL for FINAL declarations.
2008-06-02 Daniel Kraft <d@domob.eu>
* gfortran.h: New statement-type ST_FINAL for FINAL declarations.
(struct gfc_symbol): New member f2k_derived.
(struct gfc_namespace): New member finalizers, for use in the above
mentioned f2k_derived namespace.
(struct gfc_finalizer): New type defined for finalizers linked list.
* match.h (gfc_match_final_decl): New function header.
* decl.c (gfc_match_derived_decl): Create f2k_derived namespace
on constructed symbol node.
(gfc_match_final_decl): New function to match a FINAL declaration line.
* parse.c (decode_statement): match-call for keyword FINAL.
(parse_derived): Parse CONTAINS section and accept FINAL statements.
* resolve.c (gfc_resolve_finalizers): New function to resolve
(that is in this case, check) a list of finalizer procedures.
(resolve_fl_derived): Call gfc_resolve_finalizers here.
* symbol.c (gfc_get_namespace): Initialize new finalizers to NULL.
(gfc_free_namespace): Free finalizers list.
(gfc_new_symbol): Initialize new f2k_derived to NULL.
(gfc_free_symbol): Free f2k_derived namespace.
(gfc_free_finalizer): New function to free a single gfc_finalizer node.
(gfc_free_finalizer_list): New function to free a linked list of
gfc_finalizer nodes.
2008-06-02 Daniel Kraft <d@domob.eu>
* finalize_1.f08: New test.
* finalize_2.f03: New test.
* finalize_3.f03: New test.
* finalize_4.f03: New test.
* finalize_5.f03: New test.
* finalize_6.f90: New test.
* finalize_7.f03: New test.
* finalize_8.f03: New test.
From-SVN: r136293
Ralf Wildenhues [Mon, 2 Jun 2008 19:37:45 +0000 (19:37 +0000)]
configure.ac: Drop unneeded backslash ending up in config.in.
gcc/
* configure.ac: Drop unneeded backslash ending up in config.in.
* acinclude.m4: Likewise.
* config.in: Regenerate.
From-SVN: r136292
Ralf Wildenhues [Mon, 2 Jun 2008 19:23:06 +0000 (19:23 +0000)]
Makefile.am (mostlyclean-local): Use libtool --mode=clean.
libjava/
* Makefile.am (mostlyclean-local): Use libtool --mode=clean.
* Makefile.in: Regenerate.
From-SVN: r136291
Daniel Franke [Mon, 2 Jun 2008 16:41:08 +0000 (12:41 -0400)]
re PR fortran/36375 (ICE on -fpreprocessed)
2008-06-02 Daniel Franke <franke.daniel@gmail.com>
PR fortran/36375
PR fortran/36377
* cpp.c (gfc_cpp_init): Do not initialize builtins if
processing already preprocessed input.
(gfc_cpp_preprocess): Finalize output with newline.
From-SVN: r136283
Jan Hubicka [Mon, 2 Jun 2008 16:36:49 +0000 (18:36 +0200)]
predict.c (maybe_hot_frequency_p): Break out of...
* predict.c (maybe_hot_frequency_p): Break out of...
(maybe_hot_bb_p): ... here.
(maybe_hot_edge_p): New.
* tree-ssa-coalesce.c (coalesce_cost_edge): Compute cost based on edge.
* basic-block.h (maybe_hot_edge_p): Declare.
From-SVN: r136282
Sandra Loosemore [Mon, 2 Jun 2008 16:01:41 +0000 (12:01 -0400)]
9425.cc: Use dg-require-fileio.
2008-06-02 Sandra Loosemore <sandra@codesourcery.com>
Daniel Jacobowitz <dan@codesourcery.com>
libstdc++-v3/
* testsuite/27_io/basic_filebuf/sputbackc/char/9425.cc: Use
dg-require-fileio.
* testsuite/27_io/basic_filebuf/sputbackc/char/1-out.cc: Likewise.
* testsuite/27_io/basic_filebuf/sputbackc/char/2-out.cc: Likewise.
Co-Authored-By: Daniel Jacobowitz <dan@codesourcery.com>
From-SVN: r136280
Paolo Carlini [Mon, 2 Jun 2008 12:22:53 +0000 (12:22 +0000)]
vector.tcc (vector<>::_M_insert_aux): In C++0x mode, avoid a memory leak if the first __uninitialized_move_a throws.
2008-06-02 Paolo Carlini <paolo.carlini@oracle.com>
* include/bits/vector.tcc (vector<>::_M_insert_aux): In C++0x mode,
avoid a memory leak if the first __uninitialized_move_a throws.
(vector<>::_M_fill_insert): Do not always copy to __x_copy, similarly
to _M_insert_aux.
* testsuite/23_containers/vector/modifiers/moveable.cc: Adjust.
* testsuite/23_containers/vector/resize/moveable.cc: Likewise.
From-SVN: r136277
Uros Bizjak [Mon, 2 Jun 2008 11:08:00 +0000 (13:08 +0200)]
i386.md (*cmpfp_<mode>): Enable for optimize_size.
* config/i386/i386.md (*cmpfp_<mode>): Enable for optimize_size.
(*cmpfp_<mode>_cc): Ditto.
(*fp_jcc_8<mode>_387): Ditto.
(*fop_<MODEF:mode>_2_i387): Ditto.
(*fop_<MODEF:mode>_3_i387): Ditto.
(*fop_xf_2_i387): Ditto.
(*fop_xf_3_i387): Ditto.
From-SVN: r136276
Tomas Bily [Mon, 2 Jun 2008 09:45:27 +0000 (11:45 +0200)]
tree-ssa-ifcombine.c (get_name_for_bit_test): Use CONVERT_EXPR_P.
* tree-ssa-ifcombine.c (get_name_for_bit_test): Use
CONVERT_EXPR_P.
* cp/typeck.c (is_bitfield_expr_with_lowered_type): Use
CASE_CONVERT.
(cp_build_unary_op): Likewise.
(cp_build_indirect_ref): Use CONVERT_EXPR_P.
(maybe_warn_about_returning_address_of_local): Likewise.
From-SVN: r136273
GCC Administrator [Mon, 2 Jun 2008 00:17:08 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r136266
Richard Sandiford [Sun, 1 Jun 2008 13:03:22 +0000 (13:03 +0000)]
ieee.exp: Load c-torture.exp.
gcc/testsuite/
* gcc.c-torture/execute/ieee/ieee.exp: Load c-torture.exp.
From-SVN: r136254
Richard Sandiford [Sun, 1 Jun 2008 13:01:23 +0000 (13:01 +0000)]
mips.c (mips_valid_offset_p): New function.
gcc/
* config/mips/mips.c (mips_valid_offset_p): New function.
(mips_valid_lo_sum_p): Likewise.
(mips_classify_address): Use them.
(mips_force_address): New function.
(mips_legitimize_address): Use it.
* config/mips/mips.md (MOVE128): New mode iterator.
(movtf): Require TARGET_64BIT. Remove empty strings.
(*movtf_internal): Rename to...
(*movtf): ...this and require !TARGET_MIPS16. Use "m" instead
of "R" and use {,fp}{load,store} attributes instead of "multi".
Use a separate define_split.
(*movtf_mips16): New pattern.
gcc/testsuite/
* gcc.target/mips/fpr-moves-7.c: New test.
* gcc.target/mips/fpr-moves-8.c: New test.
From-SVN: r136253
Richard Sandiford [Sun, 1 Jun 2008 10:01:51 +0000 (10:01 +0000)]
mips-protos.h (mips_expand_before_return): Declare.
gcc/
* config/mips/mips-protos.h (mips_expand_before_return): Declare.
* config/mips/mips.c (mips_expand_before_return): New function.
(mips_expand_epilogue): Call it.
* config/mips/mips.md (return): Turn into a define_expand.
(*return): New insn.
From-SVN: r136252
Richard Sandiford [Sun, 1 Jun 2008 09:47:28 +0000 (09:47 +0000)]
rtl.h (emit_clobber, [...]): Declare.
gcc/
* rtl.h (emit_clobber, gen_clobber, emit_use, gen_use): Declare.
* emit-rtl.c (emit_clobber, gen_clobber, emit_use, gen_use): New
functions. Do not emit uses and clobbers of CONCATs; individually
use and clobber their operands.
* builtins.c (expand_builtin_setjmp_receiver): Use emit_clobber,
gen_clobber, emit_use and gen_use.
(expand_builtin_longjmp, expand_builtin_nonlocal_goto): Likewise.
(expand_builtin_return): Likewise.
* cfgbuild.c (count_basic_blocks): Likewise.
* cfgrtl.c (rtl_flow_call_edges_add): Likewise.
* explow.c (emit_stack_restore): Likewise.
* expmed.c (extract_bit_field_1): Likewise.
* expr.c (convert_move, emit_move_complex_parts): Likewise.
(emit_move_multi_word, store_constructor): Likewise.
* function.c (do_clobber_return_reg, do_use_return_reg): Likewise.
(thread_prologue_and_epilogue_insns): Likewise.
* lower-subreg.c (resolve_simple_move): Likewise.
* optabs.c (widen_operand, expand_binop): Likewise.
(expand_doubleword_bswap, emit_no_conflict_block): Likewise.
* reload.c (find_reloads): Likewise.
* reload1.c (eliminate_regs_in_insn): Likewise.
* stmt.c (expand_nl_goto_receiver): Likewise.
* config/alpha/alpha.md (builtin_longjmp): Likewise.
* config/arc/arc.md (*movdi_insn, *movdf_insn): Likewise.
* config/arm/arm.c (arm_load_pic_register): Likewise.
(thumb1_expand_epilogue, thumb_set_return_address): Likewise.
* config/arm/arm.md (untyped_return): Likewise.
* config/arm/linux-elf.h (PROFILE_HOOK): Likewise.
* config/avr/avr.c (expand_prologue): Likewise.
* config/bfin/bfin.c (do_unlink): Likewise.
* config/bfin/bfin.md (<optab>di3, adddi3, subdi3): Likewise.
* config/cris/cris.c (cris_expand_prologue): Likewise.
* config/darwin.c (machopic_indirect_data_reference): Likewise.
(machopic_legitimize_pic_address): Likewise.
* config/frv/frv.c (frv_frame_access, frv_expand_epilogue): Likewise.
(frv_ifcvt_modify_insn, frv_expand_mdpackh_builtin): Likewise.
* config/i386/i386.c (ix86_expand_vector_move_misalign): Likewise.
(ix86_expand_convert_uns_didf_sse): Likewise.
(ix86_expand_vector_init_general): Likewise.
* config/ia64/ia64.md (eh_epilogue): Likewise.
* config/iq2000/iq2000.c (iq2000_expand_epilogue): Likewise.
* config/m32c/m32c.c (m32c_emit_eh_epilogue): Likewise.
* config/m32r/m32r.c (m32r_reload_lr): Likewise.
(config/iq2000/iq2000.c): Likewise.
* config/mips/mips.md (fixuns_truncdfsi2): Likewise.
(fixuns_truncdfdi2, fixuns_truncsfsi2, fixuns_truncsfdi2): Likewise.
(builtin_longjmp): Likewise.
* config/mn10300/mn10300.md (call, call_value): Likewise.
* config/pa/pa.md (nonlocal_goto, nonlocal_longjmp): Likewise.
* config/pdp11/pdp11.md (abshi2): Likewise.
* config/rs6000/rs6000.c (rs6000_emit_move): Likewise.
* config/s390/s390.c (s390_emit_prologue): Likewise.
* config/s390/s390.md (movmem_long, setmem_long): Likewise.
(cmpmem_long, extendsidi2, zero_extendsidi2, udivmoddi4): Likewise.
(builtin_setjmp_receiver, restore_stack_nonlocal): Likewise.
* config/sh/sh.c (prepare_move_operands): Likewise.
(output_stack_adjust, sh_expand_epilogue): Likewise.
(sh_set_return_address, sh_expand_t_scc): Likewise.
* config/sparc/sparc.c (load_pic_register): Likewise.
* config/sparc/sparc.md (untyped_return, nonlocal_goto): Likewise.
* config/spu/spu.c (spu_expand_epilogue): Likewise.
* config/v850/v850.c (expand_epilogue): Likewise.
From-SVN: r136251
Jerry DeLisle [Sun, 1 Jun 2008 00:30:37 +0000 (00:30 +0000)]
intrinsic.texi: Revert wrong commit.
2008-05-31 Jerry DeLisle <jvdelisle@gcc.gnu.org>
* intrinsic.texi: Revert wrong commit.
From-SVN: r136249
GCC Administrator [Sun, 1 Jun 2008 00:17:13 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r136247
Paolo Carlini [Sat, 31 May 2008 23:01:09 +0000 (23:01 +0000)]
re PR libstdc++/36338 (heap_sort effectively hangs with -D_GLIBCXX_DEBUG)
2008-05-31 Paolo Carlini <paolo.carlini@oracle.com>
Chris Jefferson <chris@bubblescope.net>
PR libstdc++/36338
* include/bits/stl_heap.h (sort_heap): Use __pop_heap directly.
(pop_heap): Slightly tweak.
Co-Authored-By: Chris Jefferson <chris@bubblescope.net>
From-SVN: r136242
Steven G. Kargl [Sat, 31 May 2008 19:19:48 +0000 (19:19 +0000)]
arith.c (gfc_arith_init_1): Remove now unused r and c variables.
2008-05-31 Steven G. Kargl <kargls@comcast.net>
* arith.c (gfc_arith_init_1): Remove now unused r and c variables.
Cleanup numerical inquiry function initialization.
(gfc_arith_done_1): Replace multiple mpfr_clear() invocations with
a single mpfr_clears().
(gfc_check_real_range): Re-arrange logic to eliminate multiple
unnecessary branching and assignments.
(gfc_arith_times): Use mpfr_clears() in preference to multiple
mpfr_clear().
(gfc_arith_divide): Ditto.
(complex_reciprocal): Eliminate now unused variables a, re, im.
Cleanup the mpfr abuse. Use mpfr_clears() in preference to
multiple mpfr_clear().
(complex_pow): Fix comment whitespace. Use mpfr_clears() in
preference to multiple mpfr_clear().
* simplify.c (gfc_simplify_and): Remove blank line.
(gfc_simplify_atan2): Move error checking earlier to eliminate
a now unnecessay gfc_free_expr().
(gfc_simplify_bessel_j0): Remove unnecessary gfc_set_model_kind().
(gfc_simplify_bessel_j1): Ditto.
(gfc_simplify_bessel_jn): Ditto.
(gfc_simplify_bessel_y0): Ditto.
(gfc_simplify_bessel_y1): Ditto.
(gfc_simplify_bessel_yn): Ditto.
(only_convert_cmplx_boz): Eliminate unnecessary duplicate code, and
combine nested if statement rational expressions.
(gfc_simplify_cos): Use mpfr_clears() in preference to multiple
mpfr_clear().
(gfc_simplify_exp): Ditto.
(gfc_simplify_fraction): Move gfc_set_model_kind() to after the
special case of 0. Use mpfr_clears() in preference to multiple
mpfr_clear().
(gfc_simplify_gamma): Eliminate unnecessary gfc_set_model_kind().
(gfc_simplify_lgamma): Ditto.
(gfc_simplify_log10): Ditto.
(gfc_simplify_log): Move gfc_set_model_kind () inside switch
statement. Use mpfr_clears() in preference to multiple mpfr_clear().
(gfc_simplify_mod): Eliminate now unused variables quot, iquot,
and term. Simplify the mpfr magic.
(gfc_simplify_modulo): Ditto.
(gfc_simplify_nearest): Eliminate unnecessary gfc_set_model_kind().
(gfc_simplify_scale): Use mpfr_clears() in preference to multiple
mpfr_clear().
(gfc_simplify_sin): Ditto
(gfc_simplify_sqrt): Ditto
(gfc_simplify_set_exponent): Move gfc_set_model_kind() to after the
special case of 0. Use mpfr_clears() in preference to multiple
mpfr_clear().
From-SVN: r136239
Anatoly Sokolov [Sat, 31 May 2008 15:01:16 +0000 (19:01 +0400)]
avr.md (UNSPECV_WRITE_SP_IRQ_ON): New constants.
* config/avr/avr.md (UNSPECV_WRITE_SP_IRQ_ON): New constants.
(UNSPECV_WRITE_SP_IRQ_OFF): (Ditto.).
(movhi_sp_r_irq_off, movhi_sp_r_irq_on): New insn.
* config/avr/avr.c (expand_prologue, expand_epilogue): Use
movhi_sp_r_irq_off and movhi_sp_r_irq_on insns for writing to the
stack pointer register.
(output_movhi): Remove code for interrupt specific writing to the
stack pointer register.
From-SVN: r136238
Richard Guenther [Sat, 31 May 2008 13:01:10 +0000 (13:01 +0000)]
re PR tree-optimization/34244 (VRP/SCEV miscompiles Firefox)
2008-05-31 Richard Guenther <rguenther@suse.de>
PR tree-optimization/34244
* fold-const.c (tree_expr_nonnegative_warnv_p): Do not ask VRP.
(tree_expr_nonzero_warnv_p): Likewise.
* tree-vrp.c (vrp_expr_computes_nonnegative): Call
ssa_name_nonnegative_p.
(vrp_expr_computes_nonzero): Call ssa_name_nonzero_p.
(extract_range_from_unary_expr): Use vrp_expr_computes_nonzero,
not tree_expr_nonzero_warnv_p.
PR tree-optimization/36262
Revert
2007-11-29 Zdenek Dvorak <ook@ucw.cz>
PR tree-optimization/34244
* tree-vrp.c (adjust_range_with_scev): Clear scev cache.
(record_numbers_of_iterations): New function.
(execute_vrp): Cache the numbers of iterations of loops.
* tree-scalar-evolution.c (scev_reset_except_niters):
New function.
(scev_reset): Use scev_reset_except_niters.
* tree-scalar-evolution.h (scev_reset_except_niters): Declare.
From-SVN: r136237
Bernd Schmidt [Sat, 31 May 2008 10:09:51 +0000 (10:09 +0000)]
bfin.h (TARGET_CPU_CPP_BUILTINS): Define __WORKAROUND_RETS when appropriate.
gcc/
* config/bfin/bfin.h (TARGET_CPU_CPP_BUILTINS): Define
__WORKAROUND_RETS when appropriate.
gcc/testsuite/
* gcc.target/bfin/mcpu-default.c: Adjust for recent changes: default
CPU has all workarounds, and no longer explicitly sets bf532 as CPU
type.
* gcc.target/bfin/mcpu-bf531.c: Adjust for WORKAROUND_RETS.
* gcc.target/bfin/mcpu-bf532.c: Likewise.
* gcc.target/bfin/mcpu-bf533.c: Likewise.
* gcc.target/bfin/mcpu-bf534.c: Likewise.
* gcc.target/bfin/mcpu-bf536.c: Likewise.
* gcc.target/bfin/mcpu-bf537.c: Likewise.
* gcc.target/bfin/mcpu-bf548.c: Likewise.
* gcc.target/bfin/mcpu-bf549.c: Likewise.
* gcc.target/bfin/mcpu-bf561.c: Likewise.
* gcc.target/bfin/mcpu-bf523.c: Likewise.
* gcc.target/bfin/mcpu-bf524.c: Likewise.
* gcc.target/bfin/mcpu-bf526.c: Likewise.
* gcc.target/bfin/mcpu-bf522.c: Likewise.
* gcc.target/bfin/mcpu-bf525.c: Likewise.
* gcc.target/bfin/mcpu-bf527.c: Likewise.
* gcc.target/bfin/mcpu-bf538.c: Likewise.
* gcc.target/bfin/mcpu-bf539.c: Likewise.
* gcc.target/bfin/mcpu-bf542.c: Likewise.
* gcc.target/bfin/mcpu-bf544.c: Likewise.
* gcc.target/bfin/mcpu-default.c: Likewise.
* gcc.target/bfin/workarounds-any.c: Likewise.
* gcc.target/bfin/workarounds-none.c: Likewise.
* gcc.target/bfin/workarounds-1.c: Likewise.
* gcc.target/bfin/workarounds-2.c: Likewise.
* gcc.target/bfin/workarounds-3.c: Likewise.
* gcc.target/bfin/workarounds-4.c: Likewise.
From-SVN: r136236
Uros Bizjak [Sat, 31 May 2008 09:48:21 +0000 (11:48 +0200)]
i386.md (*fop_<mode>_comm_mixed): Macroize from *fop_sf_comm_mixed and *fop_df_comm_mixed insn patterns using...
* config/i386/i386.md (*fop_<mode>_comm_mixed): Macroize from
*fop_sf_comm_mixed and *fop_df_comm_mixed insn patterns using MODEF
mode iterator.
(*fop_<mode>_comm_sse): Macroize from *fop_sf_comm_sse and
*fop_df_comm_sse insn patterns using MODEF mode iterator.
(*fop_<mode>_comm_i387): Macroize from *fop_sf_comm_i387 and
*fop_df_comm_i387 insn patterns using MODEF mode iterator.
(*fop_<mode>_1_mixed): Macroize from *fop_sf_1_mixed and
*fop_df_1_mixed insn patterns using MODEF mode iterator.
(*fop_<mode>_1_sse): Macroize from *fop_sf_1_sse and
*fop_df_1_sse insn patterns using MODEF mode iterator.
(*fop_<mode>_1_i387): Macroize from *fop_sf_1_i387 and
*fop_df_1_i387 insn patterns using MODEF mode iterator.
(*fop_<MODEF:mode>_2_i387): Macroize from *fop_sf_2<mode>_i387 and
*fop_df_2<mode>_i387 insn patterns using MODEF mode iterator.
(*fop_<MODEF:mode>_3_i387): Macroize from *fop_sf_3<mode>_i387 and
*fop_df_3<mode>_i387 insn patterns using MODEF mode iterator.
(*fop_xf_2_i387): Rename from *fop_xf_2<mode>_i387.
(*fop_xf_3_i387): Rename from *fop_xf_3<mode>_i387.
(*fop_xf_4_i387): Use <MODE> for mode attribute.
(*fop_xf_5_i387): Ditto.
(*fop_xf_6_i387): Ditto.
From-SVN: r136235
GCC Administrator [Sat, 31 May 2008 00:17:13 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r136229
Richard Guenther [Fri, 30 May 2008 19:58:30 +0000 (19:58 +0000)]
builtins.c (build_string_literal): Avoid generating a non-gimple_val result.
2008-05-30 Richard Guenther <rguenther@suse.de>
* builtins.c (build_string_literal): Avoid generating
a non-gimple_val result.
From-SVN: r136222
DJ Delorie [Fri, 30 May 2008 19:19:45 +0000 (15:19 -0400)]
exec-tool.in: Use an environment variable (private) instead of a file (shared) as a semaphore...
* exec-tool.in: Use an environment variable (private) instead of a
file (shared) as a semaphore, so as to not break parallel builds.
From-SVN: r136221
Steven Bosscher [Fri, 30 May 2008 18:28:48 +0000 (18:28 +0000)]
optabs.c (maybe_encapsulate_block): Remove.
2008-05-30 Steven Bosscher <stevenb.gcc@gmail.com>
* optabs.c (maybe_encapsulate_block): Remove.
(emit_libcall_block): Adjust accordingly.
* optabs.h (maybe_encapsulate_block): Remove prototype.
* config/rs6000/rs6000.c (rs6000_legitimize_tls_address):
Don't use maybe_encapsulate_block.
From-SVN: r136217
Steven Bosscher [Fri, 30 May 2008 18:21:31 +0000 (18:21 +0000)]
rs6000.c (rs6000_legitimize_address, [...]): Make sure an rtx is a SYMBOL_REF before calling get_pool_constant.
2008-05-30 Steven Bosscher <stevenb.gcc@gmail.com>
* config/rs6000/rs6000.c (rs6000_legitimize_address,
rs6000_legitimize_reload_address, rs6000_emit_move): Make sure an
rtx is a SYMBOL_REF before calling get_pool_constant.
From-SVN: r136216
Julian Brown [Fri, 30 May 2008 18:21:31 +0000 (18:21 +0000)]
configure.ac (arm*-*-linux-gnueabi): Don't disable building of libobjc for ARM EABI Linux.
* configure.ac (arm*-*-linux-gnueabi): Don't disable building
of libobjc for ARM EABI Linux.
* configure: Regenerate.
libobjc/
* exception.c (__objc_exception_class): Initialise as constant
array for ARM EABI. Change macro to static const for non-ARM EABI.
(ObjcException): Add note about structure layout. Remove landingPad
and handlerSwitchValue for ARM EABI.
(get_ttype_entry): Add __ARM_EABI_UNWINDER__ version
of function.
(CONTINUE_UNWINDING): Define for ARM EABI/otherwise cases.
(PERSONALITY_FUNCTION): Use ARM EABI-specific arguments, and add
ARM EABI unwinding support.
(objc_exception_throw): Use memcpy to initialise exception class.
From-SVN: r136215
Tom Tromey [Fri, 30 May 2008 14:25:09 +0000 (14:25 +0000)]
re PR preprocessor/36320 (Required diagnosis of syntax error missed)
gcc/testsuite
PR preprocessor/36320:
* gcc.dg/cpp/pr36320.c: New file.
libcpp
PR preprocessor/36320:
* internal.h (_cpp_parse_expr): Update.
* expr.c (_cpp_parse_expr): Add 'is_if' argument. Update error
messages.
* directives.c (do_if): Update.
(do_elif): Require expression if processing group.
From-SVN: r136209
Eric Botcazou [Fri, 30 May 2008 07:35:17 +0000 (07:35 +0000)]
* fold-const.c (fold_unary) <CASE_CONVERT>: Add ??? comment.
From-SVN: r136200
Danny Smith [Fri, 30 May 2008 00:57:56 +0000 (00:57 +0000)]
cpplib.h (struct cpp_dir): Add new field, canonical_name.
libcpp/ChangeLog
* include/cpplib.h (struct cpp_dir): Add new field, canonical_name.
gcc/ChangeLog
* incpath.c: Use HOST_LACKS_INODE_NUMBERS conditional
rather than OS names to choose INO_T_EQ definition.
(DIRS_EQ) [!INO_T_EQ]: Don't worry about case in comparison.
(add_path) [!INO_T_EQ]: Use lrealpath to fill canonical_name field.
From-SVN: r136196
GCC Administrator [Fri, 30 May 2008 00:17:13 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r136194
Daniel Franke [Thu, 29 May 2008 18:21:35 +0000 (14:21 -0400)]
re PR target/36348 (f951 link failure on i686-apple-darwin9)
gcc:
2008-05-29 Daniel Franke <franke.daniel@gmail.com>
PR target/36348
* config/darwin-f.c: New.
* config/t-darwin: Added rule to build darwin-f.o.
* config.gcc: Defined new variable, fortran_target_objs.
(*-*-darwin*): Set fortran_target_objs.
* Makefile.in: Defined new variable FORTRAN_TARGET_OBJS.
* configure.ac: Substitute fortran_target_objs, set
FORTRAN_TARGET_OBJS.
* configure: Regenerated.
gcc/fortran:
2008-05-29 Daniel Franke <franke.daniel@gmail.com>
PR target/36348
* Make-lang.in (F95_OBJS): Added dependency on FORTRAN_TARGET_OBJS.
From-SVN: r136178
Paolo Carlini [Thu, 29 May 2008 16:44:29 +0000 (16:44 +0000)]
re PR c++/35243 (ICE with invalid initializer list in variadic template)
/cp
2008-05-29 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/35243
* pt.c (tsubst_initializer_list): Consistently check the tree
returned by tsubst_pack_expansion for error_mark_node.
/testsuite
2008-05-29 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/35243
* g++.dg/cpp0x/vt-35243.C: New.
From-SVN: r136174
Francois-Xavier Coudert [Thu, 29 May 2008 15:24:46 +0000 (15:24 +0000)]
scanner.c (load_line): Add first_char argument.
* scanner.c (load_line): Add first_char argument. Don't call ungetc.
(gfc_read_orig_filename): Adjust call to load_line. Don't call
ungetc.
(load_file): Adjust call to load_line.
From-SVN: r136171
H.J. Lu [Thu, 29 May 2008 12:35:04 +0000 (12:35 +0000)]
re PR middle-end/35771 (Call expander ignores type alignment)
gcc/
2008-05-29 H.J. Lu <hongjiu.lu@intel.com>
PR target/35771
* config/i386/i386.c (ix86_function_arg_boundary): Convert to
canonical type if needed.
gcc/testsuite/
2008-05-29 H.J. Lu <hongjiu.lu@intel.com>
PR target/35771
* gcc.dg/torture/pr35771.h: New.
* gcc.dg/torture/pr35771-1.c: Likewise.
* gcc.dg/torture/pr35771-2.c: Likewise.
* gcc.dg/torture/pr35771-3.c: Likewise.
From-SVN: r136159
Paolo Carlini [Thu, 29 May 2008 11:42:08 +0000 (11:42 +0000)]
bitset (bitset(const char*)): Implement DR 778 in debug-mode too.
2008-05-29 Paolo Carlini <paolo.carlini@oracle.com>
* include/debug/bitset (bitset(const char*)): Implement DR 778
in debug-mode too.
* include/bits/cpp_type_traits.h (__is_integer): In C++0x mode
deal with char16_t and char32_t.
From-SVN: r136158
Eric Botcazou [Thu, 29 May 2008 11:33:17 +0000 (11:33 +0000)]
tree-nested.c (check_for_nested_with_variably_modified): Fix typo.
* tree-nested.c (check_for_nested_with_variably_modified): Fix typo.
From-SVN: r136154
Richard Guenther [Thu, 29 May 2008 10:31:58 +0000 (10:31 +0000)]
re PR tree-optimization/36343 (Wrong code due to bad TBAA pruning of points-to-sets and use in call clobbering)
2008-05-29 Richard Guenther <rguenther@suse.de>
PR tree-optimization/36343
PR tree-optimization/36346
PR tree-optimization/36347
* tree-flow.h (clobber_what_p_points_to): Declare.
* tree-ssa-structalias.c (set_uids_in_ptset): Whether the
pointed-to variable is dereferenced is irrelevant to whether
the pointer can access the pointed-to variable.
(clobber_what_p_points_to): New function.
* tree-ssa-alias.c (set_initial_properties): Use it.
* tree-ssa.c (verify_flow_sensitive_alias_info): Adjust
call clobber check for NMTs.
* gcc.c-torture/execute/pr36343.c: New testcase.
From-SVN: r136152
Arnaud Charlet [Thu, 29 May 2008 08:57:36 +0000 (08:57 +0000)]
* gnat.dg/abstract1.ad[sb]: New test.
From-SVN: r136151
Arnaud Charlet [Thu, 29 May 2008 08:56:41 +0000 (10:56 +0200)]
Resync.
From-SVN: r136150
Arnaud Charlet [Thu, 29 May 2008 08:56:01 +0000 (10:56 +0200)]
re PR ada/864 (--program-suffix is ignored (for ada))
PR ada/864
* osint.ads, osint.adb (Program_Name): New parameter "Prog" to
allow recognition of program suffix in addition to prefix.
* gnatchop.adb (Locate_Executable): Add support for prefix.
* make.adb, gnatcmd.adb, gnatlink.adb, prj-makr.adb,
mlib-utl.adb: Adjust calls to Program_Name.
From-SVN: r136149
Ed Schonberg [Thu, 29 May 2008 08:55:46 +0000 (10:55 +0200)]
sem_ch6.adb (Analyze_Subprogram_Specification): if the return type is abstract...
2008-05-29 Ed Schonberg <schonberg@adacore.com>
* sem_ch6.adb (Analyze_Subprogram_Specification): if the return type
is abstract, do not apply abstractness check on subprogram if this is
a renaming declaration.
From-SVN: r136148
Arnaud Charlet [Thu, 29 May 2008 08:55:35 +0000 (10:55 +0200)]
* sem_eval.adb: Minor reformatting
From-SVN: r136147
Arnaud Charlet [Thu, 29 May 2008 08:07:25 +0000 (10:07 +0200)]
Resync.
From-SVN: r136145
Robert Dewar [Thu, 29 May 2008 08:06:40 +0000 (10:06 +0200)]
sem_eval.adb (Is_Same_Value): Take care of several more cases
2008-05-29 Robert Dewar <dewar@adacore.com>
* sem_eval.adb (Is_Same_Value): Take care of several more cases
From-SVN: r136144
Javier Miranda [Thu, 29 May 2008 08:06:31 +0000 (10:06 +0200)]
2008-05-29 Javier Miranda <miranda@adacore.com>
* sem_util.adb:
(Abstract_Interface_List): Add missing support for full type-declaration
associated with synchronized types.
From-SVN: r136143
Arnaud Charlet [Thu, 29 May 2008 08:06:21 +0000 (10:06 +0200)]
* sinput-p.ads: Minor reformatting
From-SVN: r136142
Arnaud Charlet [Thu, 29 May 2008 08:06:12 +0000 (10:06 +0200)]
* sem_res.adb: Minor reformatting
From-SVN: r136141
Arnaud Charlet [Thu, 29 May 2008 08:06:03 +0000 (10:06 +0200)]
* sem_prag.adb: Minor reformatting
From-SVN: r136140
Arnaud Charlet [Thu, 29 May 2008 08:05:54 +0000 (10:05 +0200)]
* sem_ch3.adb: Minor reformatting
From-SVN: r136139
GCC Administrator [Thu, 29 May 2008 00:17:14 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r136135
Seongbae Park [Wed, 28 May 2008 22:03:14 +0000 (22:03 +0000)]
value-prof.c (tree_ic_transform): Use HOST_WIDEST_INT_PRINT_DEC for printing gcov_type.
2008-05-28 Seongbae Park <seongbae.park@gmail.com>
* value-prof.c (tree_ic_transform): Use HOST_WIDEST_INT_PRINT_DEC
for printing gcov_type.
From-SVN: r136131
Janus Weil [Wed, 28 May 2008 21:27:56 +0000 (23:27 +0200)]
re PR fortran/36325 (specific or generic INTERFACE implies the EXTERNAL attribute)
2008-05-28 Janus Weil <janus@gcc.gnu.org>
PR fortran/36325
PR fortran/35830
* interface.c (gfc_procedure_use): Enable argument checking for
external procedures with explicit interface.
* symbol.c (check_conflict): Fix conflict checking for externals.
(copy_formal_args): Fix handling of arrays.
* resolve.c (resolve_specific_f0, resolve_specific_s0): Fix handling
of intrinsics.
* parse.c (parse_interface): Non-abstract INTERFACE statement implies
EXTERNAL attribute.
2008-05-28 Janus Weil <janus@gcc.gnu.org>
PR fortran/36325
PR fortran/35830
* gfortran.dg/interface_23.f90: New.
* gfortran.dg/gomp/reduction3.f90: Fixed invalid code.
* gfortran.dg/proc_decl_12.f90: New:
* gfortran.dg/external_procedures_1.f90: Fixed error message.
From-SVN: r136130
Francois-Xavier Coudert [Wed, 28 May 2008 21:11:39 +0000 (21:11 +0000)]
re PR fortran/36319 (Segfault with wide characters in DATA)
PR fortran/36319
* intrinsic.c (gfc_convert_chartype): Don't mark conversion
function as pure.
* trans-array.c (gfc_trans_array_ctor_element): Divide element
size by the size of one character to obtain length.
* iresolve.c (gfc_resolve_cshift): Call the _char4 variant when
appropriate.
(gfc_resolve_eoshift): Likewise.
* trans-intrinsic.c (gfc_conv_intrinsic_ctime): Minor beautification.
(gfc_conv_intrinsic_fdate): Minor beautification.
(gfc_conv_intrinsic_ttynam): Minor beautification.
(gfc_conv_intrinsic_minmax_char): Allow all character kinds.
(size_of_string_in_bytes): New function.
(gfc_conv_intrinsic_size): Call size_of_string_in_bytes for
character expressions.
(gfc_conv_intrinsic_sizeof): Likewise.
(gfc_conv_intrinsic_array_transfer): Likewise.
(gfc_conv_intrinsic_trim): Allow all character kinds. Minor
beautification.
(gfc_conv_intrinsic_repeat): Fix comment typo.
* simplify.c (gfc_convert_char_constant): Take care of conversion
of array constructors.
* intrinsics/string_intrinsics_inc.c (string_index): Return
correct value for zero-length substring.
* intrinsics/cshift0.c: Add _char4 variant.
* intrinsics/eoshift0.c (eoshift0): Allow filler to be a pattern
wider than a single byte. Add _char4 variant and use above
functionality.
* intrinsics/eoshift2.c (eoshift2): Likewise.
* m4/eoshift1.m4: Likewise.
* m4/eoshift3.m4: Likewise.
* m4/cshift1.m4: Add _char4 variants.
* gfortran.map (GFORTRAN_1.1): Add _gfortran_cshift0_1_char4,
_gfortran_cshift0_2_char4, _gfortran_cshift0_4_char4,
_gfortran_cshift0_8_char4, _gfortran_cshift1_16_char4,
_gfortran_cshift1_4_char4, _gfortran_cshift1_8_char4,
_gfortran_eoshift0_1_char4, _gfortran_eoshift0_2_char4,
_gfortran_eoshift0_4_char4, _gfortran_eoshift0_8_char4,
_gfortran_eoshift1_16_char4, _gfortran_eoshift1_4_char4,
_gfortran_eoshift1_8_char4, _gfortran_eoshift2_1_char4,
_gfortran_eoshift2_2_char4, _gfortran_eoshift2_4_char4,
_gfortran_eoshift2_8_char4, _gfortran_eoshift3_16_char4,
_gfortran_eoshift3_4_char4 and _gfortran_eoshift3_8_char4.
* generated/eoshift3_4.c: Regenerate.
* generated/eoshift1_8.c: Regenerate.
* generated/eoshift1_16.c: Regenerate.
* generated/cshift1_4.c: Regenerate.
* generated/eoshift1_4.c: Regenerate.
* generated/eoshift3_8.c: Regenerate.
* generated/eoshift3_16.c: Regenerate.
* generated/cshift1_8.c: Regenerate.
* generated/cshift1_16.c: Regenerate.
* gfortran.dg/widechar_5.f90: New file.
* gfortran.dg/widechar_6.f90: New file.
* gfortran.dg/widechar_7.f90: New file.
* gfortran.dg/widechar_intrinsics_5.f90: Uncomment the lines
testing the SPREAD intrinsic.
* gfortran.dg/widechar_intrinsics_6.f90: New file.
* gfortran.dg/widechar_intrinsics_7.f90: New file.
* gfortran.dg/widechar_intrinsics_8.f90: New file.
* gfortran.dg/widechar_intrinsics_9.f90: New file.
* gfortran.dg/widechar_intrinsics_10.f90: New file.
From-SVN: r136129
Seongbae Park [Wed, 28 May 2008 20:15:10 +0000 (20:15 +0000)]
tree-ssa-propagate.c (set_rhs): Preserve the histogram and the eh region information.
2008-05-28 Seongbae Park <seongbae.park@gmail.com>
* tree-ssa-propagate.c (set_rhs): Preserve the histogram
and the eh region information.
* value-prof.c (gimple_move_stmt_histograms): New function.
* value-prof.h (gimple_move_stmt_histograms): New function declaration.
From-SVN: r136124
Andreas Tobler [Wed, 28 May 2008 18:56:56 +0000 (18:56 +0000)]
pa.md: Remove extern frame_pointer_needed declaration.
2008-05-28 Andreas Tobler <a.tobler@schweiz.org>
* config/pa/pa.md: Remove extern frame_pointer_needed declaration.
From-SVN: r136121
Seongbae Park [Wed, 28 May 2008 18:14:32 +0000 (18:14 +0000)]
value-prof.c (tree_ic_transform): Print counts.
gcc/ChangeLog:
2008-05-28 Seongbae Park <seongbae.park@gmail.com>
* value-prof.c (tree_ic_transform): Print counts.
* tree-profile.c (tree_gen_ic_func_profiler):
Clear __gcov_indreict_call_callee variable
to avoid misattribution of the profile.
gcc/testsuite/ChangeLog:
2008-05-28 Seongbae Park <seongbae.park@gmail.com>
* gcc.dg/tree-prof/ic-misattribution-1.c: New test.
* gcc.dg/tree-prof/ic-misattribution-1a.c: New test.
* lib/profopt.exp (profopt-get-options): Support
dg-additional-sources.
(profopt-execute): Handle additional sources.
From-SVN: r136118
Rafael Avila de Espindola [Wed, 28 May 2008 16:20:25 +0000 (16:20 +0000)]
see.c (see_def_extension_not_merged): Use copy_rtx_if_shared to avoid invalid sharing.
2008-05-28 Rafael Espindola <espindola@google.com>
* see.c (see_def_extension_not_merged): Use copy_rtx_if_shared to avoid
invalid sharing.
2008-05-28 Rafael Espindola <espindola@google.com>
* gcc.dg/
20080528-1.c: New test.
From-SVN: r136115
Arnaud Charlet [Wed, 28 May 2008 15:56:29 +0000 (17:56 +0200)]
Resync.
From-SVN: r136114
Ed Schonberg [Wed, 28 May 2008 15:56:02 +0000 (17:56 +0200)]
sem_res.adb (Valid_Conversion): An anonymous access_to_subprogram type has a deeper level than any master only...
2008-05-28 Ed Schonberg <schonberg@adacore.com>
* sem_res.adb (Valid_Conversion): An anonymous access_to_subprogram
type has a deeper level than any master only when it is the type of an
access parameter.
From-SVN: r136113
Vincent Celier [Wed, 28 May 2008 15:55:52 +0000 (17:55 +0200)]
sinput-p.adb (Source_File_Is_Subunit): Allow special character used for preprocessing
2008-05-28 Vincent Celier <celier@adacore.com>
* sinput-p.adb (Source_File_Is_Subunit): Allow special character used
for preprocessing
* sinput-p.ads: Minor comment update and reformatting
From-SVN: r136112
Vincent Celier [Wed, 28 May 2008 15:55:41 +0000 (17:55 +0200)]
re PR ada/34446 (gnatprep evaluating "not" operator at incorrect precidence)
2008-05-28 Vincent Celier <celier@adacore.com>
PR ada/34446
* gnat_ugn.texi: Document restriction introduced on 2007-04-20 in
preprocessing expressions
From-SVN: r136111
Eric Botcazou [Wed, 28 May 2008 15:55:30 +0000 (17:55 +0200)]
system-lynxos-ppc.ads (Always_Compatible_Rep): Set to False.
2008-05-28 Eric Botcazou <ebotcazou@adacore.com>
* system-lynxos-ppc.ads (Always_Compatible_Rep): Set to False.
* system-lynxos-x86.ads (Always_Compatible_Rep): Set to False.
From-SVN: r136110
Ed Schonberg [Wed, 28 May 2008 15:55:20 +0000 (17:55 +0200)]
sem_ch5.adb (Analyze_Assignment): If the name is of a local anonymous access type...
2008-05-28 Ed Schonberg <schonberg@adacore.com>
* sem_ch5.adb (Analyze_Assignment): If the name is of a local anonymous
access type, wrap the expression in a conversion to force an
accessibility check.
* sem_aggr.adb (Aggegate_Constraint_Checks): Apply conversion to force
accessibility checks even when expansion is disabled in order to
generate messages in the presence of previous errors or in
semantics-only mode.
From-SVN: r136108
Arnaud Charlet [Wed, 28 May 2008 15:34:31 +0000 (17:34 +0200)]
Resync.
From-SVN: r136107
Sergey Rybin [Wed, 28 May 2008 15:34:15 +0000 (17:34 +0200)]
sem_prag.adb (Process_Extended_Import_Export_Subprogram_Pragma): Set Entity field for formal_parameter_NAME in MECHANISM_ASSOCIATION.
2008-05-28 Sergey Rybin <rybin@adacore.com>
* sem_prag.adb (Process_Extended_Import_Export_Subprogram_Pragma): Set
Entity field for formal_parameter_NAME in MECHANISM_ASSOCIATION.
From-SVN: r136106
Javier Miranda [Wed, 28 May 2008 15:34:05 +0000 (17:34 +0200)]
sem_util.ads (Find_Overridden_Synchronized_Primitive): Removed.
2008-05-28 Javier Miranda <miranda@adacore.com>
* sem_util.ads (Find_Overridden_Synchronized_Primitive): Removed.
* sem_util.adb (Find_Overridden_Synchronized_Primitive): Removed.
* sem_ch6.adb (Check_Synchronized_Overriding): Remove one formal.
Add code that was previously located in
Find_Overridden_Synchronized_Primitive because it is only used here.
From-SVN: r136105
Javier Miranda [Wed, 28 May 2008 15:33:54 +0000 (17:33 +0200)]
sem_ch3.adb (Derive_Progenitor_Subprograms): Add documentation.
2008-05-28 Javier Miranda <miranda@adacore.com>
* sem_ch3.adb (Derive_Progenitor_Subprograms): Add documentation.
From-SVN: r136104
Andrew Haley [Wed, 28 May 2008 15:12:47 +0000 (15:12 +0000)]
re PR libgcj/35020 (Class.getSimpleName() differs from Sun Java)
2008-05-28 Andrew Haley <aph@redhat.com>
* java/lang/Class.java (getSimpleName): Use getEnclosingClass().
* testsuite/libjava.lang/PR35020.java: New cases.
* testsuite/libjava.lang/PR35020.out: New cases.
From-SVN: r136103
Richard Guenther [Wed, 28 May 2008 14:45:57 +0000 (14:45 +0000)]
re PR tree-optimization/36339 (not call clobbering variable for non common offset)
2008-05-28 Richard Guenther <rguenther@suse.de>
PR tree-optimization/36339
* tree-ssa-alias.c (set_initial_properties): Move pt_anything
and clobbering code out of the loop.
From-SVN: r136100
Andreas Krebbel [Wed, 28 May 2008 14:11:19 +0000 (14:11 +0000)]
constraints.md ('b', [...]): New constraint letters defined.
2008-05-28 Andreas Krebbel <krebbel1@de.ibm.com>
* config/s390/constraints.md ('b', 'C', 'D', 'e'): New constraint
letters defined.
* config/s390/s390.c (s390_compare_and_branch_condition_mask,
s390_contiguous_bitmask_p, s390_symref_operand_p,
s390_check_symref_alignment, s390_reload_larl_operand,
s390_reload_symref_address): New functions.
(s390_branch_condition_mnemonic): Support compare and branch
instructions.
(s390_mem_constraint): Avoid symrefs to accepted by the 'T'
and 'W' constraints.
(s390_secondary_reload): Add secondary reloads for unaligned
symbol refs or symbol refs to floating point or QI/TI mode
integer values.
(legitimate_address_p): Accept symbol references as addresses.
(s390_expand_insv): Use rotate and insert selected bits
instruction for insv when building for z10.
(print_operand_address): Handle symbol ref addresses.
(print_operand): Output modifier 'c' added for signed byte
values.
(s390_encode_section_info): Mark symbol refs with
SYMBOL_FLAG_NOT_NATURALLY_ALIGNED if appropriate.
* config/s390/s390.md (SIL,RRS,RIS): New instruction formats added.
(length attribute): RRF, RRR have 4 byte length.
(FPALL, INTALL): New mode iterators added.
(*tstdi_sign, *cmpdi_ccs_sign, *cmpsi_ccs_sign,
*cmp<mode>_ccs, *cmpdi_ccu_zero, *cmpdi_ccu, *cmpsi_ccu, *cmphi_ccu,
*movdi_64, *movsi_zarch, *movhi, movmem<mode>, *movmem_short,
*extendsidi2, *extendhidi2_extimm, *extendhisi2_extimm,
*zero_extendsidi2, adddi3, *adddi3_31z, *adddi3_31, addsi3,
*add<mode>3, *add<mode>3_carry1_cc, *add<mode>3_carry2_cc,
*add<mode>3_cc, *add<mode>3_imm_cc, *muldi3_sign, muldi3,
*mulsi3_sign, mulsi3, mulsidi3): Patterns enhanced with z10
instructions.
(*cmphi_ccs_z10, *cmpdi_ccs_signhi_rl, *cmpsi_ccu_zerohi_rlsi,
*cmp<GPR:mode>_ccu_zerohi_rldi, *cmp_and_br_signed_<mode>,
*cmp_and_br_unsigned_<mode>, reload<INTALL:mode><P:mode>_tomem_z10,
reload<INTALL:mode><P:mode>_toreg_z10,
reload<FPALL:mode><P:mode>_tomem_z10,
reload<FPALL:mode><P:mode>_toreg_z10,
reload<P:mode>_larl_odd_addend_z10, *execute_rl, *insv<mode>_z10,
*insv<mode>_z10_noshift, *insv<mode>_or_z10_noshift,
*zero_extendhi<mode>2_z10, *cmp_and_trap_signed_int<mode>,
*cmp_and_trap_unsigned_int<mode>, prefetch): New pattern or expander
definition.
(movmem, clrmem, cmpmem): New splitters added.
* config/s390/predicates.md (larl_operand): Use
SYMBOL_REF_FLAGS (op) & SYMBOL_FLAG_ALIGN1 replaced with
SYMBOL_REF_ALIGN1_P.
(s390_signed_integer_comparison,
s390_unsigned_integer_comparison): New predicates.
* config/s390/s390-protos.h (s390_check_symref_alignment,
s390_contiguous_bitmask_p, s390_reload_larl_operand,
s390_reload_symref_address,
s390_compare_and_branch_condition_mask): Prototypes added.
* config/s390/s390.h (TARGET_MEM_CONSTRAINT,
SYMBOL_REF_ALIGN1_P, SYMBOL_FLAG_NOT_NATURALLY_ALIGNED,
SYMBOL_REF_NOT_NATURALLY_ALIGNED_P): Macro definition added.
From-SVN: r136098
Andreas Krebbel [Wed, 28 May 2008 14:09:51 +0000 (14:09 +0000)]
s390.c (z10_cost): New cost function for z10.
2008-05-28 Andreas Krebbel <krebbel1@de.ibm.com>
* config/s390/s390.c (z10_cost): New cost function for z10.
(s390_handle_arch_option, override_options): Support
-march=z10 switch.
(s390_issue_rate): Adjust issue rate for z10.
* config/s390/s390.h (processor_type): Add PROCESSOR_2097_Z10.
(processor_flags): Add PF_Z10.
(TARGET_CPU_Z10, TARGET_Z10): New macro definitions.
* config/s390/s390.md (cpu, cpu_facility attributes): Add z10.
* gcc/config.gcc: Add z10.
From-SVN: r136097
Richard Guenther [Wed, 28 May 2008 13:54:05 +0000 (13:54 +0000)]
re PR tree-optimization/36291 (GCC is slow and memory-hungry building sipQtGuipart.cpp)
2008-05-28 Richard Guenther <rguenther@suse.de>
PR tree-optimization/36291
* tree-flow. h (struct gimple_df): Remove var_anns member.
* tree-flow-inline.h (gimple_var_anns): Remove.
(var_ann): Simplify.
* tree-dfa.c (create_var_ann): Simplify.
(remove_referenced_var): Clear alias info from var_anns of globals.
* tree-ssa.c (init_tree_ssa): Do not allocate var_anns.
(delete_tree_ssa): Clear alias info from var_anns of globals.
Do not free var_anns.
(var_ann_eq): Remove.
(var_ann_hash): Likewise.
From-SVN: r136095
Robert Dewar [Wed, 28 May 2008 13:48:45 +0000 (15:48 +0200)]
Resync.
From-SVN: r136091
Arnaud Charlet [Wed, 28 May 2008 13:48:28 +0000 (15:48 +0200)]
* exp_util.ads: Minor reformatting.
From-SVN: r136090