Commit Graph

111760 Commits

Author SHA1 Message Date
Ian Lance Taylor
ffe0891751 Fix handling of structs with embedded global types.
From-SVN: r178870
2011-09-14 22:28:10 +00:00
Richard Sandiford
fe0aee6ca0 sparc.md: Use match_test rather than eq/ne symbol_ref throughout file.
gcc/
	* config/sparc/sparc.md: Use match_test rather than eq/ne symbol_ref
	throughout file.

From-SVN: r178869
2011-09-14 21:18:09 +00:00
Richard Sandiford
68ed2b9cb9 sh.md: Use match_test rather than eq/ne symbol_ref throughout file.
gcc/
	* config/sh/sh.md: Use match_test rather than eq/ne symbol_ref
	throughout file.

From-SVN: r178868
2011-09-14 21:17:43 +00:00
Richard Sandiford
d7f99b2cc5 s390.md: Use match_test rather than eq/ne symbol_ref throughout file.
gcc/
	* config/s390/s390.md: Use match_test rather than eq/ne symbol_ref
	throughout file.

From-SVN: r178867
2011-09-14 21:17:14 +00:00
Richard Sandiford
26b996c6ae rs6000.md: Use match_test rather than eq/ne symbol_ref throughout file.
gcc/
	* config/rs6000/rs6000.md: Use match_test rather than eq/ne symbol_ref
	throughout file.
	* config/rs6000/constraints.md: Likewise.

From-SVN: r178866
2011-09-14 21:16:45 +00:00
Richard Sandiford
5cf6e736b8 microblaze.md: Use match_test rather than eq/ne symbol_ref throughout file.
gcc/
	* config/microblaze/microblaze.md: Use match_test rather than
	eq/ne symbol_ref throughout file.

From-SVN: r178865
2011-09-14 21:16:05 +00:00
Richard Sandiford
dd02d5eff6 bfin.md: Use match_test rather than eq/ne symbol_ref throughout file.
gcc/
	* config/bfin/bfin.md: Use match_test rather than eq/ne symbol_ref
	throughout file.

