Commit Graph

111912 Commits

Author SHA1 Message Date
Arnaud Charlet
0b5b2bbc71 [multiple changes]
2011-09-15  Robert Dewar  <dewar@adacore.com>

	* a-cdlili.adb, a-coinve.adb, a-stzunb-shared.ads, a-suezst.adb,
	a-suenco.adb, a-stwiun-shared.ads, a-cobove.adb, a-convec.adb,
	a-btgbso.adb, a-cbdlli.adb, a-suewst.adb: Minor reformatting.

2011-09-15  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch6.adb (Analyze_Expression_Function): Code cleanup:
	if the expression function is not a completion, create a
	new specification for the generated declaration, and keep the
	original specification in the generated body. Shorter code also
	ensures that proper warnings are generated for unused formals
	in all cases.

2011-09-15  Sergey Rybin  <rybin@adacore.com>

	* tree_io.ads: Update ASIS_Version_Number because of the changes
	in the tree structures for expression functions.

2011-09-15  Arnaud Charlet  <charlet@adacore.com>

	* s-osinte-aix.ads, s-osinte-darwin.ads, s-osinte-freebsd.ads,
	s-osinte-hpux.ads, s-osinte-lynxos.ads, s-osinte-solaris-posix.ads,
	s-taprop-posix.adb (CLOCK_MONOTONIC): New constant.
	(CLOCK_REALTIME): Fix wrong value on some OSes.
	* s-taprop-posix.adb (Monotonic_Clock): Use CLOCK_MONOTONIC.

From-SVN: r178877
2011-09-15 12:22:54 +02:00
GCC Administrator
21f1e8ce72 Daily bump.
From-SVN: r178875
2011-09-15 00:19:11 +00:00
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