Commit Graph

73789 Commits

Author SHA1 Message Date
John David Anglin
353f74e8ee install.texi: Add missing `@samp'.
* doc/install.texi: Add missing `@samp'.

From-SVN: r111272
2006-02-19 18:15:58 +00:00
H.J. Lu
caf0ecedc2 resolve.c (resolve_contained_functions): Call resolve_entries first.
2006-02-19  H.J. Lu  <hongjiu.lu@intel.com>

	* resolve.c (resolve_contained_functions): Call resolve_entries
	first.
	(resolve_types): Remove calls to resolve_entries and
	resolve_contained_functions.
	(gfc_resolve): Call resolve_contained_functions.

From-SVN: r111271
2006-02-19 10:03:52 -08:00
Erik Edelmann
3431818f46 re PR fortran/26201 (__convert_i4_i8 written to a module.)
fortran/
2006-02-19  Erik Edelmann  <eedelman@gcc.gnu.org>

        PR fortran/26201
        * intrinsic.c (gfc_convert_type_warn): Call
        gfc_intrinsic_symbol() on the newly created symbol.

testsuite/
2006-02-19  Erik Edelmann  <eedelman@gcc.gnu.org>

        PR fortran/26201
        * gfortran.dg/convert_1.f90: New.

From-SVN: r111270
2006-02-19 17:23:07 +00:00
Bud Davis
63a7c9ef05 MAINTAINERS (Write After Approval): Remove myself.
2006-02-19  Bud Davis  <jmdavis@link.com>

        * MAINTAINERS (Write After Approval):  Remove myself.
        (Language Front End Maintainers):  Add myself as fortran 95
        maintainer and update e-mail address.

From-SVN: r111269
2006-02-19 16:23:20 +00:00
Paul Thomas
3e1cf50075 re PR fortran/25054 (nonconstant bounds array cannot appear in a namelist)
2005-02-19  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/25054
	* resolve.c (is_non_constant_shape_array): New function.
	(resolve_fl_variable): Remove code for the new function and call it.
	(resolve_fl_namelist): New function.  Add test for namelist array
	with non-constant shape, using is_non_constant_shape_array.
	(resolve_symbol): Remove code for resolve_fl_namelist and call it.

	PR fortran/25089
	* match.c (match_namelist): Increment the refs field of an accepted
	namelist object symbol.
	* resolve.c (resolve_fl_namelist): Test namelist objects for a conflict
	with contained or module procedures.

2005-02-19  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/25054
	* gfortran.dg/namelist_5.f90: New test.

	PR fortran/25089
	* gfortran.dg/namelist_4.f90: New test.

From-SVN: r111268
2006-02-19 15:24:26 +00:00
Francois-Xavier Coudert
c05f6d04cb * io/open.c (edit_modes): Correct abusive copy-pasting.
From-SVN: r111266
2006-02-19 10:23:28 +00:00
Andrew Pinski
69b61bb160 darwin.h (ASM_OUTPUT_SPECIAL_POOL_ENTRY_P): Use the arguments.
2006-02-18  Andrew Pinski <pinskia@physics.uc.edu>

        * config/rs6000/darwin.h (ASM_OUTPUT_SPECIAL_POOL_ENTRY_P):
        Use the arguments.

From-SVN: r111265
2006-02-18 21:59:55 -08:00
GCC Administrator
94f19b11bf Daily bump.
From-SVN: r111263
2006-02-19 00:17:30 +00:00
Mark Wielaard
43e96d007a contrib.texi (Contributors): Add classpath/libgcj hackers who added new 4.1 features...
* doc/contrib.texi (Contributors): Add classpath/libgcj hackers
       who added new 4.1 features, bug fixes and integration support.

From-SVN: r111256
2006-02-19 00:02:20 +00:00
David Edelsohn
aa9cf005f7 re PR target/26350 (ICE in extract_insn, at recog.c:2084, -fPIC -mlong-double-128)
PR target/26350
        * config/rs6000/rs6000.md (extenddftf2): Force 0.0 to validized
        MEM for ABI_V4 pic.

From-SVN: r111255
2006-02-18 18:19:02 -05:00
Richard Sandiford
aacd3885eb 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
2006-02-18 22:06:53 +00:00
John David Anglin
dcf966bd82 install.texi (hppa*-hp-hpux*): Update for 4.1.0.
* doc/install.texi (hppa*-hp-hpux*): Update for 4.1.0.

