Commit Graph

83580 Commits

Author SHA1 Message Date
Richard Sandiford
348eea5f00 dse.c (find_shift_sequence): Allow word as well as subword shifts.
gcc/
	* dse.c (find_shift_sequence): Allow word as well as subword shifts.
	Do the tentative shift expansion with the DF_NO_INSN_RESCAN flag set.
	Fix the call to insn_rtx_cost.  Skip access sizes that require a
	real truncation of the store register.  Use convert_move instead
	of gen_lowpart when narrowing the result.
	(replace_read): Use convert_move instead of gen_lowpart when
	narrowing the store rhs.

gcc/testsuite/
	* gcc.target/mips/dse-1.c: New test.

From-SVN: r128530
2007-09-16 21:02:54 +00:00
Nathan Sidwell
0ee3f0a892 re PR c++/32756 (wrong ambiguous overload error?)
cp/
	PR c++/32756
	* call.c (maybe_handle_implicit_object): Set this_p, clear
	rvaluedness_matches_p.
	(compare_ics): Do not compare rvaluedness matching when one of the
	operands is an implicit object.

	testsuite/
	PR c++/32756
	* g++.dg/overload/operator3.C: New.

From-SVN: r128528
2007-09-16 17:26:42 +00:00
Richard Sandiford
ce616dd5ac Fix typo.
From-SVN: r128526
2007-09-16 09:46:44 +00:00
Richard Sandiford
7ed67b7aba mips.md (SHORT): Fix long line.
gcc/
	* config/mips/mips.md (SHORT): Fix long line.
	(SUBDI): New mode iterator.  Extend the shift-and-truncate insns
	to QImode and HImoe.

gcc/testsuite/
	* gcc.target/mips/truncate-1.c: New test.

From-SVN: r128525
2007-09-16 09:45:36 +00:00
Richard Sandiford
0dc3178264 mips.h (POINTERS_EXTEND_UNSIGNED): Define.
gcc/
	* config/mips/mips.h (POINTERS_EXTEND_UNSIGNED): Define.

From-SVN: r128524
2007-09-16 09:23:31 +00:00
Paul Thomas
1d6b7f396a re PR fortran/29396 (segfault with character pointer association)
2007-09-16  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/29396
	PR fortran/29606
	PR fortran/30625
	PR fortran/30871
	* trans.h : Add extra argument to gfc_build_array_ref. Rename
	gfc_conv_aliased_arg to gfc_conv_subref_array_arg.  Move
	prototype of is_aliased_array to gfortran.h and rename it
	gfc_is_subref_array.  Add field span to lang_decl, add a new
	decl lang specific flag accessed by GFC_DECL_SUBREF_ARRAY_P
	and a new type flag GFC_DECL_SUBREF_ARRAY_P.
	* trans.c (gfc_build_array_ref): Add the new argument, decl.
	If this is a subreference array pointer, use the lang_decl
	field 'span' to calculate the offset in bytes and use pointer
	arithmetic to address the element.
	* trans-array.c (gfc_conv_scalarized_array_ref,
	gfc_conv_array_ref): Add the backend declaration as the third
	field, if it is likely to be a subreference array pointer.
	(gfc_conv_descriptor_dimension, gfc_trans_array_ctor_element,
	gfc_trans_array_constructor_element, structure_alloc_comps,
	gfc_conv_array_index_offset): For all other references to
	gfc_build_array_ref, set the third argument to NULL.
	(gfc_get_dataptr_offset): New function.
	(gfc_conv_expr_descriptor): If the rhs of a pointer assignment
	is a subreference array, then calculate the offset to the
	subreference of the first element and set the descriptor data
	pointer to this, using gfc_get_dataptr_offset.
	trans-expr.c (gfc_get_expr_charlen): Use the expression for the
	character length for a character subreference.
	(gfc_conv_substring, gfc_conv_subref_array_arg): Add NULL for
	third argument in call to gfc_build_array_ref.
	(gfc_conv_aliased_arg): Rename to gfc_conv_subref_array_arg.
	(is_aliased_array): Remove.
	(gfc_conv_function_call): Change reference to is_aliased_array
	to gfc_is_subref_array and reference to gfc_conv_aliased_arg to
	gfc_conv_subref_array_arg.
	(gfc_trans_pointer_assignment): Add the array element length to
	the lang_decl 'span' field.
	* gfortran.h : Add subref_array_pointer to symbol_attribute and
	add the prototype for gfc_is_subref_array.
	* trans-stmt.c : Add NULL for third argument in all references
	to gfc_build_array_ref.
	* expr.c (gfc_is_subref_array): Renamed is_aliased_array.
	If this is a subreference array pointer, return true.
	(gfc_check_pointer_assign): If the rhs is a subreference array,
	set the lhs subreference_array_pointer attribute.
	* trans-decl.c (gfc_get_symbol_decl): Allocate the lang_decl
	field if the symbol is a subreference array pointer and set an
	initial value of zero for the 'span' field.
	* trans-io.c (set_internal_unit): Refer to is_subref_array and
	gfc_conv_subref_array_arg.
	(nml_get_addr_expr): Add NULL third argument to
	gfc_build_array_ref. 
	(gfc_trans_transfer): Use the scalarizer for a subreference
	array.

