Commit Graph

93616 Commits

Author SHA1 Message Date
Olivier Hainque
dbb6088f89 gstab.h (stab_code_type): Define, to be used instead of the __stab_debug_code enum, made anonymous.
* gstab.h (stab_code_type): Define, to be used instead of the
	__stab_debug_code enum, made anonymous.  Add 2009 to the copyright
	notice.
	* dbxout.c (STAB_CODE_TYPE): Remove #define and replace use
	occurrences by stab_code_type.
	* mips-tfile.c (STAB_CODE_TYPE): Remove #define, unused.

From-SVN: r147734
2009-05-20 12:44:44 +00:00
Martin Jambor
7ec492570b tree-flow.h (insert_edge_copies_seq): Undeclare.
2009-05-20  Martin Jambor  <mjambor@suse.cz>

	* tree-flow.h (insert_edge_copies_seq): Undeclare.
	(sra_insert_before): Likewise.
	(sra_insert_after): Likewise.
	(sra_init_cache): Likewise.
	(sra_type_can_be_decomposed_p): Likewise.
	* tree-mudflap.c (insert_edge_copies_seq): Copied here from tree-sra.c
	* tree-sra.c (sra_type_can_be_decomposed_p): Made static.
	(sra_insert_before): Likewise.
	(sra_insert_after): Likewise.
	(sra_init_cache): Likewise.
	(insert_edge_copies_seq): Made static and moved upwards.

	* tree-complex.c (extract_component): Added VIEW_CONVERT_EXPR switch
	case.

	* tree-flow-inline.h (contains_view_convert_expr_p): New function.

	* ipa-prop.c (get_ssa_def_if_simple_copy): New function.
	(determine_cst_member_ptr): Call get_ssa_def_if_simple_copy to skip
	simple copies.

From-SVN: r147733
2009-05-20 12:18:10 +02:00
Eric Botcazou
3f6f0eb2e4 decl.c (gnat_to_gnu_entity): When discriminants affect the shape of the subtype...
* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Record_Subtype>: When
	discriminants affect the shape of the subtype, retrieve the GCC type
	directly from the original field if the GNAT types for the field and
	the original field are the same.

From-SVN: r147732
2009-05-20 08:29:05 +00:00
Richard Guenther
0328ae4d56 expr.c (expand_expr_real_1): Avoid calling do_store_flag with mismatched comparison modes.
2009-05-20  Richard Guenther  <rguenther@suse.de>

	* expr.c (expand_expr_real_1): Avoid calling do_store_flag
	with mismatched comparison modes.

	* gcc.c-torture/compile/20090518-1.c: New testcase.

From-SVN: r147731
2009-05-20 08:19:50 +00:00
Ramana Radhakrishnan
a7994a57b9 Fix Thumb2 bic orn
2009-05-20  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
    
	* config/arm/arm.md (*arm_iorsi3): Refactored for only ARM.
        (peephole ior (reg, int) -> mov, ior): Refactored for only ARM.
        * config/arm/thumb2.md (*thumb_andsi_not_shiftsi_si): Allow bic
        with shifts for Thumb2.
        (orsi_notsi): New for orn.
        (*thumb_orsi_notshiftsi_si): Allow orn with shifts.
        (*thumb2_iorsi3): Rewrite support for iorsi for Thumb2.
        * config/arm/arm.c (const_ok_for_op): Split case for IOR for
        Thumb2.
        (arm_gen_constant): Set can_invert for IOR and Thumb2, Add
        comments. Don't invert remainder for IOR.

