]> git.ipfire.org Git - thirdparty/gcc.git/log
thirdparty/gcc.git
14 years agoconfigure.ac (cygwin noconfigdirs): Remove libgcj.
Dave Korn [Thu, 21 May 2009 14:42:22 +0000 (14:42 +0000)] 
configure.ac (cygwin noconfigdirs): Remove libgcj.

* configure.ac (cygwin noconfigdirs):  Remove libgcj.
* configure:  Regenerate.

From-SVN: r147770

14 years agoi386.c: Use REG_P...
Shujing Zhao [Thu, 21 May 2009 14:01:02 +0000 (14:01 +0000)] 
i386.c: Use REG_P...

2009-05-21  Shujing Zhao  <pearly.zhao@oracle.com>

* config/i386/i386.c: Use REG_P, MEM_P, CONST_INT_P, LABEL_P and
JUMP_TABLE_DATA_P predicates where applicable.
* config/i386/predicates.md: Ditto.
* config/i386/sse.md: Ditto.

From-SVN: r147769

14 years agoi386.md (adddi_4_rex64, [...]): For operand2 -128 override length_immediate attribute...
Jakub Jelinek [Thu, 21 May 2009 13:32:47 +0000 (15:32 +0200)] 
i386.md (adddi_4_rex64, [...]): For operand2 -128 override length_immediate attribute to 1.

* config/i386/i386.md (adddi_4_rex64, addsi_4, addhi_4): For
operand2 -128 override length_immediate attribute to 1.
* config/i386/predicates.md (constm128_operand): New predicate.

From-SVN: r147767

14 years agoi386.c (memory_address_length): Handle %r12 the same as %rsp and %r13 the same as...
Jakub Jelinek [Thu, 21 May 2009 13:00:30 +0000 (15:00 +0200)] 
i386.c (memory_address_length): Handle %r12 the same as %rsp and %r13 the same as %rbp.

* config/i386/i386.c (memory_address_length): Handle %r12
the same as %rsp and %r13 the same as %rbp.  For %rsp and %rbp
also check REGNO.
(ix86_attr_length_address_default): For MODE_SI lea in 64-bit
mode look through optional ZERO_EXTEND and SUBREG.
* config/i386/i386.md (R12_REG): New define_constant.
(prefix_data16): For sse unit set also for MODE_TI insns.
(prefix_rex): For -m32 always return 0.  For TYPE_IMOVX
insns set if operand 1 is ext_QIreg_operand.
(modrm): For TYPE_IMOV clear only if not MODE_DI.  For
TYPE_{ALU{,1},ICMP,TEST} insn clear if there is non-shortened
immediate.
(*movdi_extzv_1, zero_extendhidi2, zero_extendqidi2): Change
mode from MODE_DI to MODE_SI.
(movdi_1_rex64): Override modrm and length_immediate attributes
only for movabs (TYPE_IMOV, alternative 2).
(zero_extendsidi2_rex64): Clear prefix_0f attribute if TYPE_IMOVX.
(*float<SSEMODEI24:mode><MODEF:mode>2_mixed_interunit,
*float<SSEMODEI24:mode><MODEF:mode>2_mixed_nointerunit,
*float<SSEMODEI24:mode><MODEF:mode>2_sse_interunit,
*float<SSEMODEI24:mode><MODEF:mode>2_sse_nointerunit): Set
prefix_rex attribute if DImode.
(*adddi_1_rex64, *adddi_2_rex64, *adddi_3_rex64, *adddi_5_rex64,
*addsi_1, *addsi_1_zext, *addsi_2, *addsi_2_zext, *addsi_3,
*addsi_3_zext, *addsi_5, *addhi_1_lea, *addhi_1, *addhi_2, *addhi_3,
*addhi_5, *addqi_1_lea, *addqi_1): Override length_immediate
attribute to 1 if TYPE_ALU and operand 2 is const128_operand.
(pro_epilogue_adjust_stack_1, pro_epilogue_adjust_stack_rex64):
Likewise.  For TYPE_IMOV clear length_immediate attribute.
(*ashldi3_1_rex64, *ashldi3_cmp_rex64, *ashldi3_cconly_rex64,
*ashlsi3_1, *ashlsi3_1_zext, *ashlsi3_cmp, **ashlsi3_cconly,
*ashlsi3_cmp_zext, *ashlhi3_1_lea, *ashlhi3_1, *ashlhi3_cmp,
*ashlhi3_cconly, *ashlqi3_1_lea, *ashlqi3_1, *ashlqi3_cmp,
*ashlqi3_cconly): Override length_immediate attribute to 0 if TYPE_ALU
or one operand TYPE_ISHIFT.
(*ashrdi3_1_one_bit_rex64, *ashrdi3_one_bit_cmp_rex64,
*ashrdi3_one_bit_cconly_rex64, *ashrsi3_1_one_bit,
*ashrsi3_1_one_bit_zext, *ashrsi3_one_bit_cmp,
*ashrsi3_one_bit_cconly, *ashrsi3_one_bit_cmp_zext,
*ashrhi3_1_one_bit, *ashrhi3_one_bit_cmp, *ashrhi3_one_bit_cconly,
*ashrqi3_1_one_bit, *ashrqi3_1_one_bit_slp, *ashrqi3_one_bit_cmp,
*ashrqi3_one_bit_cconly, *lshrdi3_1_one_bit_rex64,
*lshrdi3_cmp_one_bit_rex64, *lshrdi3_cconly_one_bit_rex64,
*lshrsi3_1_one_bit, *lshrsi3_1_one_bit_zext, *lshrsi3_one_bit_cmp,
*lshrsi3_one_bit_cconly, *lshrsi3_cmp_one_bit_zext,
*lshrhi3_1_one_bit, *lshrhi3_one_bit_cmp, *lshrhi3_one_bit_cconly,
*lshrqi3_1_one_bit, *lshrqi3_1_one_bit_slp, *lshrqi2_one_bit_cmp,
*lshrqi2_one_bit_cconly, *rotlsi3_1_one_bit_rex64, *rotlsi3_1_one_bit,
*rotlsi3_1_one_bit_zext, *rotlhi3_1_one_bit, *rotlqi3_1_one_bit_slp,
*rotlqi3_1_one_bit, *rotrdi3_1_one_bit_rex64, *rotrsi3_1_one_bit,
*rotrsi3_1_one_bit_zext, *rotrhi3_one_bit, *rotrqi3_1_one_bit,
*rotrqi3_1_one_bit_slp): Override length_immediate attribute to 0,
set mode attribute, don't override length attribute.
(*btsq, *btrq, *btcq, *btdi_rex64, *btsi): Set prefix_0f attribute
to 1.
(return_internal_long): Set length attribute to 2 instead of 1.
(*strmovqi_rex_1, *strsetqi_rex_1, *rep_stosqi_rex64,
*cmpstrnqi_nz_rex_1, *cmpstrnqi_rex_1, *strlenqi_rex_1): Clear
prefix_rex attribute.
* config/i386/predicates.md (ext_QIreg_operand,
const128_operand): New predicates.
(memory_displacement_only_operand): Always return 0 for
TARGET_64BIT.