2007-09-16  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/29396
	PR fortran/29606
	PR fortran/30625
	PR fortran/30871
	* gfortran.dg/subref_array_pointer_1.f90: New test.
	* gfortran.dg/subref_array_pointer_2.f90: New test.

From-SVN: r128523
2007-09-16 09:17:49 +00:00
GCC Administrator
1b95f1f634 Daily bump.
From-SVN: r128521
2007-09-16 00:16:57 +00:00
H.J. Lu
de5889efdc * gfortran.dg/nint_2.f90: Correct last change.
From-SVN: r128518
2007-09-16 00:12:51 +00:00
Zdenek Dvorak
5f40b3cbe2 tree-parloops.c: New file.
* tree-parloops.c: New file.
	* tree-ssa-operands.h (free_stmt_operands): Declare.
	* tree-ssa-loop-manip.c (split_loop_exit_edge): Return the new basic
	block.
	* tree-pass.h (pass_parallelize_loops): Declare.
	* omp-low.c (expand_omp_parallel, expand_omp_for): Update SSA form for
	virtual operands.
	(build_omp_regions_1): Allow analysing just a single OMP region and
	its subregions.
	( build_omp_regions_root, omp_expand_local): New functions.
	(build_omp_regions): Add argument to build_omp_regions_1 call.
	* builtins.def (DEF_GOMP_BUILTIN): Initialize OMP builtins when
	autoparallelization is run.
	* timevar.def (TV_TREE_PARALLELIZE_LOOPS): New.
	* tree-ssa-loop.c (gate_tree_parallelize_loops, tree_parallelize_loops,
	pass_parallelize_loops): New.
	* common.opt (ftree-parallelize-loops): New.
	* tree-flow.h (omp_expand_local, tree_duplicate_sese_tail,
	parallelize_loops): Declare.
	(add_phi_args_after_copy, split_loop_exit_edge): Declaration changed.
	* Makefile.in (tree-parloops.o): Added.
	* tree-cfg.c (add_phi_args_after_copy_edge, tree_duplicate_sese_tail):
	New functions.
	(add_phi_args_after_copy_bb): Use add_phi_args_after_copy_edge.
	(add_phi_args_after_copy): Call add_phi_args_after_copy_edge for
	one extra edge as well.
	(tree_duplicate_sese_region): Add argument to add_phi_args_after_copy.
	Use VEC_free to free doms vector.
	(move_block_to_fn): Update loop info. Remove phi nodes for virtual
	operands.  Recompute operand caches in the new function.
	(move_sese_region_to_fn): Update loop info.
	* passes.c (init_optimization_passes): Add pass_parallelize_loops.
	* tree-ssa-operands.c (free_stmt_operands): New function.

	* doc/passes.texi: Document autoparallelization.
	* doc/invoke.texi (-ftree-parallelize-loops): New option.

	* gcc.dg/tree-ssa/parallelization-1.c: New test.

From-SVN: r128517
2007-09-15 21:53:45 +00:00
John David Anglin
2ae88ecd92 re PR target/33062 (ICE in emit_move_insn and expand_call with -fdefault-integer-8)
PR target/33062
	* pa.c (function_value): Use GET_MODE_BITSIZE instead of TYPE_PRECISION.

