1. 18 May, 2009 9 commits
    • intrinsic.c (add_sym): Fix my last commit (r147655), which broke bootstrap. · 9b2db7be
      2009-05-18  Janus Weil  <janus@gcc.gnu.org>
      
      	* intrinsic.c (add_sym): Fix my last commit (r147655),
      	which broke bootstrap.
      
      From-SVN: r147662
      Janus Weil committed
    • sh.c (expand_cbranchdi4): Use a scratch register for the none zero constant… · 99052692
      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
      Kaz Kojima committed
    • 2064.md: Remove trailing whitespaces. · f4aa3848
      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
      Andreas Krebbel committed
    • re PR tree-optimization/40168 (finding common subexpressions) · bfa31dad
      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
      Richard Guenther committed
    • re PR fortran/36947 (Attributes not fully checked comparing actual vs dummy procedure) · 23e38561
      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
      Janus Weil committed
    • M68K TLS support. · 75df395f
      	* 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
      Maxim Kuvyrkov committed
    • re PR ada/40166 (Ada compiler unable to build libraries) · 676fd528
      	PR ada/40166
      	* Makefile.in (TOOLS_TARGET_PAIRS): Use the correct path to the
      	target specific sources.
      
      From-SVN: r147652
      Bechir Zalila committed
    • Daily bump. · e852ce61
      From-SVN: r147649
      GCC Administrator committed
  2. 17 May, 2009 12 commits
  3. 16 May, 2009 15 commits
    • re PR middle-end/39301 (ICE in register_overhead, at bitmap.c:115) · e2d87023
      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
      Brad Lucier committed
    • config.gcc (use_gcc_stdint): Set to wrap. · 428ddbf0
      	* 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
      Francois-Xavier Coudert committed
    • re PR fortran/33197 (Fortran 2008: math functions) · 9b33a6a1
      	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
      Francois-Xavier Coudert committed
    • re PR fortran/31243 (Detect strings longer than 2**32 characters) · b0c06816
      	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
      Francois-Xavier Coudert committed
    • config.gcc (mips*-*-*): Support arch_32, arch_64, tune_32 and tune_64. · 1ab8a8c2
      	* 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
      Joseph Myers committed
    • * ChangeLog: Forgotten in previous commit. · 24264cbb
      From-SVN: r147616
      François-Xavier Coudert committed
    • re PR fortran/36031 (ARM -fshort-enums attribute not emitted for Fortran) · cab129d1
      	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
      François-Xavier Coudert committed
    • re PR target/40153 (Long long comparison optimized away incorrectly in Thumb code.) · 70544f44
      	PR target/40153
      	* arm.md (cstoresi_nltu_thumb1): Use a neg of ltu as the pattern name
      	implies.
      
      From-SVN: r147613
      Richard Earnshaw committed
    • default_format_denormal_1.f90: XFAIL on cygwin. · 29409321
      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
      David Billinghurst committed
    • mutex: Move std::lock_error to ... · 5c645750
      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
      Jonathan Wakely committed
    • re PR target/39942 (Nonoptimal code - leaveq; xchg %ax,%ax; retq) · 40a8f07a
      	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
      Jakub Jelinek committed
    • re PR target/39942 (Nonoptimal code - leaveq; xchg %ax,%ax; retq) · a99c6711
      	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
      Jakub Jelinek committed
    • alias.c (struct alias_set_entry_d): Rename from struct alias_set_entry. · 7e5487a2
      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
      Ian Lance Taylor committed
    • Daily bump. · 7d47ae1d
      From-SVN: r147604
      GCC Administrator committed
  4. 15 May, 2009 4 commits
    • 40160.cc: Remove spurious double include. · 6dd0fec2
      2009-05-15  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	* testsuite/21_strings/basic_string/40160.cc: Remove spurious
      	double include.
      
      From-SVN: r147600
      Paolo Carlini committed
    • re PR libstdc++/40160 (-fno-rtti vs _GLIBCXX_DEBUG) · 0f136367
      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
      Paolo Carlini committed
    • re PR c/16302 (gcc fails to warn about some common logic errors) · a243fb4a
      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
      Manuel López-Ibáñez committed
    • ira-conflicts.c (add_insn_allocno_copies): Fix wrong conditional. · 1b53c5f3
      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
      Manuel López-Ibáñez committed