From-SVN: r147763

14 years agothumb2.md (orsi_notsi_si): Fix typo in pattern.
Ramana Radhakrishnan [Thu, 21 May 2009 08:46:40 +0000 (08:46 +0000)] 
thumb2.md (orsi_notsi_si): Fix typo in pattern.

2009-05-21  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>

* config/arm/thumb2.md (orsi_notsi_si): Fix typo in pattern.

From-SVN: r147761

14 years agotree.c (build_tree_list_vec_stat): New function.
Ian Lance Taylor [Thu, 21 May 2009 05:58:39 +0000 (05:58 +0000)] 
tree.c (build_tree_list_vec_stat): New function.

./: * tree.c (build_tree_list_vec_stat): New function.
(ctor_to_vec): New function.
(build_nt_call_vec): New function.
(build_call_array): Change args to be a const pointer.
(build_call_vec): New function.
* tree.h (build_nt_call_vec): Declare.
(build_tree_list_vec_stat): Declare.
(build_tree_list_vec): Define.
(build_call_array): Update declaration.
(build_call_vec): Declare.
(ctor_to_vec): Declare.
* c-common.c (tree_vector_cache): New static variable.
(make_tree_vector): New function.
(release_tree_vector): New function.
(make_tree_vector_single): New function.
(make_tree_vector_copy): New function.
* c-common.h (tree_vector_cache, make_tree_vector): Declare.
(make_tree_vector_single, make_tree_vector_copy): Declare.
* c-parser.c (cached_expr_list_1, cached_expr_list_2): Remove.
(c_parser_expr_list): Don't manage cache here, instead call
make_tree_vector.
(c_parser_release_expr_list): Remove static function.
(c_parser_vec_to_tree_list): Remove static function.
(c_parser_attributes): Call build_tree_list_vec instead of
c_parser_vec_to_tree_list.  Call release_tree_vector instead of
c_parser_release_expr_list.
(c_parser_postfix_expression_after_primary): Likewise.
(c_parser_objc_keywordexpr): Likewise.
cp/:
* parser.c (cp_parser_postfix_expression): Change args to a vec.
Release it when done.
(tree_vector): Define typedef.  Define VEC functions.
(cp_parser_parenthesized_expression_list): Change return type to
vec.  Change all callers.
(cp_parser_new_expression): Change placement and initializer to
vecs.  Release them when done.
(cp_parser_new_placement): Change return type to vec.  Change all
callers.
(cp_parser_new_initializer): Likewise.
* typeck.c (build_function_call_vec): Just call
cp_build_function_call_vec.
(cp_build_function_call): Just build a vec and call
cp_build_function_call_vec.
(cp_build_function_call_vec): New function based on old
cp_build_function_call.
(convert_arguments): Remove nargs and argarray parameters.  Change
values to a vec.  Change caller.
(build_x_compound_expr_from_vec): New function.
(cp_build_modify_expr): Build vec to pass to
build_special_member_call.
* call.c (struct z_candidate): Add first_arg field.  Change args
field to vec.
(convert_class_to_reference): Handle first argument separately.
(add_candidate): Add first_arg parameter.  Change args parameter
to vec.  Change all callers.
(add_function_candidate, add_conv_candidate): Likewise.
(add_template_candidate_real, add_template_candidate): Likewise.
(add_template_conv_candidate): Likewise.
(build_user_type_conversion_1): Handle first argument separately.
(resolve_args): Change return type and parameter type to vecs.
Change all callers.
(perform_overload_resolution): Change args parameter to vec.
Change all callers.
(build_new_function_call, build_operator_new_call): Likewise.
(add_candidates): Likewise.
(build_op_call): New globally visible function, built from and
replacing static function build_object_call.
(build_new_op): Don't handle CALL_EXPR.  Build vec, not tree_list,
of arguments.
(build_op_delete_call): Build vec to pass to
cp_build_function_call_vec.
(build_temp): Build vec to pass to build_special_member_call.
(convert_like_real): Likewise.
(perform_direct_initialization_if_possible): Likewise.
(build_over_call): Handle first_arg field.  Use build_call_array
rather than build_call_list.
(build_special_member_call): Change args parameter to vec.  Change
all callers.
(build_new_method_call): Likewise.
* init.c (expand_default_init): Change parms to vec.
(build_raw_new_expr): Change placement and init to vecs.  Change
all callers.
(build_new_1, build_new): Likewise.
* class.c (resolve_address_of_overloaded_function): Build array to
pass to fn_type_unification.
* pt.c (tsubst_copy_and_build): For NEW_EXPR build vecs to pass to
build_new.  For CALL_EXPR create a vec rather than a tree_list;
expand a pack if necessary.
(fn_type_unification): Change args parameter to const tree *.  Add
nargs parameter.  Change all callers.
(type_unification_real): Likewise.
(unify): Build array to pass to type_unification_real.
(get_bindings): Build array to pass to fn_type_unification.
(any_type_dependent_arguments_p): Change args parameter to a vec.
Change all callers.
(make_args_non_dependent): Renamed from build_non_dependent_args.
Change return type to void.  Change parameter type to vec.  Change
all callers.
(do_auto_deduction): Pass an array to type_unification_real.
* semantics.c (perform_koenig_lookup): Change args to vec.  Change
all callers.
(finish_call_expr): Change args to vec.  Change all callers.  Call
build_op_call instead of passing CALL_EXPR to build_new_op.
(cxx_omp_create_clause_info): Allocate vec to pass to
build_special_member_call.
* decl2.c (build_offset_ref_call_from_tree): Change args parameter
to vec.  Change all callers.
* name-lookup.c (lookup_function_nonclass): Likewise.
(struct arg_lookup): Change args to vec.
(arg_assoc_namespace): Handle args as a vec.
(arg_assoc_args_vec): New static function.
(lookup_arg_dependent): Change args parameter to vec.  Change all
callers.
* method.c (do_build_assign_ref): Allocate vec to pass to
build_special_member_call.
* except.c (build_throw): Likewise.
* typeck2.c (build_functional_cast): Likewise.
* cvt.c (ocp_convert): Likewise.
* tree.c (build_min_non_dep_call_vec): Change last parameter to
vec.  Change all callers.
* cp-tree.h: Update declarations.
* name-lookup.h: Update declarations.
objc/:
* objc-act.c (objc_generate_cxx_ctor_or_dtor): Pass NULL rather
than NULL_TREE to build_special_member_call.