From-SVN: r128516
2007-09-15 19:30:50 +00:00
Dorit Nuzman
4934454bed tree-vect-transform.c (vect_get_vec_defs_for_stmt_copy): check if the VEC is not NULL.
* tree-vect-transform.c (vect_get_vec_defs_for_stmt_copy): check if
        the VEC is not NULL.
        (vectorizable_type_demotion, vectorizable_type_promotion): Check that
        get_vectype_for_scalar_type succeeded.
        (vectorizable_conversion): Likewise.

From-SVN: r128514
2007-09-15 18:24:23 +00:00
Tom Tromey
8a0c568f7d java-tree.h (struct lang_decl_func): Remove.
* java-tree.h (struct lang_decl_func) <function_decl_body>:
	Remove.
	<init_final>: Likewise.
	* lang.c (java_dump_tree): Update.
	* java-tree.h (DECL_FUNCTION_BODY): Remove.

From-SVN: r128513
2007-09-15 15:25:22 +00:00
Francois-Xavier Coudert
2515e5a7a0 re PR libfortran/21185 (Improve testsuite results on newlib targets)
PR libfortran/21185
	* runtime/compile_options.c (set_options): Fix typo.
	* runtime/main.c (store_exe_path): If getcwd is not available,
	don't use it.
	* intrinsics/getcwd.c: Same thing here.
	* io/unix.c (fallback_access): New fallback function for access.
	(fix_fd): Don't use dup if it's not available.
	* configure.ac: Check for dup and getcwd.
	* configure: Regenerate.
	* config.h.in: Regenerate.

From-SVN: r128512
2007-09-15 14:52:46 +00:00
GCC Administrator
7c4d947f29 Daily bump.
From-SVN: r128508
2007-09-15 00:17:05 +00:00
Benjamin Kosnik
c5654e49f0 base.h (__gnu_parallel::less<Tp>): Add partial specialization for one argument.
2007-09-14  Benjamin Kosnik  <bkoz@redhat.com>
        
	* include/parallel/base.h (__gnu_parallel::less<Tp>): Add partial
        specialization for one argument. 
	(__gnu_parallel::less): Add operator.

	* include/parallel/multiway_merge.h: Use __builtin_alloca. 
	* include/parallel/partial_sum.h: Same.
	* include/parallel/find.h: Same.

From-SVN: r128505
2007-09-14 20:37:25 +00:00
Jan Hubicka
3f225aabc7 i386.md (*floatdi<mode>2_i387): Guard against TARGET_64BIT.
2007-09-14  Jan Hubicka  <jh@suse.cz>

	* config/i386/i386.md (*floatdi<mode>2_i387): Guard against
	TARGET_64BIT.

From-SVN: r128504
2007-09-14 22:26:17 +02:00
Jonathan Wakely
e31fc6a531 boost_shared_ptr.h: (__weak_ptr::lock()): Add missing template argument.
2007-09-14  Jonathan Wakely  <jwakely.gcc@gmail.com>

	* include/tr1_impl/boost_shared_ptr.h: (__weak_ptr::lock()): Add
	missing template argument.
	* testsuite/tr1/2_general_utilities/shared_ptr/requirements/
	explicit_instantiation/2.cc: New.
	* testsuite/tr1/2_general_utilities/weak_ptr/requirements/
	explicit_instantiation/2.cc: New.

From-SVN: r128503
2007-09-14 21:17:29 +01:00
Uros Bizjak
21da84bd5e re PR target/33438 (ICE in cselib_record_set, at cselib.c:1515 on x86)
PR target/33438
        * config/i386/i386.md (fmodxf3): Copy operands[2] to temporary register
        when operands[2] equals operands[1].
        (remainderxf3): Ditto.

testsuite/ChangeLog:

        PR target/33438
        * gcc.target/i386/pr33438.c: New test.