From-SVN: r147729
2009-05-20 05:40:17 +00:00
Benjamin Kosnik
875d0f10a6 14340.cc: Abstract list type.
2009-05-19  Benjamin Kosnik  <bkoz@redhat.com>

	* testsuite/23_containers/list/14340.cc: Abstract list type.
	* testsuite/23_containers/list/init-list.cc: Same.
	* testsuite/23_containers/list/pthread5.cc: Same.
	* testsuite/23_containers/list/invalidation/1.cc: Same.
	* testsuite/23_containers/list/invalidation/2.cc: Same.
	* testsuite/23_containers/list/invalidation/3.cc: Same.
	* testsuite/23_containers/list/invalidation/4.cc: Same.
	* testsuite/23_containers/list/modifiers/insert/25288.cc: Same.
	* testsuite/23_containers/list/modifiers/1.cc: Same.
	* testsuite/23_containers/list/modifiers/2.cc: Same.
	* testsuite/23_containers/list/modifiers/3.cc: Same.
	* testsuite/23_containers/list/modifiers/swap/1.cc: Same.
	* testsuite/23_containers/list/modifiers/swap/2.cc: Same.
	* testsuite/23_containers/list/modifiers/swap/3.cc: Same.
	* testsuite/23_containers/list/cons/1.cc: Same.
	* testsuite/23_containers/list/cons/2.cc: Same.
	* testsuite/23_containers/list/cons/3.cc: Same.
	* testsuite/23_containers/list/cons/4.cc: Same.
	* testsuite/23_containers/list/cons/5.cc: Same.
	* testsuite/23_containers/list/cons/6.cc: Same.
	* testsuite/23_containers/list/cons/7.cc: Same.
	* testsuite/23_containers/list/cons/clear_allocator.cc: Same.
	* testsuite/23_containers/list/cons/8.cc: Same.
	* testsuite/23_containers/list/cons/9.cc: Same.
	* testsuite/23_containers/list/operations/1.cc: Same.
	* testsuite/23_containers/list/operations/2.cc: Same.
	* testsuite/23_containers/list/operations/3.cc: Same.
	* testsuite/23_containers/list/operations/4.cc: Same.
	* testsuite/23_containers/list/operations/5.cc: Same.
	* testsuite/23_containers/list/requirements/citerators.cc: Same.
	* testsuite/23_containers/list/requirements/dr438/assign_neg.cc: Same.
	* testsuite/23_containers/list/requirements/dr438/insert_neg.cc: Same.
	* testsuite/23_containers/list/requirements/dr438/
	constructor_1_neg.cc: Same.
	* testsuite/23_containers/list/requirements/dr438/
	constructor_2_neg.cc: Same.
	* testsuite/23_containers/list/requirements/dr438/constructor.cc: Same.
	* testsuite/23_containers/list/requirements/
	partial_specialization/1.cc: Same.
	* testsuite/23_containers/list/23781.cc: Same.
	* testsuite/23_containers/list/pthread1.cc: Same.
	* testsuite/23_containers/list/capacity/1.cc: Same.
	* testsuite/23_containers/list/capacity/29134.cc: Same.
	* testsuite/23_containers/list/check_construct_destroy.cc: Same.
	* testsuite/23_containers/list/moveable.cc: Same.

	* testsuite/util/common_type/assoc/common_type.hpp: Re-break lines.

From-SVN: r147728
2009-05-20 04:05:21 +00:00
Zdenek Dvorak
e36dc33956 re PR tree-optimization/40087 (Number of iterations analysis wrong)
PR tree-optimization/40087
	* tree-ssa-loop-niter.c (number_of_iterations_ne_max,
	number_of_iterations_ne): Rename never_infinite argument.
	(number_of_iterations_lt_to_ne, number_of_iterations_lt,
	number_of_iterations_le): Handle pointer-type ivs when
	exit_must_be_taken is false.
	(number_of_iterations_cond):  Do not always assume that
	exit_must_be_taken if the control variable is a pointer.

	* gcc.dg/tree-ssa/pr40087.c: New test.

From-SVN: r147727
2009-05-20 00:33:54 +00:00
GCC Administrator
03d33c2a44 Daily bump.
From-SVN: r147726
2009-05-20 00:16:48 +00:00
Jerry DeLisle
3a546d4d9b re PR libfortran/37754 (READ I/O Performance regression from 4.3 to 4.4/4.5)
2009-05-19  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	PR libfortran/37754
	* io/write_float.def: Simplify format calculation.

From-SVN: r147725
2009-05-20 00:16:38 +00:00
Andrew Pinski
5cfd5d9b8f c-typeck.c (build_binary_op): Allow % on integal vectors.
2009-05-19  Andrew Pinski  <andrew_pinski@playstation.sony.com>

        * c-typeck.c (build_binary_op): Allow % on integal vectors.
        * doc/extend.texi (Vector Extension): Document that % is allowed too.

009-05-19  Andrew Pinski  <andrew_pinski@playstation.sony.com>

        * typeck.c (build_binary_op): Allow % on integal vectors.

2009-05-19  Andrew Pinski  <andrew_pinski@playstation.sony.com>

        * gcc.dg/vector-4.c: New testcase.
        * gcc.dg/simd-1b.c: % is now allowed for integer vectors.
        * g++.dg/ext/vector16.C: New testcase.

From-SVN: r147722
2009-05-19 16:14:10 -07:00
H.J. Lu
dae279f018 re PR c/40172 (Revision 147596 breaks bootstrap)
2009-05-19  H.J. Lu  <hongjiu.lu@intel.com>

	PR c/40172
	* gcc.dg/pr40172.c: Renamed to ...
	* gcc.dg/pr40172-1.c: This.

	* gcc.dg/pr40172-2.c: New.
	* gcc.dg/pr40172-3.c: Likewise.