From-SVN: r178864
2011-09-14 21:15:09 +00:00
François Dumont
7e5ac0a4f5 hashtable.h (_Hashtable<>::_M_rehash): Take and restore hash policy _M_prev_resize on exception.
2011-09-14  François Dumont  <fdumont@gcc.gnu.org>
	    Paolo Carlini  <paolo.carlini@oracle.com>

	* include/bits/hashtable.h (_Hashtable<>::_M_rehash): Take and restore
	hash policy _M_prev_resize on exception.
	(_Hashtable<>::_M_insert_bucket): Capture hash policy next resize
	before using it and use latter method to have it restored on exception.
	(_Hashtable<>::_M_insert(_Arg&& __v, std::false_type): Likewise.
	(_Hashtable<>::insert(_InputIterator, _InputIterator): Likewise.
	(_Hashtable<>::rehash): Likewise.
	* testsuite/23_containers/unordered_set/insert/hash_policy.cc: New.
	* testsuite/23_containers/unordered_multiset/insert/hash_policy.cc:
	Likewise.


Co-Authored-By: Paolo Carlini <paolo.carlini@oracle.com>

From-SVN: r178861
2011-09-14 19:50:20 +00:00
Diego Novillo
700cf92e75 name-lookup.c (lookup_arg_dependent): Use conditional timevars.
* name-lookup.c (lookup_arg_dependent): Use conditional
	timevars.
	* decl.c (xref_tag): Likewise.

From-SVN: r178860
2011-09-14 15:32:03 -04:00
Ian Lance Taylor
4d7b770603 Fix defer/recover at high optimization levels.
From-SVN: r178859
2011-09-14 18:48:08 +00:00
Paolo Carlini
ebb077fc77 re PR c++/50391 ([C++0x] ICE on invalid code, pair with incomplete type)
/cp
2011-09-14  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/50391
	* pt.c (regenerate_decl_from_template): Don't pass an error_mark_node
	to build_exception_variant.

/testsuite
2011-09-14  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/50391
	* g++.dg/cpp0x/noexcept15.C: New.

From-SVN: r178857
2011-09-14 16:19:59 +00:00
Tom de Vries
5699cf3dad MAINTAINERS (Write After Approval): Add myself.
2011-09-14  Tom de Vries  <tom@codesourcery.com>

	* MAINTAINERS (Write After Approval): Add myself.

From-SVN: r178856
2011-09-14 15:42:35 +00:00
Tom de Vries
37e76cf26a re PR middle-end/50251 (Revision 178353 caused many test failures)
2011-09-14  Tom de Vries  <tom@codesourcery.com>

	PR middle-end/50251
	* gcc.dg/pr50251.c: New test.

From-SVN: r178854
2011-09-14 14:33:35 +00:00
Tom de Vries
50025f916d re PR middle-end/50251 (Revision 178353 caused many test failures)
2011-09-14  Tom de Vries  <tom@codesourcery.com>

	PR middle-end/50251
	* explow.c (emit_stack_restore): Set crtl->need_drap if
	stack_restore is emitted.

From-SVN: r178853
2011-09-14 14:32:07 +00:00
Julian Brown
86b601168a arm.c (arm_override_options): Add unaligned_access support.
gcc/
	* config/arm/arm.c (arm_override_options): Add unaligned_access
	support.
	(arm_file_start): Emit attribute for unaligned access as
	appropriate.
	* config/arm/arm.md (UNSPEC_UNALIGNED_LOAD)
	(UNSPEC_UNALIGNED_STORE): Add constants for unspecs.
	(insv, extzv): Add unaligned-access support.
	(extv): Change to expander. Likewise.
	(extzv_t1, extv_regsi): Add helpers.
	(unaligned_loadsi, unaligned_loadhis, unaligned_loadhiu)
	(unaligned_storesi, unaligned_storehi): New.
	(*extv_reg): New (previous extv implementation).
	* config/arm/arm.opt (munaligned_access): Add option.
	* config/arm/constraints.md (Uw): New constraint.
	* expmed.c (store_bit_field_1): Adjust bitfield numbering according
	to size of access, not size of unit, when BITS_BIG_ENDIAN !=
	BYTES_BIG_ENDIAN. Don't use bitfield accesses for
	volatile accesses when -fstrict-volatile-bitfields is in effect.
	(extract_bit_field_1): Likewise.

From-SVN: r178852
2011-09-14 13:47:42 +00:00
Richard Sandiford
fafaf06fba simplify-rtx.c (simplify_subreg): Check that the inner mode is a scalar integer before applying integer-only...
gcc/
	* simplify-rtx.c (simplify_subreg): Check that the inner mode is
	a scalar integer before applying integer-only optimisations to
	inner arithmetic.

From-SVN: r178848
2011-09-14 12:17:03 +00:00
Bernd Schmidt
3551175193 mips.c (mips_expand_epilogue): Generate a simple_return only if the return address is in r31.
* config/mips/mips.c (mips_expand_epilogue): Generate a
	simple_return only if the return address is in r31.

From-SVN: r178847
2011-09-14 11:15:09 +00:00
Tobias Burnus
d4eb366841 Really add:
2011-09-14  Tobias Burnus  <burnus@net-b.de>

        PR fortran/34547
        PR fortran/50375
        * gfortran.dg/null_5.f90: New.
        * gfortran.dg/null_6.f90: New.

From-SVN: r178842
2011-09-14 08:27:25 +02:00
Tobias Burnus
ea8ad3e527 re PR fortran/34547 (NULL(): Fortran 2003 changes, accepts invalid, ICE on invalid)
2011-09-14  Tobias Burnus  <burnus@net-b.de>

        PR fortran/34547
        PR fortran/50375
        * check.c (gfc_check_null): Allow allocatables as MOLD to NULL.
        * resolve.c (resolve_transfer): Reject NULL without MOLD.
        * interface.c (gfc_procedure_use): Reject NULL without MOLD
        if no explicit interface is known.
        (gfc_search_interface): Reject NULL without MOLD if it would
        lead to ambiguity.

2011-09-14  Tobias Burnus  <burnus@net-b.de>

        PR fortran/34547
        PR fortran/50375
        * gfortran.dg/null_5.f90: New.
        * gfortran.dg/null_6.f90: New.

From-SVN: r178841
2011-09-14 08:26:07 +02:00
GCC Administrator
95a45b570d Daily bump.
From-SVN: r178839
2011-09-14 00:18:08 +00:00
Ian Lance Taylor
a39fd33d67 Always dereference nil receiver passed to value method.
From-SVN: r178835
2011-09-13 21:34:24 +00:00
Bernd Schmidt
43052d4586 cfgcleanup.c (try_head_merge_bb): If get_condition returns NULL for a jump that is a cc0 insn...
* cfgcleanup.c (try_head_merge_bb): If get_condition returns
	NULL for a jump that is a cc0 insn, pick the previous insn for
	move_before.

	* gcc.c-torture/compile/20110913-1.c: New test.

From-SVN: r178834
2011-09-13 20:40:53 +00:00
Diego Novillo
a5baf3b8ce testsuite-management: New.
* testsuite-management: New.
	* testsuite-management/validate_failures.py: New.

From-SVN: r178833
2011-09-13 16:24:47 -04:00
Janus Weil
94c4133ab4 re PR fortran/50379 (ICE in gfc_typenode_for_spec at fortran/trans-types.c)
2011-09-13  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/50379
	* symbol.c (check_conflict): Check conflict between GENERIC and RESULT
	attributes.


2011-09-13  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/50379
	* gfortran.dg/result_2.f90: New.

From-SVN: r178829
2011-09-13 20:37:33 +02:00
Ian Lance Taylor
d9930d55ad Fix inheriting hidden methods with arguments of hidden type.
From-SVN: r178827
2011-09-13 18:24:45 +00:00
Richard Sandiford
61c4c15049 v850.md: Use match_test rather than eq/ne symbol_ref throughout file.
gcc/
	* config/v850/v850.md: Use match_test rather than eq/ne symbol_ref
	throughout file.

From-SVN: r178826
2011-09-13 18:17:03 +00:00
Richard Sandiford
d3c7d136a1 pa.md: Use match_test rather than eq/ne symbol_ref throughout file.
gcc/
	* config/pa/pa.md: Use match_test rather than eq/ne symbol_ref
	throughout file.

From-SVN: r178825
2011-09-13 18:14:26 +00:00
Richard Sandiford
129043ff05 mn10300.md: Use match_test rather than eq/ne symbol_ref throughout file.
gcc/
	* config/mn10300/mn10300.md: Use match_test rather than eq/ne
	symbol_ref throughout file.

From-SVN: r178824
2011-09-13 18:14:00 +00:00
Richard Sandiford
c5c680941b m68k.md: Use match_test rather than eq/ne symbol_ref throughout file.
gcc/
	* config/m68k/m68k.md: Use match_test rather than eq/ne symbol_ref
	throughout file.

From-SVN: r178823
2011-09-13 18:13:24 +00:00
Richard Sandiford
9e53d97c3c h8300.md: Use match_test rather than eq/ne symbol_ref throughout file.
gcc/
	* config/h8300/h8300.md: Use match_test rather than eq/ne symbol_ref
	throughout file.

From-SVN: r178822
2011-09-13 18:12:53 +00:00
Richard Sandiford
b75b1be274 arm.md: Use match_test rather than eq/ne symbol_ref throughout file.
gcc/
	* config/arm/arm.md: Use match_test rather than eq/ne symbol_ref
	throughout file.
	* config/arm/neon.md: Likewise.
	* config/arm/vfp.md: Likewise.
	* config/arm/thumb2.md: Likewise.
	* config/arm/cortex-m4.md: Likewise.

From-SVN: r178821
2011-09-13 18:11:00 +00:00
Ian Lance Taylor
280deda6f3 Fix inherited hidden methods that return hidden types.
From-SVN: r178818
2011-09-13 17:21:40 +00:00
Sevak Sargsyan
bd1aa4f4af neon.md (neon_vabd<mode>_2, [...]): New define_insn patterns for combine.
2011-09-13  Sevak Sargsyan <sevak.sargsyan@ispras.ru>

	* config/arm/neon.md (neon_vabd<mode>_2, neon_vabd<mode>_3): New
	define_insn patterns for combine.

	* gcc.target/arm/neon-combine-sub-abs-into-vabd.c: New test.

From-SVN: r178817
2011-09-13 20:21:38 +04:00
Giuseppe Scrivano
29b7399adf reorg.c: Always define make_return_insns.
gcc/
2011-09-13  Giuseppe Scrivano  <gscrivano@gnu.org>

	* reorg.c: Always define make_return_insns.

From-SVN: r178813
2011-09-13 14:42:29 +00:00
Dodji Seketeli
1f15c50b16 c++/48320 - Template parameter packs cannot be expanded in default template arguments
gcc/cp/

	PR c++/48320
	* pt.c (template_parameter_pack_p):  Support TEMPLATE_PARM_INDEX
	nodes.  Add a comment.
	(arg_from_parm_pack_p):  New static function, factorized out from
	tsubst_pack_expansion and extended to support non-type parameter
	packs represented with TEMPLATE_PARM_INDEX nodes.
	(tsubst_pack_expansion): Use arg_from_parm_pack_p.

gcc/testsuite/

	PR c++/48320
	* g++.dg/cpp0x/variadic116.C: New test case.

From-SVN: r178811
2011-09-13 16:39:15 +02:00
Jan Hubicka
42f833bc5f re PR other/49533 (Revision 174989 (ipa-inline-transform.c) regressions)
PR other/49533
	* cgraphunit.c (assemble_thunks_and_aliases): Force alias to be output.

From-SVN: r178810
2011-09-13 14:28:39 +00:00
Jan Hubicka
aa74f0812b ipa-inline-transform.c (can_remove_node_now_p): Fix thunkos.
other/49533
	* ipa-inline-transform.c (can_remove_node_now_p): Fix thunkos.

From-SVN: r178809
2011-09-13 14:03:04 +00:00
Paul Brook
1e874273f8 arm.h (ASM_PREFERRED_EH_DATA_FORMAT): Define.
2011-09-13  Paul Brook  <paul@codesourcery.com>
 
	gcc/
	* config/arm/arm.h (ASM_PREFERRED_EH_DATA_FORMAT): Define.
	(ARM_TARGET2_DWARF_FORMAT): Provide default definition.
	* config/arm/linux-eabi.h (ARM_TARGET2_DWARF_FORMAT): Define.
	* config/arm/symbian.h (ARM_TARGET2_DWARF_FORMAT): Define.
	* config/arm/uclinux-eabi.h(ARM_TARGET2_DWARF_FORMAT): Define.
	* config/arm/t-bpabi (EXTRA_HEADERS): Add unwind-arm-common.h.
	* config/arm/t-symbian (EXTRA_HEADERS): Add unwind-arm-common.h.
	* config/c6x/c6x.c (c6x_output_file_unwind): Don't rely on dwarf2 code
	enabling unwind tables.
	(c6x_debug_unwind_info): New function.
	(TARGET_ARM_EABI_UNWINDER): Define.
	(TARGET_DEBUG_UNWIND_INFO): Define.
	* config/c6x/c6x.h (DWARF_FRAME_RETURN_COLUMN): Define.
	(TARGET_EXTRA_CFI_SECTION): Remove.
	* config/c6x/t-c6x-elf (EXTRA_HEADERS): Set.
	* ginclude/unwind-arm-common.h: New file.

	libgcc/
	* config.host (tic6x-*-*): Add c6x/t-c6x-elf.  Set unwind_header.
	* unwind-c.c (PERSONALITY_FUNCTION): Use UNWIND_POINTER_REG.
	* unwind-arm-common.inc: New file.
	* config/arm/unwind-arm.c: Use unwind-arm-common.inc.
	* config/arm/unwind-arm.h: Use unwind-arm-common.h.
	(_GLIBCXX_OVERRIDE_TTYPE_ENCODING): Define.
	* config/c6x/libunwind.S: New file.
	* config/c6x/pr-support.c: New file.
	* config/c6x/unwind-c6x.c: New file.
	* config/c6x/unwind-c6x.h: New file.
	* config/c6x/t-c6x-elf: New file.


	libstdc++-v3/
	* libsupc++/eh_arm.cc (__cxa_end_cleanup): Add C6X implementation.
	* libsupc++/eh_call.cc (__cxa_call_unexpected): Set rtti_base.
	* libsupc++/eh_personality.cc (NO_SIZE_OF_ENCODED_VALUE): Remove
	__ARM_EABI_UNWINDER__ check.
	(parse_lsda_header): Check _GLIBCXX_OVERRIDE_TTYPE_ENCODING.
	(get_ttype_entry): Use generic implementation on ARM EABI.
	(check_exception_spec): Use _Unwind_decode_typeinfo_ptr and
	UNWIND_STACK_REG.
	(PERSONALITY_FUNCTION): Set ttype_base.

From-SVN: r178808
2011-09-13 12:48:33 +00:00
Georg-Johann Lay
3e0cef6ddd re PR target/50358 (AVR: Implement [u]maddqihi4 [u]msubqihi4 patterns on the enhanced core)
PR target/50358
	* config/avr/predicates.md (const_1_to_6_operand): New predicate.
	* config/avr/avr.md: (extend_s): New code attribute.
	(mul_r_d): New code attribute.
	(*maddqihi4, *umaddqihi4): New insns.
	(*msubqihi4, *umsubqihi4): New insns.
	(*usmaddqihi4, *sumaddqihi4): New insns.
	(*usmsubqihi4, *susubdqihi4): New insns.
	(*umaddqihi4.uconst, *maddqihi4.sconst): New insn-and-splits.
	(*umsubqihi4.uconst, *msubqihi4.sconst): New insn-and-splits.
	(*umsubqihi4.uconst.ashift): New insn-and-split.
	(*msubqihi4.sconst.ashift): New insn-and-split.
	(*sumaddqihi4.uconst): New insn-and-split.
	(*sumsubqihi4.uconst): New insn-and-split.
	* config/avr/avr.c (avr_rtx_costs): Report costs of above in case
	PLUS:HI and MINUS:HI.

From-SVN: r178806
2011-09-13 09:23:36 +00:00
Revital Eres
a9fb4f13b1 SMS: Minor misc. fixes
From-SVN: r178804
2011-09-13 06:01:24 +00:00
GCC Administrator
966bc51a9f Daily bump.
From-SVN: r178803
2011-09-13 00:19:50 +00:00
Daniel Krugler
9480716c80 tuple (_Head_base<>::_M_head, [...]): Change to static constexpr functions; adjust everywhere.
2011-09-12  Daniel Krugler  <daniel.kruegler@googlemail.com>
	    Paolo Carlini  <paolo.carlini@oracle.com>

	* include/std/tuple (_Head_base<>::_M_head, _Head_base<>::_M_tail,
	_Tuple_impl<>::_M_head, _Tuple_impl<>::_M_tail): Change to static
	constexpr functions; adjust everywhere.
	(__get_helper, get): Declare constexpr all three overloads.
	(tuple_cat): Declare constexpr; use late return type to improve
	error messages.
	* include/std/utility (__pair_get<>::__get, __pair_get<>::__move_get,
	__pair_get<>::__const_get, get): Declare all constexpr.
	* include/std/array (get): Likewise.
	* testsuite/20_util/tuple/creation_functions/constexpr.cc: Re-enable
	tuple_cat test.
	* testsuite/23_containers/array/constexpr_get.cc: New.
	* testsuite/20_util/tuple/element_access/constexpr_get.cc: Likewise.
	* testsuite/20_util/pair/constexpr_get.cc: Likewise.
	* testsuite/20_util/weak_ptr/comparison/cmp_neg.cc: Adjust dg-error
	line number.

Co-Authored-By: Paolo Carlini <paolo.carlini@oracle.com>

From-SVN: r178799
2011-09-13 00:06:25 +00:00
Bernd Schmidt
e739761805 rtl.c (copy_rtx): Do not handle frame_related, jump or call flags specially.
* rtl.c (copy_rtx): Do not handle frame_related, jump or call
	flags specially.

From-SVN: r178798
2011-09-12 23:38:21 +00:00
Jakub Jelinek
b84dad8e0a re PR bootstrap/50010 (bootstrap comparison failure without CFI directives)
PR bootstrap/50010
	* dwarf2cfi.c (add_cfis_to_fde): Ignore non-active insns in between
	NOTE_INSN_CFI notes, with the exception of
	NOTE_INSN_SWITCH_TEXT_SECTIONS.

From-SVN: r178795
2011-09-12 21:29:31 +02:00
Richard Sandiford
3bd0817d1c mips.c (mips_epilogue): New structure.
gcc/
2011-09-11  Bernd Schmidt  <bernds@codesourcery.com>
	    Richard Sandiford  <rdsandiford@googlemail.com>

	* config/mips/mips.c (mips_epilogue): New structure.
	(mips16e_save_restore_reg): Queue REG_CFA_RESTORE notes when
	restoring registers.
	(mips_epilogue_emit_cfa_restores): New function.
	(mips_epilogue_set_cfa): Likewise.
	(mips_restore_reg): Queue REG_CFA_RESTORE notes.  When restoring
	the current CFA register from the stack, redefine the CFA in terms
	of the stack pointer.
	(mips_expand_epilogue): Set up mips_epilogue.  Attach CFA information
	to the epilogue instructions.

gcc/testsuite/
	* gcc.target/mips/mips.exp (mips_option_groups): Add debug options.
	* gcc.target/mips/interrupt_handler-2.c: New test.
	* gcc.target/mips/interrupt_handler-3.c: Likewise.

From-SVN: r178794
2011-09-12 19:25:59 +00:00
Richard Sandiford
42ae51f40e mips.c (mips16e_save_restore_reg): Add a reg_parm_p argument.
gcc/
	* config/mips/mips.c (mips16e_save_restore_reg): Add a reg_parm_p
	argument.
	(mips16e_build_save_restore): Update accordingly.

From-SVN: r178793
2011-09-12 19:25:39 +00:00
Jason Merrill
c8580138b0 pt.c (type_unification_real): Fix handling of DEDUCE_CONV with no deducible template parameters.
* pt.c (type_unification_real): Fix handling of DEDUCE_CONV
	with no deducible template parameters.
	* call.c (rejection_reason_code): Add rr_template_conversion.
	(print_z_candidate): Handle it.
	(template_conversion_rejection): New.
	(build_user_type_conversion_1): Use it.

From-SVN: r178791
2011-09-12 14:05:03 -04:00
Jason Merrill
940023f4ba call.c (merge_conversion_sequences): Set bad_p and user_conv_p on all of the second conversion sequence.
* call.c (merge_conversion_sequences): Set bad_p and user_conv_p
	on all of the second conversion sequence.
	(build_user_type_conversion_1): Set bad_p on the ck_user conv.
	(convert_like_real): Handle bad ck_ref_bind with user_conv_p in the
	first section.  Fix loop logic.
	(initialize_reference): Call convert_like for diagnostics when
	we have a (bad) conversion.

From-SVN: r178790
2011-09-12 14:04:55 -04:00
Jason Merrill
62a405ddf3 * call.c (convert_class_to_reference)
(convert_class_to_reference_1): Remove.
	(reference_binding): Use build_user_type_conversion_1 instead.

From-SVN: r178789
2011-09-12 14:04:46 -04:00
Jason Merrill
e495f6b0c0 call.c (initialize_reference): Add flags parm.
* call.c (initialize_reference): Add flags parm.
	* decl.c (grok_reference_init): Likewise.
	(check_initializer): Pass it.
	* typeck.c (convert_for_initialization): Likewise.
	* cp-tree.h: Adjust.

From-SVN: r178788
2011-09-12 14:04:39 -04:00