From-SVN: r128502
2007-09-14 21:24:26 +02:00
Sandra Loosemore
56e449d39a tm.texi (LIBGCC2_UNWIND_ATTRIBUTE): Document.
2007-09-14  Sandra Loosemore  <sandra@codesourcery.com>
	    Nigel Stephens  <nigel@mips.com>

	gcc/
	* doc/tm.texi (LIBGCC2_UNWIND_ATTRIBUTE): Document.
	* unwind-generic.h (LIBGCC2_UNWIND_ATTRIBUTE): Define.
	(_Unwind_RaiseException): Add LIBGCC2_UNWIND_ATTRIBUTE to
	declaration.
	(_Unwind_ForcedUnwind): Likewise.
	(_Unwind_Resume): Likewise.
	(_Unwind_Resume_or_Rethrow): Likewise.
	(_Unwind_Backtrace): Likewise.
	(_Unwind_SjLj_RaiseException): Likewise.
	(_Unwind_SjLj_ForcedUnwind): Likewise.
	(_Unwind_SjLj_Resume): Likewise.
	(_Unwind_SjLj_Resume_or_Rethrow): Likewise.
	* unwind.inc (_Unwind_RaiseException): Add LIBGCC2_UNWIND_ATTRIBUTE
	to definition.
	(_Unwind_ForcedUnwind): Likewise.
	(_Unwind_Resume): Likewise.
	(_Unwind_Resume_or_Rethrow): Likewise.
	(_Unwind_Backtrace): Likewise.
	* unwind-compat.c (_Unwind_Backtrace): Likewise.
	(_Unwind_ForcedUnwind): Likewise.
	(_Unwind_RaiseException): Likewise.
	(_Unwind_Resume): Likewise.
	(_Unwind_Resume_or_Rethrow): Likewise.

	* config/mips/mips.h (LIBGCC2_UNWIND_ATTRIBUTE): Define to force
	nomips16 mode when IN_LIBGCC2 with hard float.

Co-Authored-By: Nigel Stephens <nigel@mips.com>

From-SVN: r128501
2007-09-14 14:35:12 -04:00
Benjamin Kosnik
c417817a85 all_pedantic_errors.cc: New.
2007-09-14  Benjamin Kosnik  <bkoz@redhat.com>

        * testsuite/17_intro/headers/all_pedantic_errors.cc: New.
        * include/tr1_impl/cinttypes: Add pragma GCC system_header.
        * include/tr1_impl/cfenv: Same.
        * include/tr1_impl/cstdint: Same.
        * include/tr1/cstdbool: Same.
        * include/ext/pb_ds/detail/resize_policy/
        hash_prime_size_policy_imp.hpp: Same.
        * include/parallel/partial_sum.h: Avoid VLA error with
        __builtin_alloca.

From-SVN: r128500
2007-09-14 17:46:56 +00:00
Richard Sandiford
5baa7f6f70 sdemtk.opt: Update to GPLv3.
gcc/
	* config/mips/sdemtk.opt: Update to GPLv3.
	* config/mips/sdemtk.h: Likewise.

From-SVN: r128499
2007-09-14 17:31:38 +00:00
Nigel Stephens
9303e5df58 config.gcc (mips*-*-linux*): Recognise mipsisa32r2 and set MIPS_ISA_DEFAULT appropriately.
gcc/
2007-09-14  Nigel Stephens  <nigel@mips.com>

	* config.gcc (mips*-*-linux*): Recognise mipsisa32r2 and set
	MIPS_ISA_DEFAULT appropriately.  Don't make soft-float the default
	for mipsisa32-*-linux*.

From-SVN: r128498
2007-09-14 17:30:27 +00:00
Alan Modra
fa9a3f31a0 configure.ac: Correct makeinfo version check.
* configure.ac: Correct makeinfo version check.
	* configure: Regenerate.

From-SVN: r128497
2007-09-15 01:12:18 +09:30
Richard Sandiford
6593a73e79 * MAINTAINERS: Update my email address.
From-SVN: r128496
2007-09-14 15:39:29 +00:00
Richard Sandiford
d9dced1370 configure.ac (mips*-sde-elf*): New stanza.
* configure.ac (mips*-sde-elf*): New stanza.  Add target-libiberty
	to $skipdirs and only disable gprof for newlib.  Use the normal
	mips*-elf* handling in other respects.
	* configure: Regnerate.