From-SVN: r111253
2006-02-18 21:32:06 +00:00
Andrew Pinski
add9e6d3bd re PR tree-optimization/25680 (Store CCP does not understand REALPART_EXPR < COMPLEX_CST >)
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
2006-02-18 13:09:35 -08:00
Andrew Pinski
c8ca29f104 20031106-1.c: Fix the final scan of the variable to take into account the variable name in...
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
2006-02-18 13:04:57 -08:00
Diego Novillo
faf7c6784e tree-flow.h (struct var_ann_d): Rename field is_alias_tag to is_aliased.
* tree-flow.h (struct var_ann_d): Rename field is_alias_tag to
	is_aliased.
	Update all users.

From-SVN: r111249
2006-02-18 15:31:28 -05:00
Jakub Jelinek
3f2de3dcf9 re PR middle-end/26334 (ICE in lhd_set_decl_assembler_name)
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
2006-02-18 19:58:42 +01:00
Roger Sayle
3891cee230 trans-stmt.c (struct temporary_list): Delete.
* 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
2006-02-18 17:26:35 +00:00
Olivier Hainque
4ea42ebadb re PR ada/13408 (acats numeric tests cxg* fail on pa/hpux)
PR ada/13408
	* pa.h (WIDEST_HARDWARE_FP_SIZE): Define.

From-SVN: r111241
2006-02-18 16:15:07 +00:00
Danny Smith
ef6a0629b4 gfortran.h (gfc_add_attribute): Change uint to unsigned int.
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
2006-02-18 16:10:59 +00:00
Steve Ellcey
e084430d3d re PR target/26189 (Bug in vendor /usr/include/net/if.h needs fixincluding on HPUX)
PR target/26189
	* inclhack.def (hpux_spu_info): New.
	* fixincl.x: Regenerate

From-SVN: r111237
2006-02-18 15:58:06 +00:00
Joseph Myers
7bd85ce0da re PR target/24837 (move dynamic linker names out of LINK_SPEC and into new DYNAMIC_LINKER)
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
2006-02-18 11:12:51 +00:00
Grigory Zagorodnev
be8ac3e243 cpp.texi (__TIMESTAMP__): Document.
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
2006-02-18 10:25:31 +01:00
Mark Mitchell
8d08b2d786 re PR c++/26266 (Trouble with static const data members in template classes)
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
2006-02-18 08:37:11 +00:00
Mark Mitchell
d174af6c58 re PR c++/26266 (Trouble with static const data members in template classes)
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
2006-02-18 08:36:11 +00:00
Roger Sayle
8305d7868d re PR rtl-optimization/25600 (unsigned>>31?-1:0 should be optimized to int>>31)
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
2006-02-18 05:22:46 +00:00
Kaz Kojima
e097f8873d ffi.c (ffi_closure_helper_SYSV): Remove unused variable and cast integer to void * if needed.
* 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
2006-02-18 00:35:13 +00:00
GCC Administrator
a30425018e Daily bump.
From-SVN: r111223
2006-02-18 00:17:32 +00:00
Daniel Berlin
dd7b13d8f4 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
2006-02-18 00:09:51 +00:00
John David Anglin
7e646101de re PR target/26255 (internal compiler error: in reload_cse_simplify_operands, at postreload.c:391)
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
2006-02-17 22:19:05 +00:00
John David Anglin
1435ba17b5 re PR target/26255 (internal compiler error: in reload_cse_simplify_operands, at postreload.c:391)
PR target/26255
	* gcc.c-torture/compile/pr26255.c: New test case.

From-SVN: r111213
2006-02-17 22:09:58 +00:00
Andreas Tobler
1a4878f752 re PR target/25630 (darwin-ppc, wrong alignment of nested structs)
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
2006-02-17 21:52:38 +01:00
Andrew Pinski
d5b5b8bf92 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
2006-02-17 11:52:28 -08:00
Francois-Xavier Coudert
124452c9fc re PR bootstrap/26161 (Configure tests for pthread.h sometimes need to use -pthread)
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
2006-02-17 19:01:04 +00:00
Roger Sayle
360057959a where_10.f90: New test case.
* 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
2006-02-17 18:11:30 +00:00
Francois-Xavier Coudert
a3543e3aad MAINTAINERS (Write After Approval): Remove myself.
* MAINTAINERS (Write After Approval):  Remove myself.
	(Language Front End Maintainers):  Add myself as fortran 95
	maintainer.

