Jason Merrill [Fri, 21 Jan 2011 17:38:02 +0000 (12:38 -0500)]
re PR c++/46977 ([C++0x] ICE: SIGSEGV in htab_find_slot_with_hash (hashtab.c:650))
PR c++/46977
* semantics.c (potential_constant_expression_1): Split out from
potential_constant_expression. Add want_rval parm. Handle
template expression forms. Don't enforce restriction on address
of automatic variable here. Add a couple of diagnostics that
had been missing.
(require_potential_constant_expression): New entry point.
(build_data_member_initialization, register_constexpr_fundef): Adjust.
(maybe_constant_value): Check potential_constant_expression.
* pt.c (fold_non_dependent_expr_sfinae): Likewise.
* tree.c (build_vec_init_expr): Adjust.
From-SVN: r169096
Jeff Law [Fri, 21 Jan 2011 16:49:31 +0000 (09:49 -0700)]
re PR rtl-optimization/41619 (ICE in insert_save (caller-save.c) for SPEC CPU2000's 252.eon)
PR rtl-optimization/41619
* caller-save.c (setup_save_areas): Break out code to determine
which hard regs are live across calls by examining the reload chains
so that it is always used.
Eliminate code which checked REG_N_CALLS_CROSSED.
PR rtl-optimization/41619
* gcc.dg/pr41619.c: New.
From-SVN: r169095
Jakub Jelinek [Fri, 21 Jan 2011 15:15:40 +0000 (16:15 +0100)]
re PR tree-optimization/47355 (ICE: verify_ssa failed with -O2 -fipa-cp-clone)
PR tree-optimization/47355
* tree-eh.c (cleanup_empty_eh_merge_phis): Give up if
NOP has non-debug uses beyond PHIs in new_bb.
* g++.dg/opt/pr47355.C: New test.
From-SVN: r169094
Alexandre Oliva [Fri, 21 Jan 2011 14:57:33 +0000 (14:57 +0000)]
re PR debug/47106 (-fcompare-debug failure (length) with -fpartial-inlining -flto -fconserve-stack)
PR debug/47106
* cfgexpand.c (account_used_vars_for_block): Only account vars
that are annotated as used.
(estimated_stack_frame_size): Don't set TREE_USED.
* tree-dfa.c (create_var_ann): Mark variable as used.
From-SVN: r169093
Richard Guenther [Fri, 21 Jan 2011 14:14:12 +0000 (14:14 +0000)]
re PR other/47395 (the tree code WIDEN_MULT_MINUS_EXPR has a mismatching name)
2011-01-21 Richard Guenther <rguenther@suse.de>
PR middle-end/47395
* tree.def (WIDEN_MULT_MINUS_EXPR): Fix printed name.
From-SVN: r169092
Richard Guenther [Fri, 21 Jan 2011 14:08:26 +0000 (14:08 +0000)]
pr47392.c: Make test non-static instead of making main hot.
2011-01-21 Richard Guenther <rguenther@suse.de>
* gcc.dg/tree-ssa/pr47392.c: Make test non-static instead of
making main hot.
From-SVN: r169091
Richard Guenther [Fri, 21 Jan 2011 14:02:41 +0000 (14:02 +0000)]
re PR tree-optimization/47365 (wrong code with -O -ftree-pre)
2011-01-21 Richard Guenther <rguenther@suse.de>
PR tree-optimization/47365
* tree-ssa-sccvn.h (vn_lookup_kind): Declare.
(vn_reference_lookup_pieces): Adjust.
(vn_reference_lookup): Likewise.
* tree-ssa-sccvn.c (vn_walk_kind): New static global.
(vn_reference_lookup_3): Only look through kills if in
VN_WALKREWRITE mode.
(vn_reference_lookup_pieces): Adjust.
(vn_reference_lookup): Likewise.
(visit_reference_op_load): Likewise.
(visit_reference_op_store): Likewise.
* tree-ssa-pre.c (phi_translate_1): Use VN_WALK mode.
(compute_avail): Likewise.
(eliminate): Likewise.
* gcc.dg/torture/pr47365.c: New testcase.
* gcc.dg/tree-ssa/pr47392.c: Likewise.
From-SVN: r169089
Andreas Schwab [Fri, 21 Jan 2011 13:18:23 +0000 (13:18 +0000)]
configure.ac: Use AS_HELP_STRING throughout.
* configure.ac: Use AS_HELP_STRING throughout.
* configure: Regenerate.
From-SVN: r169088
Rainer Orth [Fri, 21 Jan 2011 13:02:39 +0000 (13:02 +0000)]
* g++.dg/other/anon5.C: Skip on mips-sgi-irix*.
From-SVN: r169085
Jakub Jelinek [Fri, 21 Jan 2011 12:57:52 +0000 (13:57 +0100)]
re PR tree-optimization/47391 (read from const volatile incorrectly eliminated)
PR tree-optimization/47391
* varpool.c (const_value_known_p): Return false if
decl is volatile.
* gcc.dg/pr47391.c: New test.
From-SVN: r169084
Jakub Jelinek [Fri, 21 Jan 2011 12:51:18 +0000 (13:51 +0100)]
tree-ssa-live.c (remove_unused_scope_block_p): Don't remove DECL_IGNORED_P non-reg vars if they are used.
* tree-ssa-live.c (remove_unused_scope_block_p): Don't remove
DECL_IGNORED_P non-reg vars if they are used.
From-SVN: r169083
Rainer Orth [Fri, 21 Jan 2011 11:36:53 +0000 (11:36 +0000)]
* g++.dg/template/char1.C: Use signed char.
From-SVN: r169082
Kai Tietz [Fri, 21 Jan 2011 09:05:14 +0000 (09:05 +0000)]
re PR bootstrap/47215 (Failed to bootstrap)
2011-01-21 Kai Tietz <kai.tietz@onevision.com>
PR bootstrap/47215
* decl.c (java_init_decl_processing): Remove
va_list_type_node related type initializations.
2011-01-21 Kai Tietz <kai.tietz@onevision.com>
PR bootstrap/47215
* config/i386/i386.c (ix86_local_alignment): Handle
case for va_list_type_node is nil.
(ix86_canonical_va_list_type): Likewise.
From-SVN: r169080
Tobias Burnus [Fri, 21 Jan 2011 07:11:05 +0000 (08:11 +0100)]
re PR fortran/47377 (internal compiler error: in fold_convert_loc, at fold-const.c:1906)
2011-01-21 Tobias Burnus <burnus@net-b.de>
PR fortran/47377
* expr.c (gfc_check_pointer_assign): Reject expr data-targets
without pointer attribute.
2011-01-21 Tobias Burnus <burnus@net-b.de>
PR fortran/47377
* gfortran.dg/pointer_target_4.f90: New.
From-SVN: r169079
Mike Stump [Fri, 21 Jan 2011 05:03:44 +0000 (05:03 +0000)]
Fix typo in comment.
From-SVN: r169078
Alan Modra [Fri, 21 Jan 2011 02:13:52 +0000 (12:43 +1030)]
rs6000-c.c (rs6000_cpu_cpp_builtins): Add builtin_define __CMODEL_MEDIUM__ and __CMODEL_LARGE__.
* config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Add
builtin_define __CMODEL_MEDIUM__ and __CMODEL_LARGE__.
From-SVN: r169077
GCC Administrator [Fri, 21 Jan 2011 00:18:42 +0000 (00:18 +0000)]
Daily bump.
From-SVN: r169076
Benjamin Kosnik [Thu, 20 Jan 2011 23:41:24 +0000 (23:41 +0000)]
re PR libstdc++/36104 (gnu-versioned-namespace is broken)
2011-01-20 Benjamin Kosnik <bkoz@redhat.com>
PR libstdc++/36104
* acinclude.m4 (LIBGOMP_ENABLE_SYMVERS): Accept gnu variants.
From-SVN: r169072
Ramana Radhakrishnan [Thu, 20 Jan 2011 22:03:29 +0000 (22:03 +0000)]
Rename f_load to f_fpa_loads patch
2011-01-20 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
* config/arm/arm.md (define_attr type): Rename f_load
and f_store to f_fpa_load and f_fpa_store. Update.
(write_conflict): Deal with rename fallout.
(*push_fp_multi): Likewise.
* config/arm/fpa.md (f_load): Use f_fpa_load.
(f_store): Use f_fpa_store.
(*movsf_fpa): Likewise.
(*movdf_fpa): Likewise.
(*movxf_fpa): Likewise.
(*thumb2_movsf_fpa): Likewise.
(*thumb2_movdf_fpa): Likewise.
(*thumb2_movxf_fpa): Likewise.
* config/arm/vfp.md (*thumb2_movdf_vfp): Fix attribute to
f_loadd and f_stored.
(*thumb2_movdi_vfp): Likewise.
(*thumb2_movsf_vfp): Fix attribute to f_loads.
(*thumb2_movsi_vfp): Likewise.
* config/arm/cortex-m4-fpu.md (cortex_m4_f_load):
Use f_loads instead of f_load.
* config/arm/cortex-a5.md (cortex_a5_f_loads): Remove f_load.
From-SVN: r169071
Michael Meissner [Thu, 20 Jan 2011 21:19:30 +0000 (21:19 +0000)]
Refix test for PR47251
From-SVN: r169067
Jonathan Wakely [Thu, 20 Jan 2011 20:18:29 +0000 (20:18 +0000)]
re PR libstdc++/47380 (concept checking and incomplete types)
2011-01-20 Jonathan Wakely <jwakely.gcc@gmail.com>
PR libstdc++/47380
* doc/xml/manual/diagnostics.xml: Replace note about C++0x concepts.
From-SVN: r169064
Benjamin Kosnik [Thu, 20 Jan 2011 20:04:25 +0000 (20:04 +0000)]
PR libstdc++/36104 part three
2011-01-20 Benjamin Kosnik <bkoz@redhat.com>
PR libstdc++/36104 part three
* src/hashtable_c++0x.cc: Adjust namespace macros.
* testsuite/util/testsuite_rvalref.h: Don't forward declare hash.
* config/abi/pre/gnu-versioned-namespace.ver: Update.
From-SVN: r169063
Benjamin Kosnik [Thu, 20 Jan 2011 18:26:33 +0000 (18:26 +0000)]
hash_load_check_resize_trigger_imp.hpp: Adjust assert condition.
2011-01-20 Benjamin Kosnik <bkoz@redhat.com>
* include/ext/pb_ds/detail/resize_policy/
hash_load_check_resize_trigger_imp.hpp: Adjust assert condition.
* include/ext/pb_ds/detail/pat_trie_/
constructors_destructor_fn_imps.hpp: Same.
* include/ext/pb_ds/detail/binary_heap_/erase_fn_imps.hpp: Format.
* include/ext/pb_ds/detail/ov_tree_map_/debug_fn_imps.hpp: Same.
* include/ext/pb_ds/detail/debug_map_base.hpp: Use never_adjustor.
* testsuite/ext/pb_ds/regression/hash_data_map_rand.cc: Adjust
iterations downward when testing in debug mode.
* testsuite/ext/pb_ds/regression/trie_data_map_rand.cc: Same.
* testsuite/ext/pb_ds/regression/tree_no_data_map_rand.cc: Same.
* testsuite/ext/pb_ds/regression/hash_no_data_map_rand.cc: Same.
* testsuite/ext/pb_ds/regression/tree_data_map_rand.cc: Same.
* testsuite/ext/pb_ds/regression/trie_no_data_map_rand.cc: Same.
* testsuite/ext/pb_ds/example/hash_illegal_resize.cc: Use SIZE,
reduce in debug mode.
From-SVN: r169061
Anatoly Sokolov [Thu, 20 Jan 2011 17:37:13 +0000 (20:37 +0300)]
xtensa.h (GO_IF_MODE_DEPENDENT_ADDRESS): Remove.
* config/xtensa/xtensa.h (GO_IF_MODE_DEPENDENT_ADDRESS): Remove.
* config/xtensa/xtensa-protos.h (constantpool_address_p): Remove.
* config/xtensa/xtensa.c (TARGET_MODE_DEPENDENT_ADDRESS_P): Define.
(xtensa_mode_dependent_address_p): New function.
(constantpool_address_p): Make static. Change return type to bool.
Change argument type to const_rtx. Use CONST_INT_P predicate.
From-SVN: r169060
Alexandre Oliva [Thu, 20 Jan 2011 16:56:25 +0000 (16:56 +0000)]
re PR tree-optimization/46583 (-fcompare-debug failure with -O -fno-inline -fipa-cp -fipa-cp-clone)
gcc/ChangeLog:
PR debug/46583
* tree-ssa-live.c (remove_unused_scope_block_p): Keep type decls.
gcc/testsuite/ChangeLog:
PR debug/46583
* g++.dg/debug/pr46583.C: New.
From-SVN: r169058
Jakub Jelinek [Thu, 20 Jan 2011 16:40:36 +0000 (17:40 +0100)]
re PR debug/47283 (ICE in refs_may_alias_p_1, at tree-ssa-alias.c)
PR debug/47283
* cfgexpand.c (expand_debug_expr): Instead of generating
(mem (debug_implicit_ptr)) for MEM_REFs use COMPONENT_REF
etc. handling.
* g++.dg/debug/pr47283.C: New test.
From-SVN: r169057
Jakub Jelinek [Thu, 20 Jan 2011 16:37:28 +0000 (17:37 +0100)]
re PR testsuite/47371 (FAIL: gcc.target/i386/headmerge-[12].c)
PR testsuite/47371
* gcc.target/i386/headmerge-1.c: Tighten up scan-assembler regex.
* gcc.target/i386/headmerge-2.c: Likewise.
From-SVN: r169056
Richard Guenther [Thu, 20 Jan 2011 14:42:20 +0000 (14:42 +0000)]
re PR middle-end/47370 (error: invalid first operand of MEM_REF)
2011-01-20 Richard Guenther <rguenther@suse.de>
PR middle-end/47370
* tree-inline.c (remap_gimple_op_r): Recurse manually for
the pointer operand of MEM_REFs.
* gcc.dg/torture/pr47370.c: New testcase.
From-SVN: r169055
Jakub Jelinek [Thu, 20 Jan 2011 12:02:33 +0000 (13:02 +0100)]
re PR tree-optimization/46130 (ICE: SIGSEGV in walk_stmt_load_store_addr_ops (gimple.c:4894) with -O2 -fno-tree-dce)
PR tree-optimization/46130
* ipa-split.c (consider_split): If return_bb contains non-virtual
PHIs other than for retval or if split_function would not adjust it,
refuse to split.
* gcc.dg/pr46130-1.c: New test.
* gcc.dg/pr46130-2.c: New test.
From-SVN: r169052
Richard Guenther [Thu, 20 Jan 2011 10:33:15 +0000 (10:33 +0000)]
re PR other/47167 (Performance regression in numerical code)
2011-01-20 Richard Guenther <rguenther@suse.de>
PR tree-optimization/47167
* tree-ssa-copyrename.c (copy_rename_partition_coalesce):
Revert previous change, only avoid enumeral type changes.
From-SVN: r169050
Mike Stump [Thu, 20 Jan 2011 00:19:07 +0000 (00:19 +0000)]
tm.texi.in (BRANCH_COST): Englishify.
* doc/tm.texi.in (BRANCH_COST): Englishify.
* doc/tm.texi (BRANCH_COST): Likewise.
From-SVN: r169043
GCC Administrator [Thu, 20 Jan 2011 00:18:46 +0000 (00:18 +0000)]
Daily bump.
From-SVN: r169042
Mike Stump [Wed, 19 Jan 2011 23:52:57 +0000 (23:52 +0000)]
Fixup formatting.
From-SVN: r169038
Ian Lance Taylor [Wed, 19 Jan 2011 23:03:33 +0000 (23:03 +0000)]
libgo/Makefile.am: Fix typo naming socket_bsd.go.
From-SVN: r169037
Dodji Seketeli [Wed, 19 Jan 2011 22:57:47 +0000 (22:57 +0000)]
re PR c++/47291 (ICE: SIGSEGV in size_binop_loc (fold-const.c:1427) with -g)
Fix PR c++/47291
gcc/
PR c++/47291
* dwarf2out.c (generic_type_p, schedule_generic_params_dies_gen)
(gen_scheduled_generic_parms_dies): New functions.
(gen_struct_or_union_type_die): Schedule template parameters DIEs
generation for the end of CU compilation.
(dwarf2out_finish): Generate template parameters DIEs here.
gcc/testsuite/
PR c++/47291
* g++.dg/debug/dwarf2/template-params-10.C: New test.
From-SVN: r169036
Alexandre Oliva [Wed, 19 Jan 2011 22:07:14 +0000 (22:07 +0000)]
re PR debug/46240 (ice in maybe_register_def)
gcc/ChangeLog:
PR debug/46240
* tree-into-ssa.c (maybe_register_def): Do not attempt to add
debug bind stmt on merge edges.
gcc/testsuite/ChangeLog:
PR debug/46240
* g++.dg/debug/pr46240.cc: New.
From-SVN: r169035
Alexandre Oliva [Wed, 19 Jan 2011 22:00:00 +0000 (22:00 +0000)]
re PR debug/47079 (FAIL: gcc.dg/guality/nrv-1.c)
PR debug/47079
PR debug/46724
* function.c (instantiate_expr): Instantiate incoming rtl of
implicit arguments, and recurse on VALUE_EXPRs.
(instantiate_decls): Instantiate rtl and VALUE_EXPR of result.
* var-tracking.c (adjust_mems): Reject virtual_incoming_args_rtx.
From-SVN: r169034
Alexandre Oliva [Wed, 19 Jan 2011 21:59:47 +0000 (21:59 +0000)]
c-parser.c (c_parser_for_statement): Initialize collection_expression.
* c-parser.c (c_parser_for_statement): Initialize
collection_expression.
From-SVN: r169033
Ian Lance Taylor [Wed, 19 Jan 2011 20:54:30 +0000 (20:54 +0000)]
Remember erroneous type when creating GENERIC for named type.
From-SVN: r169030
Joseph Myers [Wed, 19 Jan 2011 20:51:32 +0000 (20:51 +0000)]
* config/spu/spu-elf.h (ASM_SPEC): Remove %{w:-W}.
From-SVN: r169028
Ian Lance Taylor [Wed, 19 Jan 2011 20:47:21 +0000 (20:47 +0000)]
Don't crash on reference to field with erroneous type.
From-SVN: r169027
Joseph Myers [Wed, 19 Jan 2011 20:45:30 +0000 (20:45 +0000)]
sysv4.h (LINK_PATH_SPEC): Remove.
* config/rs6000/sysv4.h (LINK_PATH_SPEC): Remove.
(LINK_SHLIB_SPEC): Don't use %(link_path).
(SUBTARGET_EXTRA_SPECS): Remove link_path.
From-SVN: r169026
Joseph Myers [Wed, 19 Jan 2011 20:41:37 +0000 (20:41 +0000)]
sysv4.h (SHARED_LIB_SUPPORT): Remove conditional.
* config/rs6000/sysv4.h (SHARED_LIB_SUPPORT): Remove conditional.
(NO_SHARED_LIB_SUPPORT): Remove.
(LINK_SHLIB_SPEC): Remove one conditional definition.
From-SVN: r169025
Joseph Myers [Wed, 19 Jan 2011 20:39:09 +0000 (20:39 +0000)]
linux64.h (LINK_SPEC): Remove %{non_shared} %{call_shared}.
* config/mips/linux64.h (LINK_SPEC): Remove %{non_shared}
%{call_shared}.
* config/mips/mips.h (LINK_SPEC): Remove %{non_shared}.
* config/mips/netbsd.h (LINK_SPEC): Remove %{call_shared}.
* config/mips/openbsd.h (LINK_SPEC): Remove %{non_shared}
%{call_shared} and conditionals on these options not being passed.
* config/mips/sde.h (LINK_SPEC): Remove %{non_shared}
%{call_shared}.
From-SVN: r169024
Ian Lance Taylor [Wed, 19 Jan 2011 20:37:50 +0000 (20:37 +0000)]
Generate an init function if any global variable needs a preinit.
From-SVN: r169023
Benjamin Kosnik [Wed, 19 Jan 2011 20:00:47 +0000 (20:00 +0000)]
PR libstdc++/36104 part two
2011-01-19 Benjamin Kosnik <bkoz@redhat.com>
PR libstdc++/36104 part two
* include/bits/hashtable.h: Revert to non-nested macro usage.
* include/bits/hashtable_policy.h: Same.
From-SVN: r169021
Jakub Jelinek [Wed, 19 Jan 2011 19:58:37 +0000 (20:58 +0100)]
ipa-split.c (find_return_bb): Use single_pred_p/single_pred_edge, simplify.
* ipa-split.c (find_return_bb): Use single_pred_p/single_pred_edge,
simplify.
From-SVN: r169020
Jakub Jelinek [Wed, 19 Jan 2011 19:57:54 +0000 (20:57 +0100)]
* ipa-split.c: Spelling fixes.
From-SVN: r169019
Richard Henderson [Wed, 19 Jan 2011 19:36:42 +0000 (11:36 -0800)]
mn10300: Add support in longlong.h.
This greatly helps out the DImode division, and to a lesser
extent the DImode multiplication routines in libgcc2.c.
From-SVN: r169018
Richard Henderson [Wed, 19 Jan 2011 19:33:44 +0000 (11:33 -0800)]
mn10300: Use reg_or_am33_const_operand in mulsi3.
From-SVN: r169017
Ulrich Weigand [Wed, 19 Jan 2011 19:05:14 +0000 (19:05 +0000)]
* config/spu/spu.h (MOVE_RATIO): Return 4 in the !speed case.
From-SVN: r169015
Richard Henderson [Wed, 19 Jan 2011 18:55:12 +0000 (10:55 -0800)]
mn10300: Implement adddi3, subdi3.
Via expander, pre- and post-reload patterns. The pre-reload
pattern is defined to allow lower_subregs totally split the
DImode values.
From-SVN: r169014
Richard Henderson [Wed, 19 Jan 2011 18:50:52 +0000 (10:50 -0800)]
mn10300: Emit retf instruction
Now that we properly track the life of MDR, we can emit
the RETF instruction if MDR has not been modified. This
insn is 3-4 cycles faster since the return address is
already loaded.
From-SVN: r169013
Richard Henderson [Wed, 19 Jan 2011 18:46:30 +0000 (10:46 -0800)]
mn10300: tidy pic address loading
There's little reason to greatly complicate things by splitting
the pic_load patterns and using complex rtl to make it work out.
Instead, use the %= marker to generate unique numbers and emit
the entire load_pic sequence at once.
At the same time, collect all references to outgoing_args_size
into mn10300_frame_size, and all computations of register save
area size into mn10300_initial_offset.
From-SVN: r169012
Richard Henderson [Wed, 19 Jan 2011 18:38:56 +0000 (10:38 -0800)]
mn10300: Cleanup all arithmetic.
For addition and logicals, define an operation-plus-flags update pattern
in preparation for compare elimination. In addition, clean up the way
we compare and validate CC_MODEs. Define NEG in terms of NOT; this is
smaller and allows a non-clobbering destination alternative.
From-SVN: r169010
Richard Henderson [Wed, 19 Jan 2011 17:27:58 +0000 (09:27 -0800)]
mn10300: Explicitly represent MDR in multiply and divide.
Note that the mulsidi3_internal pattern is structured so
as to let the lower-subregs pass fully split the result.
From-SVN: r169008
Richard Henderson [Wed, 19 Jan 2011 17:20:26 +0000 (09:20 -0800)]
mn10300: Expose the MDR register to register allocation.
Note that nothing uses the "z" constraint yet except the one
move pattern; this merely defines the register class properly.
From-SVN: r169007
Richard Henderson [Wed, 19 Jan 2011 17:14:31 +0000 (09:14 -0800)]
mn10300: Cleanup legitimate addresses
Allow REG+REG and POST_MODIFY addressing for AM33. Fix AM33 base and
index register classes. Remove a bunch of register class combinations
that aren't really useful after this cleanup.
From-SVN: r169006
Richard Henderson [Wed, 19 Jan 2011 17:02:57 +0000 (09:02 -0800)]
mn10300: Cleanup secondary reloads
Handles output reloads for QI/HImode properly; previously we were
only handing input reloads properly.
Handles reloads involving the stack pointer better; note that the
AM33 allows copying SP to DATA_REGS as well as ADDRESS and EXTENDED.
From-SVN: r169005
Richard Henderson [Wed, 19 Jan 2011 16:57:37 +0000 (08:57 -0800)]
mn10300: Re-write move patterns.
Use the "D" and "A" constraints, and the enabled attribute to
unify all ofthe integer move patterns. Delete the fake double
word move patterns; let the middle-end generate subregs as required.
Unfortunately, this somehow exposes a register pressure problem
with the udivmod pattern. This is properly fixed with subsequent
patches that expose the MDR register.
In the meantime it is highly desirable to to preserve bisect-ability
of the patch series, so disable this pattern for AM30.
From-SVN: r169004
Ian Lance Taylor [Wed, 19 Jan 2011 16:55:24 +0000 (16:55 +0000)]
Improve check for const initializer loop.
From-SVN: r169003
Ian Lance Taylor [Wed, 19 Jan 2011 16:03:55 +0000 (16:03 +0000)]
Check for error type when getting type of binary expression.
From-SVN: r169002
Ian Lance Taylor [Wed, 19 Jan 2011 15:47:50 +0000 (15:47 +0000)]
Fix handling of anonymous field in struct with pointer type.
From-SVN: r169001
Jakub Jelinek [Wed, 19 Jan 2011 15:36:57 +0000 (16:36 +0100)]
re PR c++/47303 (ICE: in varpool_node, at varpool.c:134 with -fabi-version=1)
PR c++/47303
* decl2.c (finish_anon_union): Only call mangle_decl if TREE_STATIC
or DECL_EXTERNAL.
* g++.dg/template/anonunion1.C: New test.
From-SVN: r169000
Joern Rennecke [Wed, 19 Jan 2011 15:23:06 +0000 (15:23 +0000)]
tm.texi.in: Spell out that a lack of register class unions can lead to ICEs.
* doc/tm.texi.in: Spell out that a lack of register class unions
can lead to ICEs.
* doc/tm.texi: Regenerate.
From-SVN: r168998
Jakub Jelinek [Wed, 19 Jan 2011 15:13:01 +0000 (16:13 +0100)]
re PR rtl-optimization/47337 (Wrong RTL dce of calls)
PR rtl-optimization/47337
* dce.c (check_argument_store): New function.
(find_call_stack_args): Ignore debug insns. Use check_argument_store.
* gcc.c-torture/execute/pr47337.c: New test.
From-SVN: r168997
Ulrich Weigand [Wed, 19 Jan 2011 13:09:51 +0000 (13:09 +0000)]
re PR testsuite/45342 (FAIL: gcc.dg/tls/thr-cse-1.c scan-assembler-not emutls_get_address.*emutls_get_address.*)
PR testsuite/45342
* gcc.dg/tls/thr-cse-1.c: Fix match on spu-*.*.
From-SVN: r168992
Ulrich Weigand [Wed, 19 Jan 2011 12:56:16 +0000 (12:56 +0000)]
re PR tree-optimization/46021 (3 tree-ssa tests XPASS almost everywhere)
PR tree-optimization/46021
* gcc.dg/tree-ssa/
20040204-1.c: Do not XFAIL on spu-*-*.
From-SVN: r168990
Ian Lance Taylor [Wed, 19 Jan 2011 06:04:00 +0000 (06:04 +0000)]
Avoid crash with extra struct initializers with abstract types.
From-SVN: r168984
Ian Lance Taylor [Wed, 19 Jan 2011 05:49:25 +0000 (05:49 +0000)]
Fix generating type descriptor for array with float length.
From-SVN: r168983
Ian Lance Taylor [Wed, 19 Jan 2011 05:38:41 +0000 (05:38 +0000)]
Don't crash using value of something with no value.
From-SVN: r168982
Ian Lance Taylor [Wed, 19 Jan 2011 05:24:55 +0000 (05:24 +0000)]
Fix struct with field of pointer to array of same struct.
From-SVN: r168981
Graham Reed [Wed, 19 Jan 2011 02:27:45 +0000 (02:27 +0000)]
re PR libstdc++/47354 (bitmap_allocator free_list::_M_get never locks mutex)
2011-01-19 Graham Reed <greed@pobox.com>
PR libstdc++/47354
* src/bitmap_allocator.cc (free_list::_M_get): Lock mutex.
From-SVN: r168980
Benjamin Kosnik [Wed, 19 Jan 2011 02:17:35 +0000 (02:17 +0000)]
confdeps.png: Regenerate.
2011-01-18 Benjamin Kosnik <bkoz@redhat.com>
* doc/xml/images/confdeps.png: Regenerate.
* include/std/chrono (duration): Mark copy constructor constexpr.
* testsuite/20_util/duration/cons/constexpr.cc: Add test.
From-SVN: r168979
GCC Administrator [Wed, 19 Jan 2011 00:18:18 +0000 (00:18 +0000)]
Daily bump.
From-SVN: r168978
Jakub Jelinek [Tue, 18 Jan 2011 23:16:16 +0000 (00:16 +0100)]
re PR tree-optimization/47290 (memory exhausted compiling a destructor with an infinite 'for (;;);' loop)
PR tree-optimization/47290
* tree-eh.c (infinite_empty_loop_p): New function.
(cleanup_empty_eh): Use it.
* g++.dg/torture/pr47290.C: New test.
From-SVN: r168974
Janus Weil [Tue, 18 Jan 2011 22:40:33 +0000 (23:40 +0100)]
re PR fortran/47240 ([F03] segfault with procedure pointer component)
2011-01-18 Janus Weil <janus@gcc.gnu.org>
PR fortran/47240
* resolve.c (expression_rank): Fix rank of procedure poiner components.
* trans-expr.c (gfc_conv_procedure_call): Take care of procedure
pointer components as actual arguments.
2011-01-18 Janus Weil <janus@gcc.gnu.org>
PR fortran/47240
* gfortran.dg/proc_ptr_comp_29.f90: New.
From-SVN: r168973
Steve Ellcey [Tue, 18 Jan 2011 21:56:46 +0000 (21:56 +0000)]
re PR target/46997 (new ia64 vector instructions are broken on HP-UX (big-endian))
PR target/46997
* ia64.c (ia64_expand_unpack): Fix code for TARGET_BIG_ENDIAN.
(a64_expand_widen_sum): Ditto.
* vect.md (mulv2si3): Disable for TARGET_BIG_ENDIAN.
(vec_extract_evenodd_help): Ditto.
(vec_extract_evenv4hi): Ditto.
(vec_extract_oddv4hi): Ditto.
(vec_extract_evenv2si): Ditto.
(vec_extract_oddv2si): Ditto.
(vec_extract_evenv2sf): Ditto.
(vec_extract_oddv2sf): Ditto.
(vec_pack_trunc_v4hi: Ditto.
(vec_pack_trunc_v2si): Ditto.
(vec_interleave_lowv8qi): Fix for TARGET_BIG_ENDIAN.
(vec_interleave_highv8qi): Ditto.
(mix1_r): Ditto.
(vec_extract_oddv8qi): Ditto.
(vec_interleave_lowv4hi): Ditto.
(vec_interleave_highv4hi): Ditto.
(vec_interleave_lowv2si): Ditto.
(vec_interleave_highv2si): Ditto.
From-SVN: r168970
John David Anglin [Tue, 18 Jan 2011 21:53:47 +0000 (21:53 +0000)]
extend.texi: Mention __float128 support on hppa HP-UX.
* doc/extend.texi: Mention __float128 support on hppa HP-UX.
* config/pa/pa-hpux.h (HPUX_LONG_DOUBLE_LIBRARY): Define to 1.
* config/pa/pa.c (pa_expand_builtin): New. Include "langhooks.h".
(pa_c_mode_for_suffix): New.
(TARGET_EXPAND_BUILTIN): Define.
(TARGET_C_MODE_FOR_SUFFIX): Define.
(pa_builtins): Define.
(pa_init_builtins): Register __float128 type and init new support
builtins.
* config/pa/pa.h (HPUX_LONG_DOUBLE_LIBRARY): Define if not defined.
* config/pa/quadlib.c (_U_Qfcopysign): New.
From-SVN: r168969
Eric Botcazou [Tue, 18 Jan 2011 21:29:11 +0000 (21:29 +0000)]
re PR middle-end/46894 (vector tests fail on powerpc 32-bit)
PR middle-end/46894
* explow.c (allocate_dynamic_stack_space): Do not assume more than
BITS_PER_UNIT alignment if STACK_DYNAMIC_OFFSET or STACK_POINTER_OFFSET
are defined.
From-SVN: r168968
Ulrich Weigand [Tue, 18 Jan 2011 20:13:56 +0000 (20:13 +0000)]
re PR tree-optimization/47179 (SPU: errno misoptimization around malloc call)
PR tree-optimization/47179
* config/spu/spu.c (spu_ref_may_alias_errno): New function.
(TARGET_REF_MAY_ALIAS_ERRNO): Define.
From-SVN: r168961
Dominique d'Humieres [Tue, 18 Jan 2011 20:06:13 +0000 (20:06 +0000)]
re PR testsuite/41146 (FAIL: gcc.target/powerpc/asm-es-2.c scan-assembler *)
2011-01-18 Dominique d'Humieres <dominiq@lps.ens.fr>
PR testsuite/41146
* gcc.target/powerpc/asm-es-2.c: Adjust regular expression for
powerpc-apple-darwin9.
From-SVN: r168960
Richard Guenther [Tue, 18 Jan 2011 15:50:55 +0000 (15:50 +0000)]
re PR rtl-optimization/47216 (gcc.dg/torture/pr43360.c FAILs with -O -fPIC -fgcse -fgcse-sm -fnon-call-exceptions -fno-tree-dse)
2011-01-18 Richard Guenther <rguenther@suse.de>
PR rtl-optimization/47216
* emit-rtl.c: Include tree-flow.h.
(set_mem_attributes_minus_bitpos): Use tree_could_trap_p instead
of replicating it with different semantics.
* Makefile.in (emit-rtl.o): Adjust.
From-SVN: r168951
Ramana Radhakrishnan [Tue, 18 Jan 2011 15:28:08 +0000 (15:28 +0000)]
cortex-a9.md (cortex-a9-neon.md): Actually include.
2011-01-18 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
* config/arm/cortex-a9.md (cortex-a9-neon.md): Actually
include.
(cortex_a9_dp): Handle neon types correctly.
From-SVN: r168950
Paolo Carlini [Tue, 18 Jan 2011 11:12:06 +0000 (11:12 +0000)]
unique_ptr.h (default_delete<>::default_delete()): Declare defaulted per DR 1517.
2011-01-18 Paolo Carlini <paolo.carlini@oracle.com>
* include/bits/unique_ptr.h (default_delete<>::default_delete()):
Declare defaulted per DR 1517.
* testsuite/util/testsuite_common_types.h
(constexpr_defaulted_default_constructible): Add.
* testsuite/20_util/default_delete/cons/constexpr.cc: Use it.
From-SVN: r168947
Jakub Jelinek [Tue, 18 Jan 2011 07:45:12 +0000 (08:45 +0100)]
re PR rtl-optimization/47299 (Widening multiply optimization generates bad code)
PR rtl-optimization/47299
* expr.c (expand_expr_real_2) <case WIDEN_MULT_EXPR>: Don't use
subtarget. Use normal multiplication if both operands are
constants.
* expmed.c (expand_widening_mult): Don't try to optimize constant
multiplication if op0 has VOIDmode. Convert op1 constant to mode
before using it.
* gcc.c-torture/execute/pr47299.c: New test.
From-SVN: r168944
Jie Zhang [Tue, 18 Jan 2011 05:21:29 +0000 (05:21 +0000)]
drop gdb mask for Blackfin targets
Now that gdb supports Blackfin targets, no need to mask it.
Signed-off-by: Jie Zhang <jie.zhang@analog.com>
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
From-SVN: r168943
Mike Frysinger [Tue, 18 Jan 2011 05:06:50 +0000 (05:06 +0000)]
libiberty: add .gitignore
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
From-SVN: r168942
GCC Administrator [Tue, 18 Jan 2011 00:18:34 +0000 (00:18 +0000)]
Daily bump.
From-SVN: r168941
Jason Merrill [Mon, 17 Jan 2011 22:34:35 +0000 (17:34 -0500)]
re PR c++/47067 ([c++0x] ICE in cxx_eval_bare_aggregate, at cp/semantics.c:6352)
PR c++/47067
* semantics.c (base_field_constructor_elt): New fn.
(cxx_eval_bare_aggregate): Use it.
(build_data_member_initialization): Leave COMPONENT_REF for
vfield inits.
From-SVN: r168937
Rodrigo Rivas Costa [Mon, 17 Jan 2011 22:34:26 +0000 (22:34 +0000)]
parser.c (cp_parser_range_for): Remove the "unused variable" warning workaround.
* parser.c (cp_parser_range_for): Remove the "unused variable" warning
workaround.
From-SVN: r168936
Jakub Jelinek [Mon, 17 Jan 2011 22:26:42 +0000 (23:26 +0100)]
re PR fortran/47331 (ICE in make_decl_rtl, at varasm.c:1133 (with -fopenmp))
PR fortran/47331
* gfortran.h (struct gfc_omp_saved_state): New type.
(gfc_omp_save_and_clear_state, gfc_omp_restore_state): New prototypes.
* resolve.c (resolve_global_procedure): Call it around gfc_resolve
call.
* openmp.c (gfc_omp_save_and_clear_state, gfc_omp_restore_state): New
functions.
* gfortran.dg/gomp/pr47331.f90: New test.
From-SVN: r168935
Nicola Pero [Mon, 17 Jan 2011 22:17:47 +0000 (22:17 +0000)]
In gcc/objc/: 2011-01-17 Nicola Pero <nicola.pero@meta-innovation.com>
In gcc/objc/:
2011-01-17 Nicola Pero <nicola.pero@meta-innovation.com>
PR objc/47314
* objc-act.c (finish_objc): When calling check_duplicates to check
duplicated instance methods, set 'is_class' to 0, not 1.
In gcc/testsuite/:
2011-01-17 Nicola Pero <nicola.pero@meta-innovation.com>
PR objc/47314
* objc.dg/selector-warn-1.m: New.
* obj-c++.dg/selector-warn-1.mm: New.
From-SVN: r168934
Richard Sandiford [Mon, 17 Jan 2011 20:31:35 +0000 (20:31 +0000)]
vrp51.c: Prefix each "bug." string with "vrp.".
gcc/testsuite/
* gcc.dg/tree-ssa/vrp51.c: Prefix each "bug." string with "vrp.".
Update dg-final accordingly.
From-SVN: r168933
Tobias Burnus [Mon, 17 Jan 2011 19:16:27 +0000 (20:16 +0100)]
re PR fortran/47327 (Documentation: Link to GCC Errors and Warnings options broken)
2011-01-17 Tobias Burnus <burnus@net-b.de>
PR fortran/47327
* invoke.texi (Options to request or suppress errors
and warnings): Fix cross link.
From-SVN: r168932
Ralf Wildenhues [Mon, 17 Jan 2011 19:13:05 +0000 (19:13 +0000)]
Markup and minor fixes in LTO documentation.
gcc/:
* doc/lto.texi (LTO): Ensure two spaces after period. Fix
spacing after 'e.g.', typos, comma, hyphenation.
From-SVN: r168931
Tobias Burnus [Mon, 17 Jan 2011 19:03:28 +0000 (20:03 +0100)]
re PR fortran/47295 (libquadmath: List __complex128 and constants in the .texi file)
2011-01-17 Tobias Burnus <burnus@net-b.de>
PR fortran/47295
* libquadmath.text: Document typedef and constants.
From-SVN: r168930
Richard Henderson [Mon, 17 Jan 2011 18:22:04 +0000 (10:22 -0800)]
rx: Split adddi3 and subdi3 after reload.
The formulation of the pre-reload pattern allows the lower_subreg
pass to properly split the patterns. This also required re-writing
rx_source_operand and related predicates to accept subregs.
From-SVN: r168929
Richard Henderson [Mon, 17 Jan 2011 18:18:24 +0000 (10:18 -0800)]
rx: Replace sat builtin with ssaddsi3 pattern.
A standalone __builtin_rx_sat isn't implementable due to needing
to keep the flags live before reload. Instead provide a saturating
add pattern, which hopefully will be pattern-matched by high-level
optimizations.
From-SVN: r168928
Richard Henderson [Mon, 17 Jan 2011 18:16:39 +0000 (10:16 -0800)]
rx: Rewrite the bit manipulation patterns.
The patterns represented with ashift 1 canonically need to have
the ashift as the first operand of the logical operation.
Leave insv represented as a zero_extract store.
Implement a variable store to a 1 bit field as tst+bmne.
Implement a variable store of a condition into a 1 bit field with bmcc.
From-SVN: r168927