gcc/
2007-xx-xx  Nigel Stephens  <nigel@mips.com>
	    David Ung  <davidu@mips.com>
	    Thiemo Seufer  <ths@mips.com>
	    Richard Sandiford  <richard@codesourcery.com>

	* config.gcc (mips*-sde-elf*): Add support for the SDE C libraries.
	* configure.ac: Add a mipssde threading type.
	* configure: Regenerate.
	* config/mips/sdemtk.h: New file.
	* config/mips/t-sdemtk: Likewise.
	* config/mips/sdemtk.opt: Likewise.
	* gthr-mipssde.h: Likewise.
	* config/mips/sde.h (FUNCTION_PROFILER): Move to config/mips/sdemtk.h.
	* config/mips/mips.h (MIPS_SAVE_REG_FOR_PROFILING_P): New macro.
	(MIPS_ICACHE_SYNC): New macro, split from ...
	* config/mips/mips.md (clear_cache): ...here.
	* config/mips/mips.c (mips_save_reg_p): Check
	MIPS_SAVE_REG_FOR_PROFILING_P on profiled functions.
	(build_mips16_function_stub): Use targetm.strip_name_encoding.
	(build_mips16_call_stub): Likewise.

libstdc++-v3/
2007-xx-xx  Thiemo Seufer  <ths@mips.com>

	* crossconfig.m4 (mips*-sde-elf*): New stanza.
	* configure: Regenerate.

From-SVN: r128495
2007-09-14 14:50:26 +00:00
Francois-Xavier Coudert
ea4ba34285 * gfortran.dg/nint_2.f90: Revert previous commit.
From-SVN: r128494
2007-09-14 14:34:02 +00:00
Richard Sandiford
d6aec9aaac Makefile.in (stmp-int-hdrs): Depend on fixinc_list.
gcc/
	* Makefile.in (stmp-int-hdrs): Depend on fixinc_list.

From-SVN: r128493
2007-09-14 14:30:33 +00:00
Francois-Xavier Coudert
7181464ad1 * gfortran.dg/nint_2.f90: Do not xfail on powerpc64-linux.
From-SVN: r128491
2007-09-14 12:55:17 +00:00
Jakub Jelinek
2951f79b35 re PR target/32337 (Error: Register number out of range 0..1)
PR target/32337
	* config/ia64/ia64.c (find_gr_spill): Don't decrement
	current_frame_info.n_local_regs.  Don't return emitted local
	regs.
	(ia64_compute_frame_size): Improve unwind hack to put
	RP, PFS, FP in that order by allowing some of the registers
	been already emitted, as long as they are emitted to the
	desired register.

From-SVN: r128490
2007-09-14 11:56:59 +02:00
Hans-Peter Nilsson
6adf1bd514 re PR debug/33429 (debug info for class2 in g++.dg/other/unused1.C requires -femit-class-debug-always)
PR debug/33429
	* g++.dg/other/unused1.C: XFAIL class2 scan.

From-SVN: r128489
2007-09-14 06:48:17 +00:00
Jason Merrill
4f4141ffe2 PR c++/17743, c++/19163
PR c++/17743, c++/19163
        * decl2.c (is_late_template_attribute): New fn.
        (splice_template_attributes, save_template_attributes): New fns.
        (cplus_decl_attributes): Call save_template_attributes.
        * pt.c (apply_late_template_attributes): New fn.
        (instantiate_class_template, tsubst_decl): Use it.
        * cp-tree.h: Declare is_late_template_attribute.

From-SVN: r128488
2007-09-14 02:07:25 -04:00
Ulrich Weigand
d9933b9d64 vmx2spu.h (vec_extract, [...]): New intrinsics.
* config/spu/vmx2spu.h (vec_extract, vec_insert, vec_lvlx,
	vec_lvlxl, vec_lvrx, vec_lvrxl, vec_promote, vec_splats,
	vec_stvlx, vec_stvlxl, vec_stvrx, vec_stvrxl): New intrinsics.