From-SVN: r147759

14 years agotm.texi (Misc): Document TARGET_INVALID_PARAMETER_TYPE...
Sandra Loosemore [Thu, 21 May 2009 03:06:12 +0000 (23:06 -0400)] 
tm.texi (Misc): Document TARGET_INVALID_PARAMETER_TYPE...

2009-05-20  Sandra Loosemore  <sandra@codesourcery.com>

gcc/
* doc/tm.texi (Misc): Document TARGET_INVALID_PARAMETER_TYPE,
TARGET_INVALID_RETURN_TYPE, TARGET_PROMOTED_TYPE, and
TARGET_CONVERT_TO_TYPE.
* hooks.c (hook_tree_const_tree_null): Define.
* hooks.h (hook_tree_const_tree_null): Declare.
* target.h (struct gcc_target):  Add invalid_parameter_type,
invalid_return_type, promoted_type, and convert_to_type fields.
* target-def.h: (TARGET_INVALID_PARAMETER_TYPE): Define.
(TARGET_INVALID_RETURN_TYPE): Define.
(TARGET_PROMOTED_TYPE): Define.
(TARGET_CONVERT_TO_TYPE): Define.
(TARGET_INITIALIZER): Update for new fields.
* c-decl.c (grokdeclarator): Check targetm.invalid_return_type.
(grokparms): Check targetm.invalid_parameter_type.
* c-typeck.c (default_conversion): Check targetm.promoted_type.
* c-convert.c (convert): Check targetm.convert_to_type.

gcc/cp/
* typeck.c (default_conversion): Check targetm.promoted_type.
* decl.c (grokdeclarator): Check targetm.invalid_return_type.
(grokparms): Check targetm.invalid_parameter_type.
* cvt.c (ocp_convert): Check targetm.convert_to_type.
(build_expr_type_conversion): Check targetm.promoted_type.

From-SVN: r147758

14 years agofunctional (function): Use explicit operator bool.
Benjamin Kosnik [Thu, 21 May 2009 01:12:00 +0000 (01:12 +0000)] 
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

14 years agoDaily bump.
GCC Administrator [Thu, 21 May 2009 00:16:48 +0000 (00:16 +0000)] 
Daily bump.

From-SVN: r147755