From-SVN: r111203
2006-02-17 18:08:57 +00:00
Arnaud Charlet
c63f730e5e Resync.
From-SVN: r111200
2006-02-17 17:09:32 +01:00
Ramon Fernandez
47dd40babb expander.adb: Fix typo in comment
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
2006-02-17 17:09:11 +01:00
Robert Dewar
f813ac73e9 s-wchcnv.adb: Document handling of [ on output (we do not change this to ["5B"] and the new...
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
2006-02-17 17:08:58 +01:00
Matthew Heaney
dc6b9ba2d1 a-convec.ads, [...]: (operator "&"): handle potential overflow for large index types
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
2006-02-17 17:08:48 +01:00
Vincent Celier
35ecbe09de snames.ads, snames.adb: New standard names for new project attributes...
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
2006-02-17 17:08:38 +01:00
Javier Miranda
4197ae1e56 sem_res.adb (Resolve_Type_Conversion): In case of conversion to an abstract interface type...
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
2006-02-17 17:08:28 +01:00
Ed Schonberg
08402a6d65 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
2006-02-17 17:08:18 +01:00
Javier Miranda
030d25f413 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
2006-02-17 17:08:08 +01:00
Ed Schonberg
861f090ef3 sem_ch12.adb (Analyze_Package_Instantiation): Inline_Now is false if the current instance is nested within another instance...
2006-02-17  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch12.adb (Analyze_Package_Instantiation): Inline_Now is false if
	the current instance is nested within another instance in a child unit.

From-SVN: r111192
2006-02-17 17:07:56 +01:00
Ed Schonberg
9af38f0c56 sem_ch10.adb (Analyze_With_Clause): If the unit is a subprogram instantiation...
2006-02-17  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch10.adb (Analyze_With_Clause): If the unit is a subprogram
	instantiation, the corresponding entity is the related_instance of the
	wrapper package created for the instance.

From-SVN: r111191
2006-02-17 17:07:43 +01:00
Vasiliy Fofanov
f58291a114 Makefile.in: Use VMS64 specialized versions of several units in Interfaces.C hierarchy to be...
2006-02-17  Vasiliy Fofanov  <fofanov@adacore.com>

	* Makefile.in: Use VMS64 specialized versions of several units in
	Interfaces.C hierarchy to be compatible with HP C default size choices.
	Use the default version of Ada.Synchronous_Task_Control for VxWorks 653.

From-SVN: r111190
2006-02-17 17:07:32 +01:00
Vasiliy Fofanov
721a4f13e6 init.c (facility_resignal_table): new array
2006-02-17  Vasiliy Fofanov  <fofanov@adacore.com>

	* init.c (facility_resignal_table): new array
	(__gnat_default_resignal_p): enhance default predicate to resignal if
	VMS condition has one of the predefined facility codes.

From-SVN: r111189
2006-02-17 17:07:22 +01:00
Robert Dewar
0e3e1f1559 g-os_lib.adb (Copy_File): Make sure that if From has an Invalid_FD, then we close To if it is valid.
2006-02-17  Robert Dewar  <dewar@adacore.com>

	* g-os_lib.adb (Copy_File): Make sure that if From has an Invalid_FD,
	then we close To if it is valid.

From-SVN: r111188
2006-02-17 17:07:10 +01:00
Ed Schonberg
7f9747c61d freeze.adb (Statically_Discriminated_Components): Return false if the bounds of the type of the discriminant are not static...
2006-02-17  Ed Schonberg  <schonberg@adacore.com>

	* freeze.adb (Statically_Discriminated_Components): Return false if
	the bounds of the type of the discriminant are not static expressions.

	* sem_aggr.adb (Check_Static_Discriminated_Subtype): Return false if
	the bounds of the discriminant type are not static.

From-SVN: r111187
2006-02-17 17:06:57 +01:00
Ed Schonberg
faad2f7ed6 exp_dbug.adb (Debug_Renaming_Declaration): Indicate that the entity must be materialized when...
2006-02-17  Ed Schonberg  <schonberg@adacore.com>

	* exp_dbug.adb (Debug_Renaming_Declaration): Indicate that the entity
	must be materialized when the renamed expression is an explicit
	dereference.

From-SVN: r111186
2006-02-17 17:06:28 +01:00