From-SVN: r128487
2007-09-14 14:24:25 +10:00
GCC Administrator
d4caa5795f Daily bump.
From-SVN: r128484
2007-09-14 00:16:58 +00:00
Eric Christopher
8660aaae7a dse.c (find_shift_sequence): New function.
2007-09-13  Eric Christopher  <echristo@apple.com>
	    Kenneth Zadeck <zadeck@naturalbridge.com>

	* dse.c (find_shift_sequence): New function.
	(replace_read): Add case to remove read if it requires shift.
	* config/i386/i386.c (ix86_expand_prologue): Fixed typo in comment.
	


Co-Authored-By: Kenneth Zadeck <zadeck@naturalbridge.com>

From-SVN: r128481
2007-09-14 00:06:00 +00:00
Tom Tromey
46c2514e82 c-common.c (fname_as_string): Update.
gcc
	* c-common.c (fname_as_string): Update.
	* c-parser.c (c_parser) <lex_untranslated_string>: New field.
	(c_lex_one_token): Update.  Add 'parser' argument.
	(c_parser_simple_asm_expr): Update.
	(c_parser_attributes): Update.
	(c_parser_asm_statement): Update.
	(c_parser_asm_operands): Update.
	(c_parser_peek_token): Update.
	(c_parser_peek_2nd_token): Update.
	* c-lex.c (c_lex_string_translate): Remove.
	(c_lex_return_raw_strings): Likewise.
	(c_lex_with_flags): Added 'lex_flags' argument.
	(lex_string): Added 'translate' argument.
	* c-pragma.h (c_lex_with_flags): Update.
	(c_lex_string_translate, c_lex_return_raw_strings): Remove.
	(C_LEX_STRING_NO_TRANSLATE): New define.
	(C_LEX_RAW_STRINGS): Likewise.
gcc/cp
	* parser.c (cp_lexer_new_main): Don't use
	c_lex_return_raw_strings.
	(cp_lexer_get_preprocessor_token): Update.  Add special case when
	lexer is NULL.

From-SVN: r128479
2007-09-13 20:18:38 +00:00
Thomas Koenig
76896993c2 iresolve.c (resolve_mask_arg): If a mask is an array expression, convert it to kind=1.
2007-09-13  Thomas Koenig  <tkoenig@gcc.gnu.org>

	* iresolve.c (resolve_mask_arg): If a mask is an array
	expression, convert it to kind=1.

From-SVN: r128477
2007-09-13 19:02:31 +00:00
Bernd Schmidt
1d7d5ac4e8 From Jie Zhang:
* config/bfin/bfin.c (enum bfin_builtins): Add BFIN_BUILTIN_ONES,
	BFIN_BUILTIN_CPLX_MUL_16_S40, BFIN_BUILTIN_CPLX_MAC_16_S40,
	BFIN_BUILTIN_CPLX_MSU_16_S40, and BFIN_BUILTIN_CPLX_SQU.
	(bfin_init_builtins): Initialize __builtin_bfin_ones,
	__builtin_bfin_min_fr1x16, __builtin_bfin_max_fr1x16,
	__builtin_bfin_min_fr1x32, __builtin_bfin_max_fr1x32,
	__builtin_bfin_cmplx_add, __builtin_bfin_cmplx_sub,
	__builtin_bfin_cmplx_mul_s40, __builtin_bfin_cmplx_mac_s40,
	__builtin_bfin_cmplx_msu_s40 and __builtin_bfin_csqu_fr16.
	(bdesc_1arg): Add __builtin_bfin_ones.
	(bfin_expand_builtin): Expand __builtin_bfin_cmplx_mul_s40,
	__builtin_bfin_cmplx_mac_s40, __builtin_bfin_cmplx_msu_s40,
	and __builtin_bfin_csqu_fr16.
	* config/bfin/bfin.md (UNSPEC_ONES): New constant.
	(ones): New define_insn.
	(ssaddhi3_parts): New define_insn.
	(sssubhi3_parts): New define_insn.
	(flag_mulhi_parts): New define_insn.

From-SVN: r128475
2007-09-13 18:27:28 +00:00
Seongbae Park
eae8e4741e common.opt (femit-class-debug-always): Turn off by default.
2007-09-13  Seongbae Park <seongbae.park@gmail.com>

	* common.opt (femit-class-debug-always): Turn off by default.

