Commit Graph

93824 Commits

Author SHA1 Message Date
Benjamin Kosnik
d29d4507b2 functional (function): Use explicit operator bool.
2009-05-20  Benjamin Kosnik  <bkoz@redhat.com>

	* include/tr1_impl/functional (function): Use explicit operator bool.
	* include/bits/shared_ptr.h (__shared_ptr): Same.
	* include/bits/unique_ptr.h (unique_ptr): Same.
	* include/std/mutex (unique_lock): Same.
	* include/std/system_error (error_code): Same.
	(error_condition): Same.
	* include/std/ostream (sentry): Same.
	* include/std/istream (sentry): Same.
	* testsuite/19_diagnostics/error_condition/operators/bool.cc: Adjust.
	* testsuite/19_diagnostics/error_condition/operators/bool_neg.cc: Same.
	* testsuite/19_diagnostics/error_code/operators/bool.cc: Same.
	* testsuite/19_diagnostics/error_code/operators/bool_neg.cc: Same.
	* testsuite/20_util/unique_ptr/modifiers/reset_neg.cc: Same.
	* testsuite/20_util/unique_ptr/assign/assign_neg.cc: Same.
	* testsuite/20_util/shared_ptr/observers/bool_conv.cc: Same.

From-SVN: r147756
2009-05-21 01:12:00 +00:00
GCC Administrator
f256c06431 Daily bump.
From-SVN: r147755
2009-05-21 00:16:48 +00:00
Adam Nemet
642d97ff00 * config/mips/mips.md (*extenddi_truncate<mode>,
*extendsi_truncate<mode>): Emit exts if supported.  Add attribute
	defintions.
	(*extendhi_truncateqi): New define_insn_and_sptit.

testsuite/
	* gcc.target/mips/octeon-exts-6.c: New test.
	* gcc.target/mips/extend-1.c: New test.
	* gcc.target/mips/octeon-exts-2.c: Adjust to not match sign-extension
	EXTS.
	* gcc.target/mips/octeon-exts-5.c: Likewise.

From-SVN: r147751
2009-05-20 21:47:57 +00:00
Jakub Jelinek
776248b87e re PR middle-end/40204 (segfault with bitfields in structs)
PR middle-end/40204
	* fold-const.c (fold_binary) <case BIT_AND_EXPR>: Avoid infinite
	recursion if build_int_cst_type returns the same INTEGER_CST as
	arg1.

	* gcc.c-torture/compile/pr40204.c: New test.

From-SVN: r147749
2009-05-20 23:09:11 +02:00
Jakub Jelinek
6dea8e99a9 re PR libgomp/40174 (Memory leak when using '#pragma omp parallel')
PR libgomp/40174
	* team.c (gomp_thread_start): Destroy thr->release semaphore.
	(gomp_free_pool_helper): Likewise.

From-SVN: r147747
2009-05-20 22:54:45 +02:00
Eric Botcazou
00c5fa1bca Fix formatting
From-SVN: r147740
2009-05-20 16:14:16 +00:00
Eric Botcazou
d98e868633 fold-const.c (build_fold_addr_expr_with_type): Take the address of the operand of VIEW_CONVERT_EXPR.
* fold-const.c (build_fold_addr_expr_with_type): Take the address of
	the operand of VIEW_CONVERT_EXPR.

From-SVN: r147739
2009-05-20 16:01:41 +00:00
H.J. Lu
37c5043589 driver-i386.c (host_detect_local_cpu): Check extended family and model for Intel processors.
2009-05-20  H.J. Lu  <hongjiu.lu@intel.com>

	* config/i386/driver-i386.c (host_detect_local_cpu): Check
	extended family and model for Intel processors.  Support Intel
	Atom.

From-SVN: r147736
2009-05-20 06:32:14 -07:00
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