Commit Graph

106336 Commits

Author SHA1 Message Date
Joseph Myers
3e03217e07 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
2011-01-19 20:45:30 +00:00
Joseph Myers
5bbe9b3f48 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
2011-01-19 20:41:37 +00:00
Joseph Myers
368e0b3934 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
2011-01-19 20:39:09 +00:00
Ian Lance Taylor
5ee9259f75 Generate an init function if any global variable needs a preinit.
From-SVN: r169023
2011-01-19 20:37:50 +00:00
Benjamin Kosnik
e9dd48d91d 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
2011-01-19 20:00:47 +00:00
Jakub Jelinek
6845790106 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
2011-01-19 20:58:37 +01:00
Jakub Jelinek
ed7656f693 * ipa-split.c: Spelling fixes.
From-SVN: r169019
2011-01-19 20:57:54 +01:00
Richard Henderson
27098b6b41 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
2011-01-19 11:36:42 -08:00
Richard Henderson
e0d1958fc3 mn10300: Use reg_or_am33_const_operand in mulsi3.
From-SVN: r169017
2011-01-19 11:33:44 -08:00
Ulrich Weigand
d6be7c36ac * config/spu/spu.h (MOVE_RATIO): Return 4 in the !speed case.
From-SVN: r169015
2011-01-19 19:05:14 +00:00
Richard Henderson
4421782341 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
2011-01-19 10:55:12 -08:00
Richard Henderson
37a185d79e 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
2011-01-19 10:50:52 -08:00
Richard Henderson
040c575701 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
2011-01-19 10:46:30 -08:00
Richard Henderson
bad4152123 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
2011-01-19 10:38:56 -08:00
Richard Henderson
9efb4993cb 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
2011-01-19 09:27:58 -08:00
Richard Henderson
c25a21f581 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
2011-01-19 09:20:26 -08:00
Richard Henderson
36846b2672 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
2011-01-19 09:14:31 -08:00
Richard Henderson
8b119bb67d 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
2011-01-19 09:02:57 -08:00
Richard Henderson
b1efde2a0b 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
2011-01-19 08:57:37 -08:00
Ian Lance Taylor
036c8f3795 Improve check for const initializer loop.
From-SVN: r169003
2011-01-19 16:55:24 +00:00
Ian Lance Taylor
e3e190507a Check for error type when getting type of binary expression.
From-SVN: r169002
2011-01-19 16:03:55 +00:00
Ian Lance Taylor
0ca82dd6ba Fix handling of anonymous field in struct with pointer type.
From-SVN: r169001
2011-01-19 15:47:50 +00:00
Jakub Jelinek
cfea9968d1 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
2011-01-19 16:36:57 +01:00
Joern Rennecke
b899fd784b 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
2011-01-19 15:23:06 +00:00
Jakub Jelinek
2e0642cde2 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
2011-01-19 16:13:01 +01:00
Ulrich Weigand
46e7483cba 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
2011-01-19 13:09:51 +00:00
Ulrich Weigand
d629d5a76c 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
2011-01-19 12:56:16 +00:00
Ian Lance Taylor
9081b67b9c Avoid crash with extra struct initializers with abstract types.
From-SVN: r168984
2011-01-19 06:04:00 +00:00
Ian Lance Taylor
8ed8ea7900 Fix generating type descriptor for array with float length.
From-SVN: r168983
2011-01-19 05:49:25 +00:00
Ian Lance Taylor
d4d2a98fb2 Don't crash using value of something with no value.
From-SVN: r168982
2011-01-19 05:38:41 +00:00
Ian Lance Taylor
8386b63d3d Fix struct with field of pointer to array of same struct.
From-SVN: r168981
2011-01-19 05:24:55 +00:00
Graham Reed
8522091993 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
2011-01-19 02:27:45 +00:00
Benjamin Kosnik
6f0a975741 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
2011-01-19 02:17:35 +00:00
GCC Administrator
71c833af08 Daily bump.
From-SVN: r168978
2011-01-19 00:18:18 +00:00
Jakub Jelinek
afaaa67d42 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
2011-01-19 00:16:16 +01:00
Janus Weil
2d300fac7d 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
2011-01-18 23:40:33 +01:00
Steve Ellcey
d2cd871faa 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
2011-01-18 21:56:46 +00:00
John David Anglin
41a1208a11 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
2011-01-18 21:53:47 +00:00
Eric Botcazou
1ecad98e4d 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
2011-01-18 21:29:11 +00:00
Ulrich Weigand
d4f2460a1b 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
2011-01-18 20:13:56 +00:00
Dominique d'Humieres
842627b606 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
2011-01-18 20:06:13 +00:00
Richard Guenther
4994da65e5 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
2011-01-18 15:50:55 +00:00
Ramana Radhakrishnan
1eb458d140 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
2011-01-18 15:28:08 +00:00
Paolo Carlini
d326f2eeb7 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
2011-01-18 11:12:06 +00:00
Jakub Jelinek
e7ef91dc8e 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
2011-01-18 08:45:12 +01:00
Jie Zhang
fb70168707 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
2011-01-18 05:21:29 +00:00
Mike Frysinger
9e7955b2d3 libiberty: add .gitignore
Signed-off-by: Mike Frysinger <vapier@gentoo.org>

From-SVN: r168942
2011-01-18 05:06:50 +00:00
GCC Administrator
c6fe742e45 Daily bump.
From-SVN: r168941
2011-01-18 00:18:34 +00:00
Jason Merrill
d79b88a1fe 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
2011-01-17 17:34:35 -05:00
Rodrigo Rivas Costa
86070dcc8a 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
2011-01-17 17:34:26 -05:00