From-SVN: r128474
2007-09-13 18:25:33 +00:00
Tobias Burnus
3c7b91d3dc re PR fortran/33343 (ICE (segfault) on invalid code with wrongly shaped arguments to elemental procedures)
2007-09-13  Tobias Burnus  <burnus@net-b.de>

	PR fortran/33343
	* expr.c (gfc_check_conformance): Print ranks in the error message.
	* resolve.c (resolve_elemental_actual): Check also conformance of
	the actual arguments for elemental functions.

2007-09-13  Tobias Burnus  <burnus@net-b.de>

	PR fortran/33343
	* gfortran.dg/elemental_args_check_1.f90: New.
	* gfortran.dg/assumed_size_refs_1.f90: Update error message.
	* gfortran.dg/elemental_subroutine_4.f90: Ditto.

From-SVN: r128473
2007-09-13 20:08:04 +02:00
Tobias Burnus
10a6db6ef3 symbol.c (gfc_add_elemental,gfc_add_pure,gfc_add_recursive): Allow prefixes only to be specified once.
2007-09-13  Tobias Burnus  <burnus@net-b.de>

	* symbol.c (gfc_add_elemental,gfc_add_pure,gfc_add_recursive):
	Allow prefixes only to be specified once.

2007-09-13  Tobias Burnus  <burnus@net-b.de>

	* gfortran.dg/recursive_check_3.f90: New.

From-SVN: r128472
2007-09-13 20:03:39 +02:00
Tobias Burnus
e3bfd8f416 re PR fortran/33412 (Bind(C): ELEMENTAL procedure conflicts with BIND(C))
2007-09-13  Tobias Burnus  <burnus@net-b.de>

	PR fortran/33412
	* symbol.c (check_conflict): Add conflict of ELEMENTAL with Bind(C).

2007-09-13  Tobias Burnus  <burnus@net-b.de>

	PR fortran/33412
	* gfortran.dg/elemental_bind_c.f90: New.

From-SVN: r128471
2007-09-13 19:58:10 +02:00
Bernd Schmidt
6ed44ca10a bfin.md (reload_outpdi, [...]): New patterns.
* config/bfin/bfin.md (reload_outpdi, reload_inpdi): New patterns.
	* config/bfin/bfin.c (bfin_secondary_reload): Make sure we use them.

From-SVN: r128470
2007-09-13 17:16:29 +00:00
James E Wilson
468b40bcb9 re PR tree-optimization/33389 (Revision 128239 causes libgomp failure)
2007-09-13  James E. Wilson  <wilson@specifix.com>

	PR tree-optimization/33389
	* tree-ssa-operands.c (append_vuse): If ann->in_vdef_list true,
	then set build_loads before returning.

From-SVN: r128469
2007-09-13 09:33:49 -07:00
Sandra Loosemore
f29adf5b7b mips.h (ASM_OUTPUT_REG_PUSH): Replace {d}subu with {d}addiu and a negative immediate such that it works with...
2007-09-13  Sandra Loosemore  <sandra@codesourcery.com>
	    David Ung  <davidu@mips.com>

	gcc/
	* config/mips/mips.h (ASM_OUTPUT_REG_PUSH): Replace {d}subu with
	{d}addiu and a negative	immediate such that it works with MIPS16
	instructions.

Co-Authored-By: David Ung <davidu@mips.com>