14 years ago* config/mips/mips.md (*extenddi_truncate<mode>,
Adam Nemet [Wed, 20 May 2009 21:47:57 +0000 (21:47 +0000)] 
* 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

14 years agore PR middle-end/40204 (segfault with bitfields in structs)
Jakub Jelinek [Wed, 20 May 2009 21:09:11 +0000 (23:09 +0200)] 
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

14 years agore PR libgomp/40174 (Memory leak when using '#pragma omp parallel')
Jakub Jelinek [Wed, 20 May 2009 20:54:45 +0000 (22:54 +0200)] 
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

14 years agoFix formatting
Eric Botcazou [Wed, 20 May 2009 16:14:16 +0000 (16:14 +0000)] 
Fix formatting

From-SVN: r147740

14 years agofold-const.c (build_fold_addr_expr_with_type): Take the address of the operand of...
Eric Botcazou [Wed, 20 May 2009 16:01:41 +0000 (16:01 +0000)] 
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

14 years agodriver-i386.c (host_detect_local_cpu): Check extended family and model for Intel...
H.J. Lu [Wed, 20 May 2009 13:32:14 +0000 (13:32 +0000)] 
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

14 years agogstab.h (stab_code_type): Define, to be used instead of the __stab_debug_code enum...
Olivier Hainque [Wed, 20 May 2009 12:44:44 +0000 (12:44 +0000)] 
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

14 years agotree-flow.h (insert_edge_copies_seq): Undeclare.
Martin Jambor [Wed, 20 May 2009 10:18:10 +0000 (12:18 +0200)] 
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

14 years agodecl.c (gnat_to_gnu_entity): When discriminants affect the shape of the subtype...
Eric Botcazou [Wed, 20 May 2009 08:29:05 +0000 (08:29 +0000)] 
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

14 years agoexpr.c (expand_expr_real_1): Avoid calling do_store_flag with mismatched comparison...
Richard Guenther [Wed, 20 May 2009 08:19:50 +0000 (08:19 +0000)] 
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

14 years agoFix Thumb2 bic orn
Ramana Radhakrishnan [Wed, 20 May 2009 05:40:17 +0000 (05:40 +0000)] 
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

14 years ago14340.cc: Abstract list type.
Benjamin Kosnik [Wed, 20 May 2009 04:05:21 +0000 (04:05 +0000)] 
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

14 years agore PR tree-optimization/40087 (Number of iterations analysis wrong)
Zdenek Dvorak [Wed, 20 May 2009 00:33:54 +0000 (02:33 +0200)] 
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

14 years agoDaily bump.
GCC Administrator [Wed, 20 May 2009 00:16:48 +0000 (00:16 +0000)] 
Daily bump.

From-SVN: r147726

14 years agore PR libfortran/37754 (READ I/O Performance regression from 4.3 to 4.4/4.5)
Jerry DeLisle [Wed, 20 May 2009 00:16:38 +0000 (00:16 +0000)] 
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

14 years agoc-typeck.c (build_binary_op): Allow % on integal vectors.
Andrew Pinski [Tue, 19 May 2009 23:14:10 +0000 (23:14 +0000)] 
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

14 years agore PR c/40172 (Revision 147596 breaks bootstrap)
H.J. Lu [Tue, 19 May 2009 21:17:00 +0000 (21:17 +0000)] 
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

14 years agoi386.c (ix86_avoid_jump_mispredicts): Check ASM_OUTPUT_MAX_SKIP_PAD instead of ASM_OU...
H.J. Lu [Tue, 19 May 2009 20:11:55 +0000 (20:11 +0000)] 
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

14 years agore PR c/40172 (Revision 147596 breaks bootstrap)
Manuel López-Ibáñez [Tue, 19 May 2009 19:29:27 +0000 (19:29 +0000)] 
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

14 years agotree-scalar-evolution.c (follow_ssa_edge_expr): Turn into CASE_CONVERT.
Eric Botcazou [Tue, 19 May 2009 19:14:42 +0000 (19:14 +0000)] 
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

14 years agore PR libstdc++/40184 (locale(const char* std_name) can create invalid facets for...
Paolo Carlini [Tue, 19 May 2009 18:20:47 +0000 (18:20 +0000)] 
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

14 years agoia64-protos.h (ia64_dconst_0_5): New.
Steve Ellcey [Tue, 19 May 2009 18:18:08 +0000 (18:18 +0000)] 
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

14 years ago* defaults.h (UINT_FAST64_TYPE, INTPTR_TYPE, UINTPTR_TYPE)
Francois-Xavier Coudert [Tue, 19 May 2009 18:12:57 +0000 (18:12 +0000)] 
* 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

14 years agoReplace spaces with tab.
H.J. Lu [Tue, 19 May 2009 16:06:46 +0000 (09:06 -0700)] 
Replace spaces with tab.

From-SVN: r147709

14 years agoc-common.c (warn_logical_operator): Remove unnecessary conditionals.
Manuel López-Ibáñez [Tue, 19 May 2009 15:41:17 +0000 (15:41 +0000)] 
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

14 years agobuiltins.c (do_mpc_arg1): Separate MPFR/MPC C rounding types.
Kaveh R. Ghazi [Tue, 19 May 2009 14:56:05 +0000 (14:56 +0000)] 
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

14 years agounwind-dw2-fde.c (fde_unencoded_compare): Replace type punning assignments with memcp...
Ben Elliston [Tue, 19 May 2009 13:24:30 +0000 (13:24 +0000)] 
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

14 years agotree-ssa-forwprop.c (forward_propagate_addr_expr_1): Do not falsely claim to have...
Richard Guenther [Tue, 19 May 2009 11:51:54 +0000 (11:51 +0000)] 
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

14 years agocp-demangle.c (cplus_demangle_fill_ctor): Fix logic bug.
Ian Lance Taylor [Tue, 19 May 2009 02:42:13 +0000 (02:42 +0000)] 
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

14 years agore PR other/40159 ("make all" ignores build failures)
Alexandre Oliva [Tue, 19 May 2009 01:30:35 +0000 (01:30 +0000)] 
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

14 years agoDaily bump.
GCC Administrator [Tue, 19 May 2009 00:16:50 +0000 (00:16 +0000)] 
Daily bump.

From-SVN: r147688

14 years agore PR other/40159 ("make all" ignores build failures)
Alexandre Oliva [Tue, 19 May 2009 00:01:17 +0000 (00:01 +0000)] 
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

14 years agoinvoke.texi (C Dialect Options): Update OpenMP specification version to v3.0.
Ben Elliston [Mon, 18 May 2009 23:41:55 +0000 (23:41 +0000)] 
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

14 years agore PR c++/40192 (Unable to use std::vector with typedef'd array types)
Paolo Carlini [Mon, 18 May 2009 23:16:20 +0000 (23:16 +0000)] 
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

14 years agosh-protos.h (sh_legitimate_address_p): Remove.
Kaz Kojima [Mon, 18 May 2009 22:31:46 +0000 (22:31 +0000)] 
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

14 years agostl_pair.h (swap): Do not swap rvalues.
Jonathan Wakely [Mon, 18 May 2009 22:15:56 +0000 (22:15 +0000)] 
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

14 years agoImplement explicit conversions ops as specified in N2437.
Jason Merrill [Mon, 18 May 2009 21:48:02 +0000 (17:48 -0400)] 
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

15 years agore PR debug/40109 (Incorrect debug info nesting for typedef statements within namespaces)
Dodji Seketeli [Mon, 18 May 2009 19:19:52 +0000 (19:19 +0000)] 
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

15 years ago* config/mips/mips.md (*zero_extend<GPR:mode>_trunc<SHORT:mode>,
Adam Nemet [Mon, 18 May 2009 18:43:25 +0000 (18:43 +0000)] 
* 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

15 years agore PR target/39942 (Nonoptimal code - leaveq; xchg %ax,%ax; retq)
H.J. Lu [Mon, 18 May 2009 17:21:13 +0000 (17:21 +0000)] 
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

15 years agore PR testsuite/39907 (Aligned access to unaligned address)
H.J. Lu [Mon, 18 May 2009 16:53:25 +0000 (16:53 +0000)] 
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

15 years ago* config.gcc: Fix variable syntax.
Andreas Schwab [Mon, 18 May 2009 16:49:50 +0000 (16:49 +0000)] 
* config.gcc: Fix variable syntax.

From-SVN: r147666

15 years ago* config.gcc: Fix variable syntax.
Andreas Schwab [Mon, 18 May 2009 16:22:47 +0000 (16:22 +0000)] 
* config.gcc: Fix variable syntax.

From-SVN: r147665

15 years agore PR target/39531 (m68k gcc does not convert andil to bclr when compiled on a 64bit...
Andreas Schwab [Mon, 18 May 2009 15:36:18 +0000 (15:36 +0000)] 
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

15 years agore PR fortran/40164 (Fortran 2003: "Arrays of procedure pointers" (using PPCs))
Janus Weil [Mon, 18 May 2009 14:44:55 +0000 (16:44 +0200)] 
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

15 years agointrinsic.c (add_sym): Fix my last commit (r147655), which broke bootstrap.
Janus Weil [Mon, 18 May 2009 13:56:44 +0000 (15:56 +0200)] 
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

15 years agosh.c (expand_cbranchdi4): Use a scratch register for the none zero constant operand...
Kaz Kojima [Mon, 18 May 2009 12:53:22 +0000 (12:53 +0000)] 
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

15 years ago2064.md: Remove trailing whitespaces.
Andreas Krebbel [Mon, 18 May 2009 12:33:55 +0000 (12:33 +0000)] 
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

15 years agore PR tree-optimization/40168 (finding common subexpressions)
Richard Guenther [Mon, 18 May 2009 10:24:34 +0000 (10:24 +0000)] 
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

15 years ago* config/m68k/m68k.c (m68k_legitimize_address): Fix typo in signature.
Maxim Kuvyrkov [Mon, 18 May 2009 10:12:44 +0000 (10:12 +0000)] 
* config/m68k/m68k.c (m68k_legitimize_address): Fix typo in signature.

From-SVN: r147656

15 years agore PR fortran/36947 (Attributes not fully checked comparing actual vs dummy procedure)
Janus Weil [Mon, 18 May 2009 09:19:20 +0000 (11:19 +0200)] 
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

15 years agoM68K TLS support.
Maxim Kuvyrkov [Mon, 18 May 2009 07:54:44 +0000 (07:54 +0000)] 
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

15 years agore PR ada/40166 (Ada compiler unable to build libraries)
Bechir Zalila [Mon, 18 May 2009 07:40:56 +0000 (07:40 +0000)] 
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

15 years agoDaily bump.
GCC Administrator [Mon, 18 May 2009 00:16:37 +0000 (00:16 +0000)] 
Daily bump.

From-SVN: r147649

15 years agoipa-prop.c (ipa_check_stmt_modifications): Removed.
Martin Jambor [Sun, 17 May 2009 23:33:35 +0000 (01:33 +0200)] 
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

15 years agotree-ssa.texi (SSA Operands): Fix a mistake.
Eric Fisher [Sun, 17 May 2009 22:10:36 +0000 (22:10 +0000)] 
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

15 years agowin32_threads.c (GC_get_thread_stack_base): Implement for Cygwin.
Dave Korn [Sun, 17 May 2009 20:07:18 +0000 (20:07 +0000)] 
win32_threads.c (GC_get_thread_stack_base): Implement for Cygwin.

* win32_threads.c (GC_get_thread_stack_base):  Implement for Cygwin.

From-SVN: r147641

15 years agore PR c/40172 (Revision 147596 breaks bootstrap)
H.J. Lu [Sun, 17 May 2009 18:36:44 +0000 (11:36 -0700)] 
re PR c/40172 (Revision 147596 breaks bootstrap)

gcc/

2009-05-17  Manuel López-Ibáñez  <manu@gcc.gnu.org>

PR c/40172
* c-common.c (warn_logical_operator): Don't warn if one of
expression isn't always true or false.

gcc/testscase/

2009-05-17  H.J. Lu  <hongjiu.lu@intel.com>

PR c/40172
* gcc.dg/pr40172.c: New.

From-SVN: r147639

15 years agore PR c++/40139 (ICE on invalid use of destructor)
Jason Merrill [Sun, 17 May 2009 18:01:33 +0000 (14:01 -0400)] 
re PR c++/40139 (ICE on invalid use of destructor)

PR c++/40139
* pt.c (tsubst_qualified_id): Retain the type if we aren't dealing
with a dependent type.  Actually look up the destructor.
* semantics.c (finish_id_expression): Fix logic.
(finish_qualified_id_expr): Don't try to use 'this' if we aren't in
a function.
* typeck.c (build_x_unary_op): Diagnose taking the address of a
constructor or destructor.
* tree.c (get_first_fn): Handle OFFSET_REF.

From-SVN: r147638

15 years agotree.c (cxx_printable_name_internal): Allow consecutive translated and untranslated...
Joseph Myers [Sun, 17 May 2009 16:09:02 +0000 (17:09 +0100)] 
tree.c (cxx_printable_name_internal): Allow consecutive translated and untranslated cached copies of the name of the...

cp:
* tree.c (cxx_printable_name_internal): Allow consecutive
translated and untranslated cached copies of the name of the
current function.

testsuite:
* g++.dg/warn/translate-ice-1.C: New test.

From-SVN: r147636

15 years agoiso-fortran-env.def: Define INT8, INT16, INT32, INT64, REAL32, REAL64 and REAL128.
Francois-Xavier Coudert [Sun, 17 May 2009 14:15:24 +0000 (14:15 +0000)] 
iso-fortran-env.def: Define INT8, INT16, INT32, INT64, REAL32, REAL64 and REAL128.

* iso-fortran-env.def: Define INT8, INT16, INT32, INT64, REAL32,
REAL64 and REAL128.
* gfortran.h (gfc_get_int_kind_from_width_isofortranenv,
gfc_get_real_kind_from_width_isofortranenv): New prototypes.
* iso-c-binding.def: Update definitions for the INT*_T,
INT_LEAST*_T and INT_FAST*_T named parameters.
* trans-types.c (get_typenode_from_name, get_int_kind_from_name,
gfc_get_real_kind_from_width_isofortranenv): New functions.

* gfortran.dg/c_kind_int128_test1.f03: Also test C_INT_FAST128_T.
* gfortran.dg/c_kind_int128_test2.f03: Update comment.
* gfortran.dg/c_kind_params.f90: Also test int_fast*_t.
* gfortran.dg/c_kinds.c: Add int_fast*_t arguments.

From-SVN: r147635

15 years agopex-win32.c (pex_win32_exec_child): Fix logic to avoid closing standard handles ...
Julian Brown [Sun, 17 May 2009 13:07:08 +0000 (13:07 +0000)] 
pex-win32.c (pex_win32_exec_child): Fix logic to avoid closing standard handles (stdin, stdout, stderr) in parent.

libiberty/
* pex-win32.c (pex_win32_exec_child): Fix logic to avoid closing
standard handles (stdin, stdout, stderr) in parent.

From-SVN: r147634

15 years agore PR fortran/36260 (Audit intrinsic.texi and check whether keyword= names match)
Francois-Xavier Coudert [Sun, 17 May 2009 12:47:00 +0000 (12:47 +0000)] 
re PR fortran/36260 (Audit intrinsic.texi and check whether keyword= names match)

PR fortran/36260

* intrinsic.c (add_functions, add_subroutines): Fix argument
names and wrap long lines.
* intrinsic.texi: Fix documentation and argument names of
LOG_GAMMA, DATAN2, DBESJN, DTIME, ETIME, FSTAT, STAT, LSTAT,
GET_COMMAND, IDATE, LTIME, MOVE_ALLOC, NINT, OR, PRODUCT,
SUM, RAND, RANDOM_SEED, REAL, SELECTED_INT_KIND,
SELECTED_REAL_KIND and XOR.

From-SVN: r147633

15 years agobiarch32.h: New file.
Kai Tietz [Sun, 17 May 2009 09:45:39 +0000 (09:45 +0000)] 
biarch32.h: New file.

2009-05-17  Kai Tietz  <kai.tietz@onevision.com>

       * config/i386/biarch32.h: New file.
       * config.gcc: Add for target i386-w64-* the biarch32.h to tm_file.

From-SVN: r147631

15 years ago* config/mips/mips.md (*zero_extend<mode>_trunchi,
Adam Nemet [Sun, 17 May 2009 07:31:25 +0000 (07:31 +0000)] 
* config/mips/mips.md (*zero_extend<mode>_trunchi,

*zero_extend<mode>_truncqi): Merge these into ...
(*zero_extend<GPR:mode>_trunc<SHORT:mode>): ... this new pattern.
Name the pattern following this as *zero_extendhi_truncqi.

From-SVN: r147630

15 years agoDaily bump.
GCC Administrator [Sun, 17 May 2009 00:16:40 +0000 (00:16 +0000)] 
Daily bump.

From-SVN: r147629

15 years agore PR middle-end/39301 (ICE in register_overhead, at bitmap.c:115)
Brad Lucier [Sat, 16 May 2009 22:42:15 +0000 (22:42 +0000)] 
re PR middle-end/39301 (ICE in register_overhead, at bitmap.c:115)

2009-05-16  Brad Lucier  <lucier@math.purdue.edu>

PR middle-end/39301
* hwint.h: Add macro HOST_WIDEST_INT_PRINT.
* bitmap.c (bitmap_descriptor): Make fields HOST_WIDEST_INT.
(output_info): Make field HOST_WIDEST_INT.
(print_statistics): Use HOST_WIDEST_INT_PRINT.
(dump_bitmat_statistics): Same.

From-SVN: r147624

15 years agoconfig.gcc (use_gcc_stdint): Set to wrap.
Francois-Xavier Coudert [Sat, 16 May 2009 21:46:53 +0000 (21:46 +0000)] 
config.gcc (use_gcc_stdint): Set to wrap.

* config.gcc (use_gcc_stdint):  Set to wrap.
* config/darwin.h (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,
UINT_FAST64_TYPE, INTPTR_TYPE, UINTPTR_TYPE): Define.

From-SVN: r147622

15 years agore PR fortran/33197 (Fortran 2008: math functions)
Francois-Xavier Coudert [Sat, 16 May 2009 17:33:23 +0000 (17:33 +0000)] 
re PR fortran/33197 (Fortran 2008: math functions)

PR fortran/33197

* intrinsic.c (add_functions): Use ERFC_SCALED simplification.
* intrinsic.h (gfc_simplify_erfc_scaled): New prototype.
* simplify.c (fullprec_erfc_scaled, asympt_erfc_scaled,
gfc_simplify_erfc_scaled): New functions.

* gfortran.dg/erf_2.F90: New test.
* gfortran.dg/erfc_scaled_2.f90: New test.

From-SVN: r147621

15 years agore PR fortran/31243 (Detect strings longer than 2**32 characters)
Francois-Xavier Coudert [Sat, 16 May 2009 16:53:02 +0000 (16:53 +0000)] 
re PR fortran/31243 (Detect strings longer than 2**32 characters)

PR fortran/31243

* resolve.c (resolve_substring): Don't allow too large substring
indexes.
(gfc_resolve_substring_charlen): Fix typo.
(gfc_resolve_character_operator): Fix typo.
(resolve_charlen): Catch unreasonably large string lengths.
* simplify.c (gfc_simplify_len): Don't error out on LEN
range checks.

* gcc/testsuite/gfortran.dg/string_1.f90: New test.
* gcc/testsuite/gfortran.dg/string_2.f90: New test.
* gcc/testsuite/gfortran.dg/string_3.f90: New test.

From-SVN: r147619

15 years agoconfig.gcc (mips*-*-*): Support arch_32, arch_64, tune_32 and tune_64.
Joseph Myers [Sat, 16 May 2009 16:22:24 +0000 (17:22 +0100)] 
config.gcc (mips*-*-*): Support arch_32, arch_64, tune_32 and tune_64.

* config.gcc (mips*-*-*): Support arch_32, arch_64, tune_32 and
tune_64.
* config/mips/mips.h (MIPS_ABI_DEFAULT, MULTILIB_ABI_DEFAULT):
Move definitions earlier.
(OPT_ARCH64, OPT_ARCH32): Define.
(OPTION_DEFAULT_SPECS): Add entries for arch_32, arch_64, tune_32
and tune_64.

From-SVN: r147617

15 years ago* ChangeLog: Forgotten in previous commit.
François-Xavier Coudert [Sat, 16 May 2009 16:11:42 +0000 (16:11 +0000)] 
* ChangeLog: Forgotten in previous commit.

From-SVN: r147616

15 years agore PR fortran/36031 (ARM -fshort-enums attribute not emitted for Fortran)
François-Xavier Coudert [Sat, 16 May 2009 16:11:11 +0000 (16:11 +0000)] 
re PR fortran/36031 (ARM -fshort-enums attribute not emitted for Fortran)

PR fortran/36031

* decl.c (set_enum_kind): Use global short-enums flag.
* gfortran.h (gfc_option_t): Remove short_enums flag.
* lang.opt (-fshort-enums): Refer to C documentation.
* options.c (gfc_init_options, gfc_handle_option): Use global
short-enums flag.

From-SVN: r147615

15 years agore PR target/40153 (Long long comparison optimized away incorrectly in Thumb code.)
Richard Earnshaw [Sat, 16 May 2009 12:53:22 +0000 (12:53 +0000)] 
re PR target/40153 (Long long comparison optimized away incorrectly in Thumb code.)

PR target/40153
* arm.md (cstoresi_nltu_thumb1): Use a neg of ltu as the pattern name
implies.

From-SVN: r147613

15 years ago* arm.md (movdi2): Copy non-reg values to DImode registers.
Richard Earnshaw [Sat, 16 May 2009 11:50:33 +0000 (11:50 +0000)] 
* arm.md (movdi2): Copy non-reg values to DImode registers.

From-SVN: r147612

15 years agodefault_format_denormal_1.f90: XFAIL on cygwin.
David Billinghurst [Sat, 16 May 2009 10:39:53 +0000 (10:39 +0000)] 
default_format_denormal_1.f90: XFAIL on cygwin.

2009-05-16  David Billinghurst <billingd@gcc.gnu.org>

* gfortran.dg/default_format_denormal_1.f90: XFAIL on cygwin.
* gfortran.dg/default_format_1.f90: Revert change of 2009-05-12

Correct accidental commit of wrong file.

From-SVN: r147610

15 years agomutex: Move std::lock_error to ...
Jonathan Wakely [Sat, 16 May 2009 10:09:02 +0000 (10:09 +0000)] 
mutex: Move std::lock_error to ...

2009-05-13  Jonathan Wakely  <jwakely.gcc@gmail.com>

* include/std/mutex: Move std::lock_error to ...
* src/compatibility.cc: Here.
* src/mutex.cc: Likewise.
* testsuite/30_threads/headers/mutex/types_std_c++0x.cc: Add checks
for lock types and remove std::lock_error check.

From-SVN: r147609

15 years agore PR target/39942 (Nonoptimal code - leaveq; xchg %ax,%ax; retq)
Jakub Jelinek [Sat, 16 May 2009 07:12:02 +0000 (09:12 +0200)] 
re PR target/39942 (Nonoptimal code - leaveq; xchg   %ax,%ax; retq)

PR target/39942
* final.c (label_to_max_skip): New function.
(label_to_alignment): Only use LABEL_TO_ALIGNMENT if
CODE_LABEL_NUMBER <= max_labelno.
* output.h (label_to_max_skip): New prototype.
* config/i386/i386.c (ix86_avoid_jump_misspredicts): Renamed to...
(ix86_avoid_jump_mispredicts): ... this.  Don't define if
ASM_OUTPUT_MAX_SKIP_ALIGN isn't defined.  Update comment.
Handle CODE_LABELs with >= 16 byte alignment or with
max_skip == (1 << align) - 1.
(ix86_reorg): Don't call ix86_avoid_jump_mispredicts if
ASM_OUTPUT_MAX_SKIP_ALIGN isn't defined.

From-SVN: r147607

15 years agore PR target/39942 (Nonoptimal code - leaveq; xchg %ax,%ax; retq)
Jakub Jelinek [Sat, 16 May 2009 07:09:52 +0000 (09:09 +0200)] 
re PR target/39942 (Nonoptimal code - leaveq; xchg   %ax,%ax; retq)

PR target/39942
* config/i386/x86-64.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Don't emit second
.p2align 3 if MAX_SKIP is smaller than 7.
* config/i386/linux.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Likewise.

From-SVN: r147606

15 years agoalias.c (struct alias_set_entry_d): Rename from struct alias_set_entry.
Ian Lance Taylor [Sat, 16 May 2009 06:54:11 +0000 (06:54 +0000)] 
alias.c (struct alias_set_entry_d): Rename from struct alias_set_entry.

gcc/ChangeLog:
* alias.c (struct alias_set_entry_d): Rename from struct
alias_set_entry.  Change all uses.
* except.c (struct call_site_record_d): Rename from struct
call_site_record.  Change all uses.
* except.h (struct eh_region_d): Rename from struct eh_region.
Change all uses.
* gcse.c (struct hash_table_d): Rename from struct hash_table.
Change all uses.
* graphite.c (struct ivtype_map_elt_d): Rename fromstruct
ivtype_map_elt.  Change all uses.
(struct rename_map_elt_d): Rename fromstruct rename_map_elt.
Change all uses.
(struct ifsese_d): Rename fromstruct ifsese.  Change all uses.
* graphite.h (struct name_tree_d): Rename from struct name_tree.
Change all uses.
(struct sese_d): Rename from struct sese.  Change all uses.
* omega.h (struct eqn_d): Rename from struct eqn.  Change all
uses.
(struct omega_pb_d): Rename from struct omega_pb.  Change all
uses.
* optabs.h (struct optab_d): Rename from struct optab.  Change all
uses.
(struct convert_optab_d): Rename from struct convert_optab.
Change all uses.
* tree-pass.h (struct ipa_opt_pass_d): Rename fromstruct
ipa_opt_pass.  Change all uses.
* tree-predcom.c (struct dref_d): Rename from struct dref.  Change
all uses.

* c-decl.c (pushtag): If -Wc++-compat, warn if the tag is already
defined as a typedef.
(grokdeclarator): If -Wc++-compat, warn if a typedef is already
defined as a tag.
gcc/cp/ChangeLog:
* cp-tree.h (enum cp_lvalue_kind_flags): Rename from
cp_lvalue_kind.  Change all uses.
(enum base_access_flags): Rename from enum base_access.  Change
all uses.
* parser.c (enum cp_parser_flags): Remove enum tag.
gcc/testsuite/ChangeLog:
* gcc.dg/Wcxx-compat-10.c: New testcase.
libcpp/ChangeLog:
* include/cpplib.h (enum cpp_builtin_type): Rename from enum
builtin_type.  Change all uses.

From-SVN: r147605

15 years agoDaily bump.
GCC Administrator [Sat, 16 May 2009 00:16:52 +0000 (00:16 +0000)] 
Daily bump.

From-SVN: r147604

15 years ago40160.cc: Remove spurious double include.
Paolo Carlini [Fri, 15 May 2009 23:31:59 +0000 (23:31 +0000)] 
40160.cc: Remove spurious double include.

2009-05-15  Paolo Carlini  <paolo.carlini@oracle.com>

* testsuite/21_strings/basic_string/40160.cc: Remove spurious
double include.

From-SVN: r147600

15 years agore PR libstdc++/40160 (-fno-rtti vs _GLIBCXX_DEBUG)
Paolo Carlini [Fri, 15 May 2009 22:25:24 +0000 (22:25 +0000)] 
re PR libstdc++/40160 (-fno-rtti vs _GLIBCXX_DEBUG)

2009-05-15  Paolo Carlini  <paolo.carlini@oracle.com>

PR libstdc++/40160
* include/debug/formatter.h (_Parameter::_Parameter): Don't use
typeid when __GXX_RTTI is undefined.
* src/debug.cc (_Error_formatter::_Parameter::_M_print_field): Adjust
for null _M_variant._M_iterator._M_type,
_M_variant._M_iterator._M_seq_type, _M_variant._M_sequence._M_type.
* testsuite/21_strings/basic_string/40160.cc: New.

From-SVN: r147599

15 years agore PR c/16302 (gcc fails to warn about some common logic errors)
Manuel López-Ibáñez [Fri, 15 May 2009 20:08:21 +0000 (20:08 +0000)] 
re PR c/16302 (gcc fails to warn about some common logic errors)

2009-05-15  Manuel López-Ibáñez  <manu@gcc.gnu.org>

PR 16302
* fold-const.c (make_range,build_range_check,merge_ranges): Move
declaration to...
(merge_ranges): Returns bool.
* tree.h (make_range): .. to here.
(build_range_check): Likewise.
(merge_ranges): Likewise. Renamed from merge_ranges.
* c-typeck.c (parser_build_binary_op): Update calls to
warn_logical_operator.
* c-common.c (warn_logical_operator): Add new warning.
* c-common.h (warn_logical_operator): Update declaration.
cp/
* call.c (build_new_op): Update calls to warn_logical_operator.

testsuite/
* gcc.dg/pr16302.c: New.
* g++.dg/warn/pr16302.C: New.

From-SVN: r147596

15 years agoira-conflicts.c (add_insn_allocno_copies): Fix wrong conditional.
Manuel López-Ibáñez [Fri, 15 May 2009 20:05:36 +0000 (20:05 +0000)] 
ira-conflicts.c (add_insn_allocno_copies): Fix wrong conditional.

2009-05-15  Manuel López-Ibáñez  <manu@gcc.gnu.org>

* ira-conflicts.c (add_insn_allocno_copies): Fix wrong
conditional.

From-SVN: r147595

15 years agobuiltin-math-5.c: New.
Kaveh R. Ghazi [Fri, 15 May 2009 18:15:14 +0000 (18:15 +0000)] 
builtin-math-5.c: New.

* gcc.dg/torture/builtin-math-5.c: New.
* gcc.dg/torture/builtin-math-6.c: New.
* lib/target-supports.exp (check_effective_target_mpc): New.

From-SVN: r147593

15 years agoinstall.texi: Document MPC requirements, flags etc.
Kaveh R. Ghazi [Fri, 15 May 2009 18:12:44 +0000 (18:12 +0000)] 
install.texi: Document MPC requirements, flags etc.

* doc/install.texi: Document MPC requirements, flags etc.

From-SVN: r147592

15 years agobuiltins.c (do_mpc_arg1, [...]): New.
Kaveh R. Ghazi [Fri, 15 May 2009 18:08:10 +0000 (18:08 +0000)] 
builtins.c (do_mpc_arg1, [...]): New.

* builtins.c (do_mpc_arg1, fold_builtin_ccos): New.
(fold_builtin_cexp): Ensure we get a complex REAL_TYPE.
Evaluate constant arguments.
(fold_builtin_carg): Ensure we get a complex REAL_TYPE.
(fold_builtin_1): Likewise, also evaluate constant arguments.
Remove superfluous break.
(do_mpc_ckconv): New.
* real.h: Include mpc.h.
* toplev.c (print_version): Output MPC version info if available.

From-SVN: r147591

15 years agofold-const.c (fold_convert_const_real_from_real): Check for overflow.
Sandra Loosemore [Fri, 15 May 2009 17:28:47 +0000 (13:28 -0400)] 
fold-const.c (fold_convert_const_real_from_real): Check for overflow.

2009-05-15  Sandra Loosemore  <sandra@codesourcery.com>

gcc/
* fold-const.c (fold_convert_const_real_from_real): Check for
overflow.

From-SVN: r147589

15 years agoi386.c (ix86_reorg): Call optimize_function_for_speed_p only once.
H.J. Lu [Fri, 15 May 2009 17:12:00 +0000 (17:12 +0000)] 
i386.c (ix86_reorg): Call optimize_function_for_speed_p only once.

2009-05-15  H.J. Lu  <hongjiu.lu@intel.com>

* config/i386/i386.c (ix86_reorg): Call optimize_function_for_speed_p
only once.

From-SVN: r147588

15 years agoinvoke.texi (max-early-inliner-iterations): New flag.
Jan Hubicka [Fri, 15 May 2009 17:11:00 +0000 (19:11 +0200)] 
invoke.texi (max-early-inliner-iterations): New flag.

* doc/invoke.texi (max-early-inliner-iterations): New flag.
* ipa-inline.c (enum inlining_mode): New INLINE_SIZE_NORECURSIVE.
(try_inline): Fix return value.
(cgraph_decide_inlining_incrementally): Honor new value.
(cgraph_early_inlining): Handle indirect inlining.
* params.def (PARAM_EARLY_INLINER_MAX_ITERATIONS): New.

* testsuite/gcc.dg/tree-ssa/inline-3.c: New testcase

From-SVN: r147587