From-SVN: r147719
2009-05-19 14:17:00 -07:00
H.J. Lu
2f1c7156ef i386.c (ix86_avoid_jump_mispredicts): Check ASM_OUTPUT_MAX_SKIP_PAD instead of ASM_OUTPUT_MAX_SKIP_ALIGN.
2009-05-19  H.J. Lu  <hongjiu.lu@intel.com>

	* config/i386/i386.c (ix86_avoid_jump_mispredicts): Check
	ASM_OUTPUT_MAX_SKIP_PAD instead of ASM_OUTPUT_MAX_SKIP_ALIGN.

From-SVN: r147718
2009-05-19 13:11:55 -07:00
Manuel López-Ibáñez
7bb2707483 re PR c/40172 (Revision 147596 breaks bootstrap)
2009-05-19  Manuel López-Ibáñez  <manu@gcc.gnu.org>

	PR c/40172
gcc/
	* c.opt (Wlogical-op): Disabled by default.
	* c-opt (c_common_post_options): Do not enable Wlogical-op with
	Wextra.
	* doc/invoke.texi (Wlogical-op): Likewise.
testsuite/
	* gcc.dg/pr40172.c: Add -Wlogical-op to dg-options.

From-SVN: r147717
2009-05-19 19:29:27 +00:00
Eric Botcazou
5aefc6a0f0 tree-scalar-evolution.c (follow_ssa_edge_expr): Turn into CASE_CONVERT.
* tree-scalar-evolution.c (follow_ssa_edge_expr) <NOP_EXPR>: Turn
	into CASE_CONVERT.
	<PLUS_EXPR>: Strip useless type conversions instead of type nops.
	Propagate the type of the first operand.
	<ASSERT_EXPR>: Simplify.
	(follow_ssa_edge_in_rhs): Use gimple_expr_type to get the type.
	Rewrite using the RHS code as discriminant.
	<NOP_EXPR>: Turn into CASE_CONVERT.
	<PLUS_EXPR>: Propagate the type of the first operand.

From-SVN: r147716
2009-05-19 19:14:42 +00:00
Paolo Carlini
c8036448d1 re PR libstdc++/40184 (locale(const char* std_name) can create invalid facets for nonuniform locale)
2009-05-19  Paolo Carlini  <paolo.carlini@oracle.com>

	PR libstdc++/40184
	* include/bits/locale_classes.h (locale::facet::_S_lc_ctype_c_locale):
	Declare...
	* config/locale/gnu/c_locale.cc: ... and define.
	* config/locale/generic/c_locale.cc: Define.
	* src/localename.cc (locale::_Impl::_Impl(const char*, size_t)):
	Use it.
	* testsuite/22_locale/locale/cons/40184.cc: New.