From-SVN: r128468
2007-09-13 10:54:12 -04:00
H.J. Lu
1f1752ec46 re PR bootstrap/33418 ([4.1/4.2/4.3]: Gcc failed to detect HJL's binutils linker)
2007-09-13  H.J. Lu  <hongjiu.lu@intel.com>

	PR bootstrap/33418
	* configure.ac (ld_vers): Support Linux linker.
	* configure: Regenerated.

From-SVN: r128465
2007-09-13 07:12:37 -07:00
Robert Dewar
160c50657b Implement pragma Compiler_Unit and adds it to relevant library units.
From-SVN: r128461
2007-09-13 14:52:18 +02:00
Richard Sandiford
9a6dfb4739 mips.h (SYMBOL_FLAG_MIPS16_FUNC): Delete.
gcc/
2007-09-13  Richard Sandiford  <richard@codesourcery.com>
	    Sandra Loosemore <sandra@codesourcery.com>

	* config/mips/mips.h (SYMBOL_FLAG_MIPS16_FUNC): Delete.
	(SYMBOL_REF_MIPS16_FUNC_P): Delete.
	* config/mips/mips.c (mips_attribute_table): Turn mips16 and
	nomips16 into decl attributes.
	(TARGET_INSERT_ATTRIBUTES): Override.
	(TARGET_MERGE_DECL_ATTRIBUTES): Likewise.
	(TARGET_FUNCTION_ATTRIBUTE_INLINABLE_P): Always return true.
	(mips_mips16_type_p, mips_nomips16_type_p): Delete in favor of...
	(mips_mips16_decl_p, mips_nomips16_decl_p): ...these new functions.
	(mips_comp_type_attributes): Remove mips16 and nomips16 handling.
	(mips_use_mips16_mode_p): Reimplement as a function that takes
	a decl and considers only decl attributes.  If the decl is nested
	function, use its parent attributes.
	(mips_function_ok_for_sibcall): Use mips_use_mips16_mode_p
	instead of SYMBOL_REF_MIPS16_FUNC_P.
	(mips_set_mips16_mode): Move call to sorry here from old
	mips_use_mips16_mode_p.
	(mflip_mips16_entry): New structure.
	(mflip_mips16_htab): New variable.
	(mflip_mips16_htab_hash, mflip_mips16_htab_eq): New functions.
	(mflip_mips16_use_mips16_p, mips_insert_attributes): Likewise.
	(mips_merge_decl_attributes): New function.
	(mips_set_current_function): Reinstate call to mips_set_mips16_mode.
	Use mips_use_mips16_mode_p.
	(mips_output_mi_thunk): Use mips_use_mips16_mode_p instead of
	SYMBOL_REF_MIPS16_FUNC_P.
	(mips_encode_section_info): Don't set SYMBOL_FLAG_MIPS16_FUNC.

gcc/testsuite/
	* gcc.dg/gcc-have-sync-compare-and-swap.c: Skip for -mflip-mips16.
	* gcc.target/mips/mips16-attributes-2.c: New test.
	* gcc.target/mips/mips16-attributes-3.c: Likewise.
	* gcc.target/mips/args-3.c: Skip for -mflip-mips16.  Do not use the
	hard-float asm when __mips16 is defined.
	* gcc.target/mips/atomic-memory-1.c (main): Add a nomips16 attribute.
	* gcc.target/mips/atomic-memory-2.c (main): Likewise.
	* gcc.target/mips/fpcmp-1.c (f1, f2): Likewise.
	* gcc.target/mips/fpcmp-2.c (f1, f2): Likewise.
	* gcc.target/mips/neg-abs-1.c (f1, f2, d1, f2): Likewise.
	* gcc.target/mips/pr26765.c (foo): Likewise.
	* gcc.target/mips/gcc-have-sync-compare-and-swap-1.c: Run for all
	targets, use dg-mips-options instead of dg-options, and use -mgp32
	to force 32-bit mode.
	* gcc.target/mips/gcc-have-sync-compare-and-swap-2.c: Likewise -mgp64
	and 64-bit mode.
	* gcc.target/mips/mips.exp (is_gp32_flag): Return true for -mips32*.

Co-Authored-By: Sandra Loosemore <sandra@codesourcery.com>

From-SVN: r128460
2007-09-13 12:44:10 +00:00
Richard Sandiford
0ad7e05421 c-parser.c (c_parser_struct_declaration): Check for a null return.
gcc/
	* c-parser.c (c_parser_struct_declaration): Check for a null return.

From-SVN: r128459
2007-09-13 12:27:00 +00:00
François-Xavier Coudert
e9c15f6eaa re PR bootstrap/33309 (gcc.c:6236: error: passing argument 1 of 'xputenv' discards qualifiers from pointer target type)
PR driver/33309
	* gcc.c (xputenv): Make argument const, and use CONST_CAST.

From-SVN: r128457
2007-09-13 10:10:11 +00:00
Michael Meissner
04e1d06b79 Add AMD SSE5 support; Add iterator over function arguments; Add stdarg_p, prototype_p, function_args_count functions
From-SVN: r128455
2007-09-13 02:17:51 +00:00