1. 19 Feb, 2006 6 commits
  2. 18 Feb, 2006 19 commits
    • re PR target/26350 (ICE in extract_insn, at recog.c:2084, -fPIC -mlong-double-128) · aa9cf005
              PR target/26350
              * config/rs6000/rs6000.md (extenddftf2): Force 0.0 to validized
              MEM for ABI_V4 pic.
      
      From-SVN: r111255
      David Edelsohn committed
    • re PR target/9703 ([arm] Accessing data through constant pool more times could… · aacd3885
      re PR target/9703 ([arm] Accessing data through constant pool more times could be solved in less instructions)
      
      	* cselib.c (cselib_init): Change RTX_SIZE to RTX_CODE_SIZE.
      	* emit-rtl.c (copy_rtx_if_shared_1): Use shallow_copy_rtx.
      	(copy_insn_1): Likewise.  Don't copy each field individually.
      	Reindent.
      	* read-rtl.c (apply_macro_to_rtx): Use RTX_CODE_SIZE instead
      	of RTX_SIZE.
      	* reload1.c (eliminate_regs): Use shallow_copy_rtx.
      	* rtl.c (rtx_size): Rename variable to...
      	(rtx_code_size): ...this.
      	(rtx_size): New function.
      	(rtx_alloc_stat): Use RTX_CODE_SIZE instead of RTX_SIZE.
      	(copy_rtx): Use shallow_copy_rtx.  Don't copy each field individually.
      	Reindent.
      	(shallow_copy_rtx_stat): Use rtx_size instead of RTX_SIZE.
      	* rtl.h (rtx_code_size): New variable.
      	(rtx_size): Change from a variable to a function.
      	(RTX_SIZE): Rename to...
      	(RTX_CODE_SIZE): ...this.
      
      	PR target/9703
      	PR tree-optimization/17106
      	* doc/tm.texi (TARGET_USE_BLOCKS_FOR_CONSTANT_P): Document.
      	(Anchored Addresses): New section.
      	* doc/invoke.texi (-fsection-anchors): Document.
      	* doc/rtl.texi (SYMBOL_REF_IN_BLOCK_P, SYMBOL_FLAG_IN_BLOCK): Likewise.
      	(SYMBOL_REF_ANCHOR_P, SYMBOL_FLAG_ANCHOR): Likewise.
      	(SYMBOL_REF_BLOCK, SYMBOL_REF_BLOCK_OFFSET): Likewise.
      	* hooks.c (hook_bool_mode_rtx_false): New function.
      	* hooks.h (hook_bool_mode_rtx_false): Declare.
      	* gengtype.c (create_optional_field): New function.
      	(adjust_field_rtx_def): Add the "block_sym" field for SYMBOL_REFs when
      	SYMBOL_REF_IN_BLOCK_P is true.
      	* target.h (output_anchor, use_blocks_for_constant_p): New hooks.
      	(min_anchor_offset, max_anchor_offset): Likewise.
      	(use_anchors_for_symbol_p): New hook.
      	* toplev.c (compile_file): Call output_object_blocks.
      	(target_supports_section_anchors_p): New function.
      	(process_options): Check that -fsection-anchors is only used on
      	targets that support it and when -funit-at-a-time is in effect.
      	* tree-ssa-loop-ivopts.c (prepare_decl_rtl): Only create DECL_RTL
      	if the decl doesn't have one.
      	* dwarf2out.c: Remove instantiations of VEC(rtx,gc).
      	* expr.c (emit_move_multi_word, emit_move_insn): Pass the result
      	of force_const_mem through use_anchored_address.
      	(expand_expr_constant): New function.
      	(expand_expr_addr_expr_1): Call it.  Use the same modifier when
      	calling expand_expr for INDIRECT_REF.
      	(expand_expr_real_1): Pass DECL_RTL through use_anchored_address
      	for all modifiers except EXPAND_INITIALIZER.  Use expand_expr_constant.
      	* expr.h (use_anchored_address): Declare.
      	* loop-unroll.c: Don't declare rtx vectors here.
      	* explow.c: Include output.h.
      	(validize_mem): Call use_anchored_address.
      	(use_anchored_address): New function.
      	* common.opt (-fsection-anchors): New switch.
      	* varasm.c (object_block_htab, anchor_labelno): New variables.
      	(hash_section, object_block_entry_eq, object_block_entry_hash)
      	(use_object_blocks_p, get_block_for_section, create_block_symbol)
      	(use_blocks_for_decl_p, change_symbol_section): New functions.
      	(get_variable_section): New function, split out from assemble_variable.
      	(make_decl_rtl): Create a block symbol if use_object_blocks_p and
      	use_blocks_for_decl_p say so.  Use change_symbol_section if the
      	symbol has already been created.
      	(assemble_variable_contents): New function, split out from...
      	(assemble_variable): ...here.  Don't output any code for
      	block symbols; just pass them to place_block_symbol.
      	Use get_variable_section and assemble_variable_contents.
      	(get_constant_alignment, get_constant_section, get_constant_size): New
      	functions, split from output_constant_def_contents.
      	(build_constant_desc): Create a block symbol if use_object_blocks_p
      	says so.  Or into SYMBOL_REF_FLAGS.
      	(assemble_constant_contents): New function, split from...
      	(output_constant_def_contents): ...here.  Don't output any code
      	for block symbols; just pass them to place_section_symbol.
      	Use get_constant_section and get_constant_alignment.
      	(force_const_mem): Create a block symbol if use_object_blocks_p and
      	use_blocks_for_constant_p say so.  Or into SYMBOL_REF_FLAGS.
      	(output_constant_pool_1): Add an explicit alignment argument.
      	Don't switch sections here.
      	(output_constant_pool): Adjust call to output_constant_pool_1.
      	Switch sections here instead.  Don't output anything for block symbols;
      	just pass them to place_block_symbol.
      	(init_varasm_once): Initialize object_block_htab.
      	(default_encode_section_info): Keep the old SYMBOL_FLAG_IN_BLOCK.
      	(default_asm_output_anchor, default_use_aenchors_for_symbol_p)
      	(place_block_symbol, get_section_anchor, output_object_block)
      	(output_object_block_htab, output_object_blocks): New functions.
      	* target-def.h (TARGET_ASM_OUTPUT_ANCHOR): New macro.
      	(TARGET_ASM_OUT): Include it.
      	(TARGET_USE_BLOCKS_FOR_CONSTANT_P): New macro.
      	(TARGET_MIN_ANCHOR_OFFSET, TARGET_MAX_ANCHOR_OFFSET): New macros.
      	(TARGET_USE_ANCHORS_FOR_SYMBOL_P): New macro.
      	(TARGET_INITIALIZER): Include them.
      	* rtl.c (rtl_check_failed_block_symbol): New function.
      	* rtl.h: Include vec.h.  Declare heap and gc rtx vectors.
      	(block_symbol, object_block): New structures.
      	(rtx_def): Add a block_symbol field to the union.
      	(BLOCK_SYMBOL_CHECK): New macro.
      	(rtl_check_failed_block_symbol): Declare.
      	(SYMBOL_FLAG_IN_BLOCK, SYMBOL_FLAG_ANCHOR): New SYMBOL_REF flags.
      	(SYMBOL_REF_IN_BLOCK_P, SYMBOL_REF_ANCHOR_P): New predicates.
      	(SYMBOL_FLAG_MACH_DEP_SHIFT): Bump by 2.
      	(SYMBOL_REF_BLOCK, SYMBOL_REF_BLOCK_OFFSET): New accessors.
      	* output.h (output_section_symbols): Declare.
      	(object_block): Name structure.
      	(place_section_symbol, get_section_anchor, default_asm_output_anchor)
      	(default_use_anchors_for_symbol_p): Declare.
      	* Makefile.in (RTL_BASE_H): Add vec.h.
      	(explow.o): Depend on output.h.
      	* config/rs6000/rs6000.c (TARGET_MIN_ANCHOR_OFFSET): Override default.
      	(TARGET_MAX_ANCHOR_OFFSET): Likewise.
      	(TARGET_USE_BLOCKS_FOR_CONSTANT_P): Likewise.
      	(rs6000_use_blocks_for_constant_p): New function.
      
      From-SVN: r111254
      Richard Sandiford committed
    • install.texi (hppa*-hp-hpux*): Update for 4.1.0. · dcf966bd
      	* doc/install.texi (hppa*-hp-hpux*): Update for 4.1.0.
      
      From-SVN: r111253
      John David Anglin committed
    • re PR tree-optimization/25680 (Store CCP does not understand REALPART_EXPR < COMPLEX_CST >) · add9e6d3
      2006-02-18  Andrew Pinski  <pinskia@physics.uc.edu>
      
              PR tree-opt/25680
              * tree-ssa-ccp.c (ccp_fold): Handle store CCP of REALPART_EXPR and
              IMAGPART_EXPR.
      2006-02-18  Andrew Pinski  <pinskia@physics.uc.edu>
      
              PR tree-opt/25680
              * testsuite/gcc.dg/tree-ssa/complex-3.c: New test.
      
      From-SVN: r111251
      Andrew Pinski committed
    • 20031106-1.c: Fix the final scan of the variable to take into account the variable name in... · c8ca29f1
      2006-02-18  Andrew Pinski  <pinskia@physics.uc.edu>
      
              * gcc.dg/tree-ssa/20031106-1.c: Fix the final scan of the
              variable to take into account the variable name in the
              function header.
              * gcc.dg/tree-ssa/20031106-2.c: Likewise.
      
      From-SVN: r111250
      Andrew Pinski committed
    • tree-flow.h (struct var_ann_d): Rename field is_alias_tag to is_aliased. · faf7c678
      
      	* tree-flow.h (struct var_ann_d): Rename field is_alias_tag to
      	is_aliased.
      	Update all users.
      
      From-SVN: r111249
      Diego Novillo committed
    • re PR middle-end/26334 (ICE in lhd_set_decl_assembler_name) · 3f2de3dc
      	PR middle-end/26334
      	* stmt.c (decl_overlaps_hard_reg_set_p): Use DECL_HARD_REGISTER
      	instead of DECL_REGISTER.
      
      	* gcc.c-torture/compile/20060217-1.c: New test.
      	* gcc.dg/20060218-1.c: New test.
      
      From-SVN: r111247
      Jakub Jelinek committed
    • trans-stmt.c (struct temporary_list): Delete. · 3891cee2
      
      	* trans-stmt.c (struct temporary_list): Delete.
      	(gfc_trans_where_2): Major reorganization.  Remove no longer needed
      	TEMP argument.  Allocate and deallocate the control mask and
      	pending control mask locally.
      	(gfc_trans_forall_1): Delete TEMP local variable, and update
      	call to gfc_trans_where_2.  No need to deallocate arrays after.
      	(gfc_evaluate_where_mask): Major reorganization.  Change return
      	type to void.  Pass in parent execution mask, MASK, and two
      	already allocated mask arrays CMASK and PMASK.  On return
      	CMASK := MASK & COND, PMASK := MASK & !COND.  MASK, CMASK and
      	CMASK may all be NULL, or refer to the same temporary arrays.
      	(gfc_trans_where): Update call to gfc_trans_where_2.  We no
      	longer need a TEMP variable or to deallocate temporary arrays
      	allocated by gfc_trans_where_2.
      
      From-SVN: r111245
      Roger Sayle committed
    • re PR ada/13408 (acats numeric tests cxg* fail on pa/hpux) · 4ea42eba
      	PR ada/13408
      	* pa.h (WIDEST_HARDWARE_FP_SIZE): Define.
      
      From-SVN: r111241
      Olivier Hainque committed
    • gfortran.h (gfc_add_attribute): Change uint to unsigned int. · ef6a0629
      2006-02-18   Danny Smith  <dannysmith@users.sourceforeg.net>
      
          * gfortran.h (gfc_add_attribute): Change uint to unsigned int.
          * symbol.c (gfc_add_attribute): Likewise for definition.
          * resolve.c (resolve_global_procedure): Likewise for variable 'type'.
      
      From-SVN: r111239
      Danny Smith committed
    • re PR target/26189 (Bug in vendor /usr/include/net/if.h needs fixincluding on HPUX) · e084430d
      	PR target/26189
      	* inclhack.def (hpux_spu_info): New.
      	* fixincl.x: Regenerate
      
      From-SVN: r111237
      Steve Ellcey committed
    • re PR target/24837 (move dynamic linker names out of LINK_SPEC and into new DYNAMIC_LINKER) · 7bd85ce0
      	PR target/24837
      	* config.gcc: Define UCLIBC_DEFAULT to 0 or 1.
      	* opth-gen.awk: Handle Var and InverseMask together.
      	* config/linux.opt (muclibc, mglibc): Use Var(linux_uclibc).
      	* config/linux.h: Use #if not #ifdef for testing UCLIBC_DEFAULT.
      	(TARGET_C99_FUNCTIONS): Test OPTION_GLIBC not TARGET_GLIBC.
      	(CHOOSE_DYNAMIC_LINKER): Give an error for -mglibc and -muclibc
      	used together.
      	(UCLIBC_DYNAMIC_LINKER32, UCLIBC_DYNAMIC_LINKER64,
      	LINUX_DYNAMIC_LINKER32, LINUX_DYNAMIC_LINKER64): Define.
      	* config/alpha/linux-elf.h (GLIBC_DYNAMIC_LINKER,
      	UCLIBC_DYNAMIC_LINKER, CHOOSE_DYNAMIC_LINKER,
      	LINUX_DYNAMIC_LINKER): Define.
      	(ELF_DYNAMIC_LINKER): Define to LINUX_DYNAMIC_LINKER.
      	* config/alpha/linux.h (TARGET_C99_FUNCTIONS): Define to
      	TARGET_GLIBC.
      	* config/cris/linux.h (GLIBC_DYNAMIC_LINKER): Define.
      	(CRIS_LINK_SUBTARGET_SPEC): Pass a -dynamic-linker option.
      	* config/frv/linux.h (GLIBC_DYNAMIC_LINKER): Define.
      	(LINK_SPEC): Use LINUX_DYNAMIC_LINKER.
      	(TARGET_C99_FUNCTIONS): Don't define.
      	* config/i386/linux.h (DYNAMIC_LINKER): Rename to
      	GLIBC_DYNAMIC_LINKER.
      	(SUBTARGET_EXTRA_SPECS): Use LINUX_DYNAMIC_LINKER.
      	* config/i386/linux64.h (GLIBC_DYNAMIC_LINKER32,
      	GLIBC_DYNAMIC_LINKER64): Define.
      	(LINK_SPEC): Use LINUX_DYNAMIC_LINKER32 and
      	LINUX_DYNAMIC_LINKER64.
      	* config/ia64/linux.h (GLIBC_DYNAMIC_LINKER): Define.
      	(LINK_SPEC): Use LINUX_DYNAMIC_LINKER.
      	* config/m32r/linux.h (GLIBC_DYNAMIC_LINKE): Define.
      	(LINK_SPEC): Use LINUX_DYNAMIC_LINKER.
      	* config/m68k/linux.h (GLIBC_DYNAMIC_LINKER): Define.
      	(LINK_SPEC): Use LINUX_DYNAMIC_LINKER.
      	* config/mips/linux64.h (GLIBC_DYNAMIC_LINKER32,
      	GLIBC_DYNAMIC_LINKER64, GLIBC_DYNAMIC_LINKERN32,
      	UCLIBC_DYNAMIC_LINKERN32, LINUX_DYNAMIC_LINKERN32): Define.
      	(LINK_SPEC): Use LINUX_DYNAMIC_LINKERN32, LINUX_DYNAMIC_LINKER64
      	and LINUX_DYNAMIC_LINKER32.
      	* config/mn10300/linux.h (GLIBC_DYNAMIC_LINKER): Define.
      	(LINK_SPEC): Use LINUX_DYNAMIC_LINKER.
      	* config/pa/pa-linux.h (GLIBC_DYNAMIC_LINKER): Define.
      	(LINK_SPEC): Use LINUX_DYNAMIC_LINKER.
      	* config/rs6000/linux.h (TARGET_C99_FUNCTIONS): Define to
      	TARGET_GLIBC.
      	* config/rs6000/linux64.h (TARGET_C99_FUNCTIONS): Likewise.
      	(GLIBC_DYNAMIC_LINKER32, GLIBC_DYNAMIC_LINKER64,
      	UCLIBC_DYNAMIC_LINKER32, UCLIBC_DYNAMIC_LINKER64,
      	CHOOSE_DYNAMIC_LINKER, CHOOSE_DYNAMIC_LINKER,
      	LINUX_DYNAMIC_LINKER32, LINUX_DYNAMIC_LINKER64): Define.
      	(LINK_OS_LINUX_SPEC32): Use LINUX_DYNAMIC_LINKER32.
      	(LINK_OS_LINUX_SPEC64): Use LINUX_DYNAMIC_LINKER64.
      	* config/rs6000/sysv4.h (GLIBC_DYNAMIC_LINKER,
      	UCLIBC_DYNAMIC_LINKER, CHOOSE_DYNAMIC_LINKER,
      	LINUX_DYNAMIC_LINKER): Define.
      	(LINK_OS_LINUX_SPEC): Use LINUX_DYNAMIC_LINKE.
      	* config/s390/linux.h (GLIBC_DYNAMIC_LINKER32,
      	GLIBC_DYNAMIC_LINKER64): Define.
      	(LINK_SPEC): Use LINUX_DYNAMIC_LINKER32 and
      	LINUX_DYNAMIC_LINKER64.
      	* config/sh/linux.h (GLIBC_DYNAMIC_LINKER): Define.
      	(SUBTARGET_LINK_SPEC): Use LINUX_DYNAMIC_LINKER.
      	* config/sparc/linux.h (GLIBC_DYNAMIC_LINKER,
      	UCLIBC_DYNAMIC_LINKER, CHOOSE_DYNAMIC_LINKER,
      	LINUX_DYNAMIC_LINKER): Define.
      	(LINK_SPEC): Use LINUX_DYNAMIC_LINKER.
      	(TARGET_C99_FUNCTIONS): Define to TARGET_GLIBC.
      	* config/sparc/linux64.h (GLIBC_DYNAMIC_LINKER32,
      	GLIBC_DYNAMIC_LINKER64, UCLIBC_DYNAMIC_LINKER32,
      	UCLIBC_DYNAMIC_LINKER64, CHOOSE_DYNAMIC_LINKER,
      	LINUX_DYNAMIC_LINKER32, LINUX_DYNAMIC_LINKER64): Define.
      	(LINK_ARCH32_SPEC): Use LINUX_DYNAMIC_LINKER32.
      	(LINK_ARCH64_SPEC, LINK_SPEC): Use LINUX_DYNAMIC_LINKER64.
      	(TARGET_C99_FUNCTIONS): Define to TARGET_GLIBC.
      	* config/xtensa/linux.h (GLIBC_DYNAMIC_LINKER): Define.
      	(LINK_SPEC): Use LINUX_DYNAMIC_LINKER.
      	* doc/invoke.texi (-muclibc): Remove caveat about supported
      	targets.
      
      testsuite:
      	* gcc.dg/glibc-uclibc-1.c, gcc.dg/glibc-uclibc-2.c: New tests.
      
      From-SVN: r111235
      Joseph Myers committed
    • cpp.texi (__TIMESTAMP__): Document. · be8ac3e2
      2006-02-17  Grigory Zagorodnev <grigory_zagorodnev@linux.intel.com>
      
      gcc/ChangeLog:
           * doc/cpp.texi (__TIMESTAMP__): Document.
      
      libcpp/ChangeLog:
           * macro.c (_cpp_builtin_macro_text): Handle BT_TIMESTAMP.
           * files.c (_cpp_get_file_stat): New function.
           * include/cpplib.h (builtin_type): Add BT_TIMESTAMP.
           * init.c (builtin_array): Add support for __TIMESTAMP__/BT_TIMESTAMP.
           * internal.h (_cpp_get_file_stat): Prototype.
           (struct cpp_buffer): Add timestamp.
      
      gcc/testsuite/ChangeLog:
           * gcc.dg/cpp/undef3.c: New test.
           * gcc.dg/cpp/trad/builtins2.c: New test.
      
      From-SVN: r111232
      Grigory Zagorodnev committed
    • re PR c++/26266 (Trouble with static const data members in template classes) · 8d08b2d7
      	PR c++/26266
      	* g++.dg/template/static22.C: New test.
      	* g++.dg/template/static23.C: New test.
      	* g++.dg/template/static24.C: New test.
      	* g++.dg/template/non-dependent13.C: New test.
      	* g++.dg/init/member1.C: Tweak error markers.
      
      From-SVN: r111230
      Mark Mitchell committed
    • re PR c++/26266 (Trouble with static const data members in template classes) · d174af6c
      	PR c++/26266
      	* cp-tree.h (cp_finish_decl): Adjust declaration.
      	(grokbitfield): Likewise.
      	(finish_static_data_member_decl): Likewise.
      	* init.c (constant_value_1): Ensure processing_template_decl when
      	folding non-dependent initializers for static data members of
      	dependent types.  Return error_mark_node for erroneous
      	initailizers.
      	* class.c (get_vtable_decl): Use finish_decl, not cp_finish_decl.
      	* decl.c (cp_make_fname_decl): Adjust call to cp_finish_decl.
      	(cp_finish_decl): Add init_const_expr_p parameter.  Set
      	DECL_INITIALIZED_BY_CONSTANT_EXPRESSION_P here.
      	(finish_decl): Adjust call to cp_finish_decl.
      	(compute_array_index_type): Robustify.
      	(start_method): Use finish_decl, not cp_finish_decl.
      	* rtti.c (emit_tinfo_decl): Likewise.
      	* except.c (initialize_handler_parm): Adjust call to
      	cp_finish_decl.
      	(expand_start_catch_block): Likewise.
      	* cvt.c (build_up_reference): Adjust call to cp_finish_decl.
      	* pt.c (instantiate_class_template): Adjust call to
      	finish_static_data_member_decl.
      	(tsubst_expr): Use finish_decl, not cp_finish_decl.
      	(instantiate_decl): Adjust call to cp_finish_decl.
      	* name-lookup.c (pushdecl_top_level_1): Use finish_decl, not
      	cp_finish_decl.
      	* decl2.c (finish_static_data_member_decl): Add init_const_expr_p
      	parameter.
      	(grokfield): Likewise.
      	* parser.c (cp_parser_condition): Check for constant initializers.
      	(cp_parser_init_declarator): Adjust calls to grokfield and
      	cp_finish_decl.  Don't set
      	DECL_INITIALIZED_BY_CONSTANT_EXPRESSION_P here.
      	(cp_parser_member_declaration): Likewise.
      	(cp_parser_objc_class_ivars): Likewise.
      	PR c++/26266
      	* g++.dg/template/static22.C: New test.
      	* g++.dg/template/static23.C: New test.
      	* g++.dg/template/static24.C: New test.
      	* g++.dg/template/non-dependent13.C: New test.
      
      From-SVN: r111229
      Mark Mitchell committed
    • re PR rtl-optimization/25600 (unsigned>>31?-1:0 should be optimized to int>>31) · 8305d786
      
      	PR middle-end/25600
      	* fold-const.c (fold_binary): Fold (X >> C) != 0 into X < 0 when
      	C is one less than the width of X (and related transformations).
      	* simplify_rtx.c (simplify_unary_operation_1): Transform 
      	(neg (lt x 0)) into either (ashiftrt X C) or (lshiftrt X C)
      	depending on STORE_FLAG_VALUE, were C is one less then the
      	width of X.
      
      From-SVN: r111226
      Roger Sayle committed
    • ffi.c (ffi_closure_helper_SYSV): Remove unused variable and cast integer to void * if needed. · e097f887
      	* src/sh/ffi.c (ffi_closure_helper_SYSV): Remove unused variable
      	and cast integer to void * if needed.  Update the pointer to
      	the FP register saved area correctly.
      
      From-SVN: r111225
      Kaz Kojima committed
    • Daily bump. · a3042501
      From-SVN: r111223
      GCC Administrator committed
    • re PR tree-optimization/26341 (930217-1.c and 931013-3.c ICE at -O2 and above in… · dd7b13d8
      re PR tree-optimization/26341 (930217-1.c and 931013-3.c ICE at -O2 and above in add_virtual_operand)
      
      2006-02-17  Daniel Berlin  <dberlin@dberlin.org>
      
      	Fix PR tree-optimization/26341
      	* tree-ssa-operands.c (add_virtual_operand): Remove assert 
      	about NAME_MEMORY_TAG's.
      
      From-SVN: r111217
      Daniel Berlin committed
  3. 17 Feb, 2006 15 commits
    • re PR target/26255 (internal compiler error: in reload_cse_simplify_operands, at postreload.c:391) · 7e646101
      	PR target/26255
      	* pa.md: Create separate HI and QI move patterns for 32-bit and 64-bit
      	with hardware float support, and software float support.  Add fcpy
      	alternative to hardware patterns.  Add alternatives to copy between
      	general and floating-point registers to the 32-bit pattern.
      	* pa.c (pa_secondary_reload): Don't abort if reload tries to find a
      	secondary reload to load a QI or HI mode constant into a floating
      	point register. 
      	* pa32-regs.h (VALID_FP_MODE_P): Allow QImode and HImode.
      	* pa64-regs.h (VALID_FP_MODE_P): Likewise.
      
      From-SVN: r111214
      John David Anglin committed
    • re PR target/26255 (internal compiler error: in reload_cse_simplify_operands, at postreload.c:391) · 1435ba17
      	PR target/26255
      	* gcc.c-torture/compile/pr26255.c: New test case.
      
      From-SVN: r111213
      John David Anglin committed
    • re PR target/25630 (darwin-ppc, wrong alignment of nested structs) · 1a4878f7
      2006-02-17  Andreas Tobler  <a.tobler@schweiz.ch>
      
      	* testsuite/libffi.call/nested_struct6.c: XFAIL this test until PR25630
      	is fixed.
      	* testsuite/libffi.call/nested_struct4.c: Likewise.
      
      From-SVN: r111208
      Andreas Tobler committed
    • re PR rtl-optimization/26272 (gcc.c-torture/execute/built-in-setjmp.c fails at… · d5b5b8bf
      re PR rtl-optimization/26272 (gcc.c-torture/execute/built-in-setjmp.c fails at -O2 and above on powerpc-darwin)
      
      2006-02-17  Andrew Pinski  <pinskia@physics.uc.edu>
      
              PR target/26272
              * config/rs6000/darwin.md (load_macho_picbase_si): Add
              pc to the pattern.
              (load_macho_picbase_di): Likewise.
      
      From-SVN: r111206
      Andrew Pinski committed
    • re PR bootstrap/26161 (Configure tests for pthread.h sometimes need to use -pthread) · 124452c9
      	PR bootstrap/26161
      	* configure.ac: Remove AC_CHECK_HEADER for pthread.h. Add comment
      	for the other pthread check.
      	* configure: Regenerate.
      	* config.h.in: Regenerate.
      
      From-SVN: r111205
      Francois-Xavier Coudert committed
    • where_10.f90: New test case. · 36005795
      
      	* gfortran.fortran-torture/execute/where_10.f90: New test case.
      	* gfortran.fortran-torture/execute/where_11.f90: Likewise.
      	* gfortran.fortran-torture/execute/where_12.f90: Likewise.
      	* gfortran.fortran-torture/execute/where_13.f90: Likewise.
      	* gfortran.fortran-torture/execute/where_14.f90: Likewise.
      	* gfortran.fortran-torture/execute/where_15.f90: Likewise.
      	* gfortran.fortran-torture/execute/where_16.f90: Likewise.
      
      From-SVN: r111204
      Roger Sayle committed
    • MAINTAINERS (Write After Approval): Remove myself. · a3543e3a
      	* MAINTAINERS (Write After Approval):  Remove myself.
      	(Language Front End Maintainers):  Add myself as fortran 95
      	maintainer.
      
      From-SVN: r111203
      Francois-Xavier Coudert committed
    • Resync. · c63f730e
      From-SVN: r111200
      Arnaud Charlet committed
    • expander.adb: Fix typo in comment · 47dd40ba
      2006-02-17  Ramon Fernandez  <fernandez@adacore.com>
      	    Thomas Quinot  <quinot@adacore.com>
      	    Robert Dewar  <dewar@adacore.com>
      	    Javier Miranda  <miranda@adacore.com>
      
      	* expander.adb: Fix typo in comment
      
      	* exp_pakd.adb: Fix typo
      	Minor comment reformatting.
      
      	* g-dyntab.adb: Minor reformatting
      
      	* exp_ch6.adb (Register_Interface_DT_Entry): Traverse the list of
      	aliased subprograms to look for the abstract interface subprogram.
      
      From-SVN: r111199
      Ramon Fernandez committed
    • s-wchcnv.adb: Document handling of [ on output (we do not change this to ["5B"] and the new... · f813ac73
      2006-02-17  Robert Dewar  <dewar@adacore.com>
      
      	* s-wchcnv.adb: Document handling of [ on output (we do not change
      	this to ["5B"] and the new comments say why not.
      
      	* gnat_ugn.texi: 
      	Add note for -gnatVo that this now includes the cases of type
      	conversions and qualified expressions.
      	Add comments on handling of brackets encoding for Text_IO
      
      From-SVN: r111198
      Robert Dewar committed
    • a-convec.ads, [...]: (operator "&"): handle potential overflow for large index types · dc6b9ba2
      2006-02-17  Matthew Heaney  <heaney@adacore.com>
      
      	* a-convec.ads, a-convec.adb: 
      	(operator "&"): handle potential overflow for large index types
      	(Insert): removed Contraint_Error when using large index types
      	(Insert_Space): removed Constraint_Error for large index types
      	(Length): moved constraint check from Length to Insert
      
      	* a-coinve.ads, a-coinve.adb: Stream attribute procedures are declared
      	as not null access.
      	Explicit raise statements now include an exception message.
      	(operator "&"): handle potential overflow for large index types
      	(Insert): removed Contraint_Error when using large index types
      	(Insert_Space): removed Constraint_Error for large index types
      	(Length): moved constraint check from Length to Insert
      
      From-SVN: r111197
      Matthew Heaney committed
    • snames.ads, snames.adb: New standard names for new project attributes... · 35ecbe09
      2006-02-17  Vincent Celier  <celier@adacore.com>
      
      	* snames.ads, snames.adb: New standard names for new project attributes:
      	archive_builder, archive_indexer, compiler_pic_option,
      	config_body_file_name, config_body_file_name_pattern,
      	config_file_switches, config_file_unique, config_spec_file_name,
      	config_spec_file_name_pattern, default_builder_switches,
      	default_global_compiler_switches, default_language,
      	dependency_file_kind, global_compiler_switches, include_path,
      	include_path_file, language_kind, linker_executable_option,
      	linker_lib_dir_option, linker_lib_name_option, mapping_file_switches,
      	roots, runtime_project.
      
      From-SVN: r111196
      Vincent Celier committed
    • sem_res.adb (Resolve_Type_Conversion): In case of conversion to an abstract interface type... · 4197ae1e
      2006-02-17  Javier Miranda  <miranda@adacore.com>
      
      	* sem_res.adb (Resolve_Type_Conversion): In case of conversion to an
      	abstract interface type, the static analysis is not enough to know if
      	the interface is implemented or not by the source tagged type. Hence
      	we must pass the work to the expander to generate the required code to
      	evaluate the conversion at run-time.
      	(Resolve_Equality_Op): Do not apply previous
      	transformation if expansion is disasbled, to prevent anomalies when
      	locating global references in a generic unit.
      
      From-SVN: r111195
      Javier Miranda committed
    • sem_ch6.adb (Build_Body_To_Inline): Enforce the rule that in order to inline a… · 08402a6d
      sem_ch6.adb (Build_Body_To_Inline): Enforce the rule that in order to inline a function that returns an...
      
      2006-02-17  Ed Schonberg  <schonberg@adacore.com>
      
      	* sem_ch6.adb (Build_Body_To_Inline): Enforce the rule that in order
      	to inline a function that returns an unconstrained type, the return
      	expression must be the first variable declared in the body of the
      	function.
      
      From-SVN: r111194
      Ed Schonberg committed
    • sem_ch3.adb (Build_Discriminated_Subtype): In case of concurrent type we cannot… · 030d25f4
      sem_ch3.adb (Build_Discriminated_Subtype): In case of concurrent type we cannot inherit the primitive operations...
      
      2006-02-17  Javier Miranda  <miranda@adacore.com>
      	    Ed Schonberg  <schonberg@adacore.com>
      
      	* sem_ch3.adb (Build_Discriminated_Subtype): In case of concurrent
      	type we cannot inherit the primitive operations; we inherit the
      	Corresponding_Record_Type (which has the list of primitive operations).
      	(Check_Anonymous_Access_Types): When creating anonymous access types for
      	access components, use Rewrite in order to preserve the tree structure,
      	for ASIS use.
      	(Analyze_Object_Declaration): For limited types with access
      	discriminants with defaults initialized by an aggregate, obtain
      	subtype from aggregate as for other mutable types.
      	(Derived_Type_Declaration): If the derived type is a limited interface,
      	set the corresponding flag (Is_Limited_Record is not sufficient).
      
      From-SVN: r111193
      Javier Miranda committed