From-SVN: r147714
2009-05-19 18:20:47 +00:00
Steve Ellcey
f3a8311127 ia64-protos.h (ia64_dconst_0_5): New.
* config/ia64/ia64-protos.h (ia64_dconst_0_5): New.
	(ia64_dconst_0_375): New.
	* config/ia64/ia64.c (ia64_override_options): Remove
	-minline-sqrt-min-latency warning.
	(ia64_dconst_0_5_rtx, ia64_dconst_0_5): New.
	(ia64_dconst_0_375_rtx, ia64_dconst_0_375): New
	* config/ia64/ia64.md (*sqrt_approx): Remove.
	(sqrtsf2): Remove #if 0.
	(sqrtsf2_internal_thr): Rewrite and move to div.md.
	(sqrtdf): Remove assert.
	(sqrtdf2_internal_thr): Rewrite and move to div.md.
	(sqrtxf2): Remove #if 0.
	(sqrtxf2_internal_thr): Rewrite and move to div.md.
	* div.md (sqrt_approx_rf): New.
	(sqrtsf2_internal_thr): New implementation.
	(sqrtsf2_internal_lat): New.
	(sqrtdf2_internal_thr: New implementation.
	(sqrtxf2_internal): New implementation.

From-SVN: r147713
2009-05-19 18:18:08 +00:00
Francois-Xavier Coudert
1ffc7157ef * defaults.h (UINT_FAST64_TYPE, INTPTR_TYPE, UINTPTR_TYPE)
(WCHAR_TYPE, MODIFIED_WCHAR_TYPE, PTRDIFF_TYPE, WINT_TYPE)
	(INTMAX_TYPE, UINTMAX_TYPE, SIG_ATOMIC_TYPE, INT8_TYPE, INT16_TYPE)
	(INT32_TYPE, INT64_TYPE, UINT8_TYPE, UINT16_TYPE, UINT32_TYPE)
	(UINT64_TYPE, INT_LEAST8_TYPE, INT_LEAST16_TYPE, INT_LEAST32_TYPE)
	(INT_LEAST64_TYPE, UINT_LEAST8_TYPE, UINT_LEAST16_TYPE)
	(UINT_LEAST32_TYPE, UINT_LEAST64_TYPE, INT_FAST8_TYPE)
	(INT_FAST16_TYPE, INT_FAST32_TYPE, INT_FAST64_TYPE)
	(UINT_FAST8_TYPE, UINT_FAST16_TYPE, UINT_FAST32_TYPE)
	(SIZE_TYPE, PID_TYPE, CHAR16_TYPE, CHAR32_TYPE): Move defaults here...
	* c-common.c: ...from here.

Co-Authored-By: Hans-Peter Nilsson <hp@axis.com>

From-SVN: r147712
2009-05-19 18:12:57 +00:00
H.J. Lu
e9351712b5 Replace spaces with tab.
From-SVN: r147709
2009-05-19 09:06:46 -07:00
Manuel López-Ibáñez
db91d9ef7b c-common.c (warn_logical_operator): Remove unnecessary conditionals.
2009-05-19  Manuel López-Ibáñez  <manu@gcc.gnu.org>

	* c-common.c (warn_logical_operator): Remove unnecessary
	conditionals.

From-SVN: r147708
2009-05-19 15:41:17 +00:00
Kaveh R. Ghazi
bbb9d91f19 builtins.c (do_mpc_arg1): Separate MPFR/MPC C rounding types.
* builtins.c (do_mpc_arg1): Separate MPFR/MPC C rounding types.

From-SVN: r147707
2009-05-19 14:56:05 +00:00
Ben Elliston
ce883f549b unwind-dw2-fde.c (fde_unencoded_compare): Replace type punning assignments with memcpy calls.
* unwind-dw2-fde.c (fde_unencoded_compare): Replace type punning
	assignments with memcpy calls.
	(add_fdes): Likewise.
	(binary_search_unencoded_fdes): Likewise.
	(linear_search_fdes): Eliminate type puns.

From-SVN: r147705
2009-05-19 23:24:30 +10:00
Richard Guenther
377f099ab8 tree-ssa-forwprop.c (forward_propagate_addr_expr_1): Do not falsely claim to have propagated into all uses.
2009-05-19  Richard Guenther  <rguenther@suse.de>

	* tree-ssa-forwprop.c (forward_propagate_addr_expr_1): Do
	not falsely claim to have propagated into all uses.

	* gcc.c-torture/compile/20090519-1.c: New testcase.

From-SVN: r147702
2009-05-19 11:51:54 +00:00
Ian Lance Taylor
7859dde7ee cp-demangle.c (cplus_demangle_fill_ctor): Fix logic bug.
* cp-demangle.c (cplus_demangle_fill_ctor): Fix logic bug.
	(cplus_demangle_fill_dtor): Likewise.

Co-Authored-By: Ben Elliston <bje@au.ibm.com>

From-SVN: r147699
2009-05-19 12:42:13 +10:00
Alexandre Oliva
31c98f4921 re PR other/40159 ("make all" ignores build failures)
PR other/40159
* Makefile.tpl (all): Don't assume gcc-bootstrap and
gcc-no-bootstrap are mutually exclusive.
* Makefile.in: Rebuilt.

From-SVN: r147695
2009-05-19 01:30:35 +00:00
GCC Administrator
d99e5e9584 Daily bump.
From-SVN: r147688
2009-05-19 00:16:50 +00:00
Alexandre Oliva
0f50183740 re PR other/40159 ("make all" ignores build failures)
PR other/40159
* Makefile.tpl (all): Don't end with unconditional success.
* Makefile.in: Rebuilt.

From-SVN: r147683
2009-05-19 00:01:17 +00:00
Ben Elliston
848bc769a5 invoke.texi (C Dialect Options): Update OpenMP specification version to v3.0.
* doc/invoke.texi (C Dialect Options): Update OpenMP specification
	version to v3.0.

From-SVN: r147682
2009-05-19 09:41:55 +10:00
Paolo Carlini
cf0e6fff1d re PR c++/40192 (Unable to use std::vector with typedef'd array types)
2009-05-18  Paolo Carlini  <paolo.carlini@oracle.com>

	PR libstdc++/40192
	* include/bits/stl_construct.h (struct _Destroy_aux): Add.
	(_Destroy(_ForwardIterator, _ForwardIterator)): Use the latter.
	* testsuite/23_containers/vector/40192.cc: New.

From-SVN: r147680
2009-05-18 23:16:20 +00:00
Kaz Kojima
1bb99877d3 sh-protos.h (sh_legitimate_address_p): Remove.
* config/sh/sh-protos.h (sh_legitimate_address_p): Remove.
	* config/sh/sh.c (sh_legitimate_address_p): Make static.
	(TARGET_LEGITIMATE_ADDRESS_P): New.
	* config/sh/sh.h (GO_IF_LEGITIMATE_ADDRESS): Delete.
	* config/sh/sh.md: Clean up references to GO_IF_LEGITIMATE_ADDRESS.

From-SVN: r147679
2009-05-18 22:31:46 +00:00
Jonathan Wakely
ff74fd1325 stl_pair.h (swap): Do not swap rvalues.
2009-05-18  Jonathan Wakely  <jwakely.gcc@gmail.com>

	* include/bits/stl_pair.h (swap): Do not swap rvalues.
	* include/bits/stl_deque.h (swap): Likewise.
	* include/bits/stl_list.h (swap): Likewise.
	* include/bits/stl_vector.h (swap): Likewise.
	* include/bits/stl_bvector.h (swap): Likewise.
	* include/bits/stl_queue.h (swap): Likewise.
	* include/bits/stl_stack.h (swap): Likewise.
	* include/bits/stl_tree.h (swap): Likewise.
	* include/bits/stl_map.h (swap): Likewise.
	* include/bits/stl_multimap.h (swap): Likewise.
	* include/bits/stl_set.h (swap): Likewise.
	* include/bits/stl_multiset.h (swap): Likewise.
	* include/bits/forward_list.h (swap): Likewise.
	* include/bits/unique_ptr.h (swap): Likewise.
	* include/debug/deque (swap): Likewise.
	* include/debug/list (swap): Likewise.
	* include/debug/vector (swap): Likewise.
	* include/debug/map.h (swap): Likewise.
	* include/debug/multimap.h (swap): Likewise.
	* include/debug/set.h (swap): Likewise.
	* include/debug/multiset.h (swap): Likewise.
	* include/debug/unordered_map (swap): Likewise.
	* include/debug/unordered_set (swap): Likewise.
	* include/ext/vstring.h (swap): Likewise.
	* include/tr1_impl/unordered_map (swap): Likewise.
	* include/tr1_impl/hashtable (swap): Likewise.
	* include/tr1_impl/unordered_set (swap): Likewise.
	* include/std/tuple (swap): Likewise.
	* include/std/mutex (swap): Likewise.
	* include/std/thread (swap): Likewise.
	(operator<<): Only output to lvalue streams.
	* testsuite/20_util/shared_ptr/modifiers/swap_rvalue.cc: Remove.
	* testsuite/23_containers/headers/forward_list/synopsis.cc: Adjust.
	* testsuite/23_containers/deque/requirements/dr438/
	assign_neg.cc: Adjust line numbers.
	* testsuite/23_containers/deque/requirements/dr438/
	constructor_1_neg.cc: Likewise.
	* testsuite/23_containers/deque/requirements/dr438/
	constructor_2_neg.cc: Likewise.
	* testsuite/23_containers/deque/requirements/dr438/
	insert_neg.cc: Likewise.
	* testsuite/23_containers/list/requirements/dr438/
	assign_neg.cc: Likewise.
	* testsuite/23_containers/list/requirements/dr438/
	constructor_1_neg.cc: Likewise.
	* testsuite/23_containers/list/requirements/dr438/
	constructor_2_neg.cc: Likewise.
	* testsuite/23_containers/list/requirements/dr438/
	insert_neg.cc: Likewise.
	* testsuite/23_containers/vector/requirements/dr438/
	assign_neg.cc: Likewise.
	* testsuite/23_containers/vector/requirements/dr438/
	constructor_1_neg.cc: Likewise.
	* testsuite/23_containers/vector/requirements/dr438/
	constructor_2_neg.cc: Likewise.
	* testsuite/23_containers/vector/requirements/dr438/
	insert_neg.cc: Likewise.
	* testsuite/30_threads/thread/swap/1.cc: Swap with lvalue and also
	test non-member swap.
	* testsuite/30_threads/thread/swap/2.cc: Remove.

From-SVN: r147678
2009-05-18 23:15:56 +01:00
Jason Merrill
e57d93c6bc Implement explicit conversions ops as specified in N2437.
* decl.c (grokdeclarator): Handle explicit conversion ops.
	(check_initializer): Pass flags to store_init_value.
	* decl2.c (maybe_emit_vtables): Likewise.
	* init.c (expand_aggr_init_1): Likewise.
	* call.c (convert_class_to_reference): Take flags parm,
	check DECL_NONCONVERTING_P.
	(build_user_type_conversion_1): Check DECL_NONCONVERTING_P.
	(add_builtin_candidates): Simplify getting type of conversion.
	(build_object_call): Likewise.  Check DECL_NONCONVERTING_P.
	(implicit_conversion): Pass through LOOKUP_ONLYCONVERTING.
	(reference_binding): Take flags parm.  Direct-initialize copy parm.
	(add_function_candidate): Direct-initialize the copy parm.
	(add_conv_candidate): Use LOOKUP_IMPLICIT, not LOOKUP_NORMAL.
	(build_builtin_candidate): Add LOOKUP_ONLYCONVERTING.
	(conditional_conversion): Likewise.
	(convert_like_real): Only complain about DECL_NONCONVERTING_P
	constructors.
	(perform_implicit_conversion_flags): Add flags parm to
	perform_implicit_conversion.  Improve diagnostics.
	* cp-tree.h (LOOKUP_IMPLICIT): New macro.
	(LOOKUP_COPY_PARM): New bit macro.
	* cvt.c (build_expr_type_conversion): Check DECL_NONCONVERTING_P.
	* typeck.c (convert_for_assignment): Take flags parm, pass it to
	perform_implicit_conversion_flags.
	(cp_build_modify_expr): Pass flags to convert_for_assignment.
	(convert_for_initialization): Likewise.
	* typeck2.c (store_init_value): Take flags parm, pass to
	digest_init_flags.
	(digest_init_flags): Add flags parm to digest_init.
	(digest_init_r): Take flags parm, pass to convert_for_initialization.
	(process_init_constructor_array): Pass it.
	(process_init_constructor_record): Likewise.
	(process_init_constructor_union): Likewise.

From-SVN: r147677
2009-05-18 17:48:02 -04:00
Dodji Seketeli
82725547db re PR debug/40109 (Incorrect debug info nesting for typedef statements within namespaces)
Fix for PR debug/40109

gcc/ChangeLog:
PR debug/40109
* dwarf2out.c (gen_type_die_with_usage): Generate the DIE as a
child of the containing namespace's DIE.

gcc/testsuite/ChangeLog:
PR debug/40109
* g++.dg/debug/dwarf2/nested-1.C: New test.

From-SVN: r147674
2009-05-18 21:19:52 +02:00
Adam Nemet
f6a1e4301a * config/mips/mips.md (*zero_extend<GPR:mode>_trunc<SHORT:mode>,
*zero_extendhi_truncqi):  Move after the zero_extend patterns.
	(*extenddi_truncate<mode>, *extendsi_truncate<mode>): Move after the
	extend patterns.

From-SVN: r147673
2009-05-18 18:43:25 +00:00
H.J. Lu
6a90d232ab re PR target/39942 (Nonoptimal code - leaveq; xchg %ax,%ax; retq)
2009-05-18  H.J. Lu  <hongjiu.lu@intel.com>

	PR target/39942
	* config/i386/i386.c (ix86_avoid_jump_misspredicts): Replace
	gen_align with gen_pad.
	(ix86_reorg): Check ASM_OUTPUT_MAX_SKIP_PAD instead of
	#ifdef ASM_OUTPUT_MAX_SKIP_ALIGN.

	* config/i386/i386.h (ASM_OUTPUT_MAX_SKIP_PAD): New.
	* config/i386/x86-64.h (ASM_OUTPUT_MAX_SKIP_PAD): Likewise.

	* config/i386/i386.md (align): Renamed to ...
	(pad): This.  Replace ASM_OUTPUT_MAX_SKIP_ALIGN with
	ASM_OUTPUT_MAX_SKIP_PAD.

From-SVN: r147671
2009-05-18 10:21:13 -07:00
H.J. Lu
cf249b02ea re PR testsuite/39907 (Aligned access to unaligned address)
2009-05-18  H.J. Lu  <hongjiu.lu@intel.com>

	PR testsuite/39907
	* gcc.target/x86_64/abi/asm-support.S (snapshot_ret): Preserve
	stack alignment.

From-SVN: r147667
2009-05-18 09:53:25 -07:00
Andreas Schwab
3f1c917c5d * config.gcc: Fix variable syntax.
From-SVN: r147666
2009-05-18 16:49:50 +00:00
Andreas Schwab
06555043e5 * config.gcc: Fix variable syntax.
From-SVN: r147665
2009-05-18 16:22:47 +00:00
Andreas Schwab
c4406f7429 re PR target/39531 (m68k gcc does not convert andil to bclr when compiled on a 64bit host)
PR target/39531
* config/m68k/m68k.c (output_andsi3): Mask off sign bit copies
before calling exact_log2.
(output_iorsi3): Likewise.
(output_xorsi3): Likewise.

From-SVN: r147664
2009-05-18 15:36:18 +00:00
Janus Weil
e35bbb23ad re PR fortran/40164 (Fortran 2003: "Arrays of procedure pointers" (using PPCs))
2009-05-18  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/40164
	* primary.c (gfc_match_rvalue): Handle procedure pointer components in
	arrays.
	* resolve.c (resolve_ppc_call,resolve_expr_ppc): Resolve component and
	array references.
	(resolve_fl_derived): Procedure pointer components are not required to
	have constant array bounds in their return value.


2009-05-18  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/40164
	* gfortran.dg/proc_ptr_comp_8.f90: New.

From-SVN: r147663
2009-05-18 16:44:55 +02:00
Janus Weil
9b2db7be32 intrinsic.c (add_sym): Fix my last commit (r147655), which broke bootstrap.
2009-05-18  Janus Weil  <janus@gcc.gnu.org>

	* intrinsic.c (add_sym): Fix my last commit (r147655),
	which broke bootstrap.

From-SVN: r147662
2009-05-18 15:56:44 +02:00
Kaz Kojima
9905269286 sh.c (expand_cbranchdi4): Use a scratch register for the none zero constant operand except for EQ and NE...
* config/sh/sh.c (expand_cbranchdi4): Use a scratch register
	for the none zero constant operand except for EQ and NE
	comprisons even when the first operand is R0.

From-SVN: r147661
2009-05-18 12:53:22 +00:00
Andreas Krebbel
f4aa38482c 2064.md: Remove trailing whitespaces.
2009-05-18  Andreas Krebbel  <krebbel1@de.ibm.com>

	* config/s390/2064.md: Remove trailing whitespaces.
	* config/s390/2084.md: Likewise.
	* config/s390/constraints.md: Likewise.
	* config/s390/fixdfdi.h: Likewise.
	* config/s390/libgcc-glibc.ver: Likewise.
	* config/s390/s390-modes.def: Likewise.
	* config/s390/s390-protos.h: Likewise.
	* config/s390/s390.c: Likewise.
	* config/s390/s390.h: Likewise.
	* config/s390/s390.md: Likewise.
	* config/s390/tpf-unwind.h: Likewise.

From-SVN: r147660
2009-05-18 12:33:55 +00:00
Richard Guenther
bfa31dad8a re PR tree-optimization/40168 (finding common subexpressions)
2009-05-18  Richard Guenther  <rguenther@suse.de>

	PR fortran/40168
	* trans-expr.c (gfc_trans_zero_assign): For local array
	destinations use an assignment from an empty constructor.

	* gfortran.dg/array_memset_2.f90: Adjust.

From-SVN: r147659
2009-05-18 10:24:34 +00:00
Maxim Kuvyrkov
ab7256e4ce * config/m68k/m68k.c (m68k_legitimize_address): Fix typo in signature.
From-SVN: r147656
2009-05-18 10:12:44 +00:00
Janus Weil
23e38561c5 re PR fortran/36947 (Attributes not fully checked comparing actual vs dummy procedure)
2009-05-18  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/36947
	PR fortran/40039
	* expr.c (gfc_check_pointer_assign): Check intents when comparing
	interfaces.
	* gfortran.h (typedef struct gfc_intrinsic_arg): Add 'intent' member.
	(gfc_compare_interfaces): Additional argument.
	* interface.c (operator_correspondence): Add check for equality of
	intents, and new argument 'intent_check'.
	(gfc_compare_interfaces): New argument 'intent_check', which is passed
	on to operator_correspondence.
	(check_interface1): Don't check intents when comparing interfaces.
	(compare_parameter): Do check intents when comparing interfaces.
	* intrinsic.c (add_sym): Add intents for arguments of intrinsic
	procedures.
	(add_sym_1,add_sym_1s,add_sym_1m,add_sym_2,add_sym_2s,add_sym_3,
	add_sym_3ml,add_sym_3red,add_sym_3s,add_sym_4): Use INTENT_IN by
	default.
	(add_sym_1_intent,add_sym_1s_intent,add_sym_2s_intent,add_sym_3s_intent)
	: New functions to add intrinsic symbols, specifying custom intents.
	(add_sym_4s,add_sym_5s): Add new arguments to specify intents.
	(add_functions,add_subroutines): Add intents for various intrinsics.
	* resolve.c (check_generic_tbp_ambiguity): Don't check intents when
	comparing interfaces.
	* symbol.c (gfc_copy_formal_args_intr): Copy intent.


2009-05-18  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/36947
	PR fortran/40039
	* gfortran.dg/interface_27.f90: New.
	* gfortran.dg/interface_28.f90: New.
	* gfortran.dg/proc_ptr_11.f90: Fixing invalid test case.
	* gfortran.dg/proc_ptr_result_1.f90: Ditto.

From-SVN: r147655
2009-05-18 11:19:20 +02:00
Maxim Kuvyrkov
75df395f15 M68K TLS support.
* configure.ac (m68k-*-*): Check if binutils support TLS.
	* configure: Regenerate.
	* config/m68k/predicates.md (symbolic_operand): Extend comment.
	* config/m68k/constraints.md (Cu): New constraint.
	* config/m68k/m68k.md (UNSPEC_GOTOFF): Remove.
	(UNSPEC_RELOC16, UNSPEC_RELOC32): New constants.
	(movsi): Handle TLS symbols.
	(addsi3_5200): Handle XTLS symbols, indent.
	* config/m68k/m68k-protos.h (m68k_legitimize_tls_address): Declare.
	(m68k_tls_reference_p): Declare.
	(m68k_legitimize_address): Declare.
	(m68k_unwrap_symbol): Declare.
	* config/m68k/m68k.opt (mxtls): New option.
	* config/m68k/m68k.c (ggc.h): Include.
	(m68k_output_dwarf_dtprel): Implement hook.
	(TARGET_HAVE_TLS, TARGET_ASM_OUTPUT_DWARF_DTPREL): Define.
	(m68k_expand_prologue): Load GOT pointer when function needs it.
	(m68k_illegitimate_symbolic_constant_p): Handle TLS symbols.
	(m68k_legitimate_constant_address_p): Same.
	(m68k_decompose_address): Handle TLS references.
	(m68k_get_gp): New static function.
	(enum m68k_reloc): New contants.
	(TLS_RELOC_P): New macro.
	(m68k_wrap_symbol): New static function.
	(m68k_unwrap_symbol): New function.
	(m68k_final_prescan_insn_1): New static function.
	(m68k_final_prescan_insn): New function.
	(m68k_move_to_reg, m68k_wrap_symbol_into_got_ref): New static
	functions.
	(legitimize_pic_address): Handle TLS references..
	(m68k_tls_get_addr, m68k_get_tls_get_addr)
	(m68k_libcall_value_in_a0_p)
	(m68k_call_tls_get_addr, m68k_read_tp, m68k_get_m68k_read_tp)
	(m68k_call_m68k_read_tp): Helper variables and functions for ...
	(m68k_legitimize_tls_address): Handle TLS references.
	(m68k_tls_symbol_p, m68k_tls_reference_p_1, m68k_tls_reference_p):
	New functions.
	(m68k_legitimize_address): Handle TLS symbols.
	(m68k_get_reloc_decoration): New static function.
	(m68k_output_addr_const_extra): Handle UNSPEC_RELOC16 and
	UNSPEC_RELOC32.
	(m68k_output_dwarf_dtprel): Implement hook.
	(print_operand_address): Handle UNSPEC_RELOC16 adn UNSPEC_RELOC32.
	(m68k_libcall_value): Return result in A0 instead of D0 when asked by
	m68k_call_* routines.
	(sched_attr_op_type): Handle TLS symbols.
	(gt-m68k.h): Include.
	* config/m68k/m68k.h (FINAL_PRESCAN_INSN): Define.
	(LEGITIMATE_PIC_OPERAND_P): Support TLS.

	* gcc.target/m68k/tls-ie.c: New test.
	* gcc.target/m68k/tls-le.c: New test.
	* gcc.target/m68k/tls-gd.c: New test.
	* gcc.target/m68k/tls-ld.c: New test.
	* gcc.target/m68k/tls-ie-xgot.c: New test.
	* gcc.target/m68k/tls-le-xtls.c: New test.
	* gcc.target/m68k/tls-gd-xgot.c: New test.
	* gcc.target/m68k/tls-ld-xgot.c: New test.
	* gcc.target/m68k/tls-ld-xtls.c: New test.
	* gcc.target/m68k/tls-ld-xgot-xtls.c: New test.

From-SVN: r147654
2009-05-18 07:54:44 +00:00
Bechir Zalila
676fd528c9 re PR ada/40166 (Ada compiler unable to build libraries)
PR ada/40166
	* Makefile.in (TOOLS_TARGET_PAIRS): Use the correct path to the
	target specific sources.

From-SVN: r147652
2009-05-18 07:40:56 +00:00
GCC Administrator
e852ce618c Daily bump.
From-SVN: r147649
2009-05-18 00:16:37 +00:00
Martin Jambor
8b75fc9ba6 ipa-prop.c (ipa_check_stmt_modifications): Removed.
2009-05-18  Martin Jambor  <mjambor@suse.cz>

	* ipa-prop.c (ipa_check_stmt_modifications): Removed.
	(visit_store_addr_for_mod_analysis): New function.
	(ipa_detect_param_modifications): Use walk_stmt_load_store_addr_ops.
	(determine_cst_member_ptr): Use gimple_assign_single_p.
	(ipa_get_stmt_member_ptr_load_param): Use gimple_assign_single_p.
	(ipa_analyze_call_uses): Use !gimple_assign_rhs2 rather than number of
	operands.  Don't check number of operands of a NOP_EXPR.

	* testsuite/gcc.dg/ipa/modif-1.c: Do not check for unmodified int
	parameter.

From-SVN: r147645
2009-05-18 01:33:35 +02:00
Eric Fisher
f133d4a2aa tree-ssa.texi (SSA Operands): Fix a mistake.
2009-05-18  Eric Fisher  <joefoxreal@gmail.com>
	* doc/tree-ssa.texi (SSA Operands): Fix a mistake.

From-SVN: r147644
2009-05-18 08:10:36 +10:00