Commit Graph

87366 Commits

Author SHA1 Message Date
Xinliang David Li 30da41ed0e Check in tree-dce enh to trunk
From-SVN: r135463
2008-05-17 07:36:10 +00:00
David S. Miller b61eacd60f linux.h (NO_PROFILE_COUNTERS): Undef before overriding.
* config/sparc/linux.h (NO_PROFILE_COUNTERS): Undef before
	overriding.
	* config/sparc/linux64.h (NO_PROFILE_COUNTERS): Likewise.

From-SVN: r135459
2008-05-16 17:19:28 -07:00
GCC Administrator 7da05a2af3 Daily bump.
From-SVN: r135457
2008-05-17 00:17:32 +00:00
Benjamin Kosnik 70593ad2f1 system_error: Align to current draft specifications.
2008-05-16  Benjamin Kosnik  <bkoz@redhat.com>

	* include/std/system_error: Align to current draft specifications.
	* src/system_error.cc: Same.
	* src/functexcept.cc: Adjust for corrected system_error construction.
	* include/std/ostream: Adjust error_code inserter.
	* acinclude.m4 (GLIBCXX_CHECK_SYSTEM_ERROR): Remove sys_nerr test.
	* config/abi/pre/gnu.ver: Add new exports.
	
	* testsuite/util/testsuite_error.h: Consolidate error testing
	utilities here.
	* testsuite/19_diagnostics/error_code/cons/1.cc: Use
	testsuite_error, adjust line numbers and constructor calls.
	* testsuite/19_diagnostics/error_code/operators/equal.cc: Same.
	* testsuite/19_diagnostics/error_code/operators/not_equal.cc: Same.
	* testsuite/19_diagnostics/error_category/cons/copy_neg.cc: Same.
	* testsuite/19_diagnostics/error_category/cons/default.cc: Same.
	* testsuite/19_diagnostics/error_category/operators/equal.cc: Same.
	* testsuite/19_diagnostics/error_category/operators/not_equal.cc: Same.
	* testsuite/19_diagnostics/system_error/cons_virtual_derivation.cc: 
	Same.
	* testsuite/19_diagnostics/system_error/cons-1.cc: Same.
	* testsuite/19_diagnostics/system_error/what-1.cc: Same.
	* testsuite/19_diagnostics/system_error/what-2.cc: Same.
	* testsuite/19_diagnostics/system_error/what-big.cc: Same.
	* testsuite/19_diagnostics/system_error/what-3.cc: Same.
	* testsuite/19_diagnostics/system_error/what-4.cc: Same.

From-SVN: r135446
2008-05-16 21:55:00 +00:00
Paul Thomas ae772c2de3 re PR fortran/35756 (incorrect WHERE for functions in ELSEWHERE and overlaps)
2008-05-16  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/35756
	PR fortran/35759
	* trans-stmt.c (gfc_trans_where): Tighten up the dependency
	check for calling gfc_trans_where_3.

	PR fortran/35743
	* trans-stmt.c (gfc_trans_where_2): Set the mask size to zero
	if it is calculated to be negative.

	PR fortran/35745
	* trans-stmt.c (gfc_trans_where_3, gfc_trans_where_assign): Set
	ss->where for scalar right hand sides.
	* trans-array.c (gfc_add_loop_ss_code): If ss->where is set do
	not evaluate scalars outside the loop.  Clean up whitespace.
	* trans.h : Add a bitfield 'where' to gfc_ss.

2008-05-16  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/35756
	PR fortran/35759
	* gfortran.dg/where_1.f90: New test.

	PR fortran/35743
	PR fortran/35745
	* gfortran.dg/where_2.f90: New test.

From-SVN: r135443
2008-05-16 21:12:04 +00:00
Tobias Burnus a4cd1610ea libgfortran.h: Increase GFC_MAX_DIMENSIONS to 15.
2008-05-16  Tobias Burnus  <burnus@net-b.de>

        * libgfortran.h: Increase GFC_MAX_DIMENSIONS to 15.
        * array.c (gfc_match_array_spec): Error with -std=f2003 if rank > 7.

2008-05-16  Tobias Burnus  <burnus@net-b.de>

        * gfortran.dg/rank_1.f90
        * gfortran.dg/rank_2.f90

From-SVN: r135442
2008-05-16 23:05:08 +02:00
Jerry DeLisle e864c0c313 [multiple changes]
2008-05-16  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	* gfortran.dg/missing_parens_1.f90: Update test.
	* gfortran.dg/fmt_t_7.f: Update test.

2008-05-16  Steven G. Kargl  <kargls@comcast.net>

	* gfortran.dg/int_3.f90: New test.
	* gfortran.dg/and_or_xor.f90: New test.

From-SVN: r135441
2008-05-16 20:20:08 +00:00
Daniel Kraft c03fc95db3 re PR fortran/27997 (Fortran 2003: Support type-spec for array constructor)
2008-04-16  Daniel Kraft  <d@domob.eu>

        PR fortran/27997
        * gfortran.h:  Added field "length_from_typespec" to gfc_charlength.
        * aray.c (gfc_match_array_constructor):  Added code to parse
        * typespec.
        (check_element_type, check_constructor_type, gfc_check_constructor_type):
        Extended to support explicit typespec on constructor.
        (gfc_resolve_character_array_constructor):  Pad strings correctly for
        explicit, constant character length.
        * trans-array.c:  New static global variable
        * "typespec_chararray_ctor"
        (gfc_trans_array_constructor):  New code to support explicit but dynamic
        character lengths.

2008-04-16  Daniel Kraft  <d@domob.eu>

        PR fortran/27997
        * gfortran.dg/array_constructor_type_1.f03:  New test
        * gfortran.dg/array_constructor_type_2.f03:  New test
        * gfortran.dg/array_constructor_type_3.f03:  New test
        * gfortran.dg/array_constructor_type_4.f03:  New test
        * gfortran.dg/array_constructor_type_5.f03:  New test
        * gfortran.dg/array_constructor_type_6.f03:  New test
        * gfortran.dg/array_constructor_type_7.f03:  New test
        * gfortran.dg/array_constructor_type_8.f03:  New test
        * gfortran.dg/array_constructor_type_9.f:  New test
        * gfortran.dg/array_constructor_type_10.f03:  New test
        * gfortran.dg/array_constructor_type_11.f03:  New test
        * gfortran.dg/array_constructor_type_12.f03:  New test
        * gfortran.dg/array_constructor_type_13.f90:  New test
        * gfortran.dg/array_constructor_type_14.f03:  New test
        * gfortran.dg/array_constructor_type_15.f03:  New test
        * gfortran.dg/array_constructor_type_16.f03:  New test
        * gfortran.dg/array_constructor_type_17.f03:  New test
        * gfortran.dg/array_constructor_type_18.f03:  New test

From-SVN: r135439
2008-05-16 21:50:04 +02:00
Uros Bizjak c62b365920 re PR target/36246 (Reload chooses too wide mode for reg->mem->xmmreg reload)
PR target/36246
	* config/i386/i386.h (SECONDARY_MEMORY_NEEDED_MODE): New define.

testsuite/ChangeLog:

	PR target/36246
	* gcc.target/i386/pr36246.c: New test.

From-SVN: r135437
2008-05-16 20:34:04 +02:00
Janne Blomqvist 44e3566704 Rotate ChangeLog, hopefully restoring svn blame history for older commits.
From-SVN: r135436
2008-05-16 21:25:27 +03:00
Janne Blomqvist 8947fd62fa Part 1.1 of PR25561.
2008-05-15  Janne Blomqvist  <jb@gcc.gnu.org>

	PR libfortran/25561
	* io/io.h (struct fbuf): Change pointer to position offset.
	* io/fbuf.c (fbuf_init): Reduce default size of buffer, ptr=>pos
	changes.
	(fbuf_reset): ptr=>pos changes.
	(fbuf_alloc): If the request doesn't fit, don't waste memory by
	keeping flushed bytes. ptr=>pos changes.
	(fbuf_flush): ptr=>pos changes.
	(fbuf_seek): Don't seek past the left tab limit, don't update active
	byte count.
	* io/open.c (new_unit): If RECL has been specified, used that as
	initial buffer size.

From-SVN: r135433
2008-05-16 20:42:44 +03:00
Janne Blomqvist 65686652e4 Fix fallout from part 1 of PR25561 patch.
2008-05-16  Janne Blomqvist  <jb@gcc.gnu.org>

        PR libfortran/35632
        * io/open.c (new_unit): Set stream position to correct value.

From-SVN: r135432
2008-05-16 20:37:30 +03:00
Jerry DeLisle acb388a0cb re PR fortran/34325 (Wrong error message for syntax error)
2008-05-16  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

    PR fortran/34325
    * decl.c (match_attr_spec): Check for matching pairs of parenthesis.
    * expr.c (gfc_specification_expr): Supplement the error message with the
    type that was found.
    * resolve.c (gfc_resolve_index): Likewise.
    * match.c (gfc_match_parens): Clarify error message with "at or before".
    (gfc_match_do): Check for matching pairs of parenthesis.

From-SVN: r135428
2008-05-16 16:44:28 +00:00
Tobias Burnus d132593258 intrinsic.texi: Write Fortran 77/90/95 instead of F77/90/95...
2008-05-16  Tobias Burnus  <burnus@net-b.de

        * intrinsic.texi: Write Fortran 77/90/95 instead of F77/90/95;
        add missing KIND argument to ACHAR and NINT; and state that
        the KIND argument is a F2003 extension for ACHAR, COUNT, IACHAR,
        ICHAR, INDEX, LBOUND, LEN, LEN_TRIM, SCAN, SIZE, UBOUND, VERIFY.

From-SVN: r135427
2008-05-16 18:29:36 +02:00
Sebastian Pop b3924be971 re PR tree-optimization/36228 (redundant runtime check while vectorizing)
2008-05-16  Sebastian Pop  <sebastian.pop@amd.com>
	    Jan Sjodin  <jan.sjodin@amd.com>

	PR tree-optimization/36228
	* tree-data-ref.c (initialize_data_dependence_relation): Fast dependence
	test when the references are the same, call compute_self_dependence.
	* tree-data-ref.h (struct data_dependence_relation): Add self_reference_p.
	(DDR_SELF_REFERENCE): New.

	* testsuite/gcc.dg/vect/pr36228.c: New.


Co-Authored-By: Jan Sjodin <jan.sjodin@amd.com>

From-SVN: r135426
2008-05-16 16:02:02 +00:00
Hans-Peter Nilsson 5b7971f01c f2003_io_4.f03, [...]: Gate test on effective_target fd_truncate.
* gfortran.dg/f2003_io_4.f03, gfortran.dg/f2003_io_5.f03,
	gfortran.dg/f2003_io_7.f03, gfortran.dg/namelist_45.f90,
	gfortran.dg/namelist_46.f90, gfortran.dg/namelist_47.f90,
	gfortran.dg/f2003_io_1.f03: Gate test on effective_target
	fd_truncate.
	* gfortran.dg/fmt_t_7.f: Ditto.  Apply dos2unix.

From-SVN: r135423
2008-05-16 14:07:37 +00:00
Kenneth Zadeck 07b5bc8307 ifcvt.c (dead_or_predicable): Rename df_simulate_one_insn_backwards to df_simulate_one_insn.
2008-05-16  Kenneth Zadeck <zadeck@naturalbridge.com>

	* ifcvt.c (dead_or_predicable): Rename
	df_simulate_one_insn_backwards to df_simulate_one_insn.
	* recog.c (peephole2_optimize): Ditto.
	* rtl-factoring.c (collect_pattern_seqs, clear_regs_live_in_seq): 
	Ditto.
	* df.h: Rename df_simulate_one_insn_backwards to
	df_simulate_one_insn.  and delete df_simulate_one_insn_forwards.
	* df-problems.c (df_simulate_artificial_refs_at_top) Reversed
	scanning of defs and uses.
	(df_simulate_one_insn_backwards): Renamed to df_simulate_one_insn.
	(df_simulate_one_insn_forwards): Removed.

From-SVN: r135422
2008-05-16 13:54:34 +00:00
Doug Kwan f1f07a96da real.c (real_to_decimal, [...]): Distinguish QNaN & SNaN.
2008-05-16  Doug Kwan  <dougkwan@google.com>

	* real.c (real_to_decimal, real_to_hexadecimal): Distinguish
	QNaN & SNaN.
	(real_from_string): Handle NaNs and Inf as approriate.

From-SVN: r135421
2008-05-16 09:41:24 -04:00
Diego Novillo 105f48aedd [multiple changes]
2008-05-16  Nathan Froyd  <froydnj@codesourcery.com>

	* doc/gty.texi (Source Files Containing Type Information): Note
	that headers should appear first in the gtfiles list.

2008-05-16  Kenneth Zadeck <zadeck@naturalbridge.com>

	* tree.def (COND_EXEC): Properly documented this code.

2008-05-16  Diego Novillo  <dnovillo@google.com>

	* dwarf2asm.c (dw2_assemble_integer): Clarify comment.
	* tree-nested.c (get_trampoline_type): Set DECL_CONTEXT for
	the new field.

From-SVN: r135420
2008-05-16 09:40:25 -04:00
Kenneth Zadeck 908ff6a3eb tree-ssa-dse (max_stmt_uid): Removed.
2008-05-16  Kenneth Zadeck <zadeck@naturalbridge.com>

	* tree-ssa-dse (max_stmt_uid): Removed.
	(get_stmt_uid, dse_possible_dead_store_p, dse_optimize_stmt, 
	tree_ssa_dse): Encapsulate all uses of stmt_ann->uid.
	* tree-ssa-sccvn.c (compare_ops, init_scc_vn): Ditto.
	* function.h (cfun.last_stmt_uid): New field.
	* tree-flow-inline.h (set_gimple_stmt_uid, gimple_stmt_uid,
	gimple_stmt_max_uid, set_gimple_stmt_max_uid, 
	inc_gimple_stmt_max_uid): New functions.
	* tree-dfa.c (renumber_gimple_stmt_uids): New function.
	(create_stmt_ann): Initialize the ann->uid field.
	* tree-ssa-pre.c (compute_avail): Encapsulate the stmt_ann->uid
	with new calls.
	* tree-flow.h (renumber_gimple_stmt_uids): New function.

From-SVN: r135419
2008-05-16 09:38:13 -04:00
Diego Novillo 9defb1fe37 [multiple changes]
2008-05-16  Nathan Froyd  <froydnj@codesourcery.com>

	* tree-flow.h (init_empty_tree_cfg_for_function): Declare.
	* tree-cfg.c (init_empty_tree_cfg_for_function): Define.
	(init_empty_tree_cfg): Call it.

2008-05-16  Kenneth Zadeck <zadeck@naturalbridge.com>

	* cfg.c (init_flow): Add argument THE_FUN.  Use it
	instead of cfun.  Update all users.

From-SVN: r135418
2008-05-16 09:36:26 -04:00
Kenneth Zadeck 3e894af156 invoke.text (-fdump-tree-*-verbose): New option.
2008-05-16  Kenneth Zadeck <zadeck@naturalbridge.com>

	* doc/invoke.text (-fdump-tree-*-verbose): New option.
	* tree-dump.c (dump_options): New verbose option.
	* tree-pretty-print.c (dump_phi_nodes, dump_generic_bb_buff):
	Add verbose dump.
	* tree-pass.h (TDF_VERBOSE): New dump flag.
	* print-tree.c (print_node): Added code to be able to print
	PHI_NODES.
	(tree-flow.h): Added include.
	Makefile.in (print-tree.o):  Added TREE_FLOW_H.

From-SVN: r135417
2008-05-16 09:34:34 -04:00
Bernd Schmidt 4fc4d8507e bfin.c (bfin_discover_loops): Delete empty loops.
* config/bfin/bfin.c (bfin_discover_loops): Delete empty loops.

From-SVN: r135414
2008-05-16 11:03:23 +00:00
Bernd Schmidt 1686960610 From Jie Zhang <jie.zhang@analog.com>
* config/bfin/t-bfin-elf (MULTILIB_OPTIONS, MULTILIB_DIRNAMES,
	MULTILIB_MATCHES, MULTILIB_EXCEPTIONS): Remove mcpu=bf532-0.3,
	mcpu=bf561-none and mcpu=bf561-0.2.
	* config/bfin/t-bfin-uclinux (MULTILIB_OPTIONS, MULTILIB_DIRNAMES,
	MULTILIB_MATCHES, MULTILIB_EXCEPTIONS): Likewise.
	* config/bfin/t-bfin-linux (MULTILIB_OPTIONS, MULTILIB_DIRNAMES,
	MULTILIB_MATCHES, MULTILIB_EXCEPTIONS): Likewise.
	* config/bfin/bfin-protos.h (enum bfin_cpu_type): Add
	BFIN_CPU_UNKNOWN.
	* config/bfin/elf.h (STARTFILE_SPEC): Use specific CRT for
	BF561.
	(LIB_SPEC): Use proper linker script for bf561.  Error if no mcpu
	option.
	* config/bfin/bfin.c (bfin_cpu_type): Set to BFIN_CPU_UNKNOWN.
	(cputype_selected): Remove.
	(bfin_handle_option): Don't use cputype_selected.
	(override_options): When no mcpu option, enable all workarounds.
	Don't use bfin_workarounds.
	* config/bfin/bfin.h (DRIVER_SELF_SPECS): Don't set default
	processor type.
	(DEFAULT_CPU_TYPE): Don't define.

From-SVN: r135413
2008-05-16 10:28:50 +00:00
Richard Guenther d0569f9fd3 tree-ssa-propagate.c (substitute_and_fold): Fix stmt walking on deletion of the last stmt.
2008-05-16  Richard Guenther  <rguenther@suse.de>

	* tree-ssa-propagate.c (substitute_and_fold): Fix stmt walking
	on deletion of the last stmt.

From-SVN: r135412
2008-05-16 08:38:12 +00:00
Johannes Singler 36fc59580b parallel_mode.xml: Documented the new choices, factoring out common tags.
2008-05-16  Johannes Singler  <singler@ira.uka.de>

         * doc/xml/manual/parallel_mode.xml:
         Documented the new choices, factoring out common tags.
         * include/parallel/multiway_merge.h:
         Place comparison functor at the end, to comply with
         established convention.
         (parallel_multiway_merge) Pass number of threads explicitly.
         Introduce new compile-time variants, make exact splitting the
         default.
         * include/parallel/tags.h:
         Extend exact_tag, introduce sampling_tag.
         * include/parallel/merge.h:
         (parallel_merge_advance) Adapt to changed interface.
         * include/parallel/multiway_mergesort.h: Likewise.

From-SVN: r135411
2008-05-16 07:10:26 +00:00
Daniel Kraft fa9290d3b9 primary.c: New private structure "gfc_structure_ctor_component".
2008-05-16  Daniel Kraft  <d@domob.eu>

        * primary.c:  New private structure "gfc_structure_ctor_component".
        (gfc_free_structure_ctor_component):  New helper function.
        (gfc_match_structure_constructor):  Extended largely to support named
        arguments and default initialization for structure constructors.

2008-05-16  Daniel Kraft  <d@domob.eu>

        * gfortran.dg/private_type_6.f90:  Adapted expected error messages.
        * gfortran.dg/structure_constructor_1.f03:  New test.
        * gfortran.dg/structure_constructor_2.f03:  New test.
        * gfortran.dg/structure_constructor_3.f03:  New test.
        * gfortran.dg/structure_constructor_4.f03:  New test.
        * gfortran.dg/structure_constructor_5.f03:  New test.
        * gfortran.dg/structure_constructor_6.f03:  New test.
        * gfortran.dg/structure_constructor_7.f03:  New test.
        * gfortran.dg/structure_constructor_8.f03:  New test.
        * gfortran.dg/structure_constructor_9.f90:  New test.

From-SVN: r135410
2008-05-16 08:52:14 +02:00
H.J. Lu d0208f9b64 i386.c (ix86_expand_vector_init_general): Optimize V8HImode for SSE2 and V16QImode for SSE4.1.
gcc/

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

	* config/i386/i386.c (ix86_expand_vector_init_general): Optimize
	V8HImode for SSE2 and V16QImode for SSE4.1.

gcc/testsuite/

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

	* gcc.target/i386/m128-check.h: New.
	* gcc.target/i386/set-v16qi-1.h: Likewise.
	* gcc.target/i386/set-v16qi-2.h: Likewise.
	* gcc.target/i386/set-v8hi-1.h: Likewise.
	* gcc.target/i386/set-v8hi-2.h: Likewise.
	* gcc.target/i386/sse2-set-v16qi-1.c: Likewise.
	* gcc.target/i386/sse2-set-v16qi-2.c: Likewise.
	* gcc.target/i386/sse2-set-v8hi-1.c: Likewise.
	* gcc.target/i386/sse2-set-v8hi-2.c: Likewise.
	* gcc.target/i386/sse4_1-set-v16qi-1.c: Likewise.
	* gcc.target/i386/sse4_1-set-v16qi-2.c: Likewise.

	* gcc.target/i386/sse2-check.h: Include m128-check.h. Don't
	include <stdio.h>.
	* gcc.target/i386/sse4_1-check.h: Likewise.

From-SVN: r135409
2008-05-15 23:19:39 -07:00
Steven G. Kargl d93712d9ff [multiple changes]
2008-05-15  Steven G. Kargl  <kargls@comcast.net>

	* simplify.c (gfc_simplify_dble, gfc_simplify_float,
	simplify_bound, gfc_simplify_nearest, gfc_simplify_real): Plug
	possible memory leaks.
	(gfc_simplify_reshape): Plug possible memory leaks and dereferencing
	of NULL pointers.

2008-05-15  Steven G. Kargl  <kargls@comcast.net>

	PR fortran/36239
	* simplify.c (gfc_simplify_int, gfc_simplify_intconv): Replaced hand
	rolled integer conversion with gfc_int2int, gfc_real2int, and
	gfc_complex2int.
	(gfc_simplify_intconv): Renamed to simplify_intconv.
	
2008-05-15  Steven G. Kargl,   <kargl@comcast.net>
	* gfortran.dg/and_or_xor.f90: New test

	* fortran/simplify.c (gfc_simplify_and, gfc_simplify_or,
	gfc_simplify_xor): Don't range check logical results.

From-SVN: r135408
2008-05-16 03:41:17 +00:00
GCC Administrator b362cad045 Daily bump.
From-SVN: r135405
2008-05-16 00:17:39 +00:00
Kenneth Zadeck 1920df6c22 cgraph.h (compute_inline_parameters): Made public.
2008-05-15  Kenneth Zadeck <zadeck@naturalbridge.com>

	* cgraph.h (compute_inline_parameters): Made public.
	* tree-pass.h (ipa_opt_pass): Removed function_generate_summary,
	variable_generate_summary, function_write_summary,
	variable_write_summary, variable_read_summary.  Added 
	generate_summary, write_summary, read_summary.
	* cgraphunit.c (cgraph_process_new_functions): Changed call from
	pass_ipa_inline.function_generate_summary, to
	compute_inline_parameters. 
	* ipa-inline.c (compute_inline_parameters): Made public and added
	node parameter.
	(compute_inline_parameters_for_current): New function.
	(pass_inline_param): Now calls
	compute_inline_parameters_for_current.
	(inline_generate_summary): Removed parameter and made to loop over
	all cgraph nodes.
	(pass_ipa_inline): Updated for new IPA_PASS structure.
	* passes.c (execute_ipa_summary_passes): Now is called once per
	pass rather than once per node*pass.

From-SVN: r135401
2008-05-15 22:58:03 +00:00
Bernd Schmidt be95b3555a configure.ac: Don't check AC_LIBTOOL_DLOPEN if using newlib.
* configure.ac: Don't check AC_LIBTOOL_DLOPEN if using newlib.
	* configure: Regenerate.

From-SVN: r135400
2008-05-15 22:54:29 +00:00
Francois-Xavier Coudert 374929b22f trans-expr.c (gfc_conv_concat_op): Take care of nondefault character kinds.
* trans-expr.c (gfc_conv_concat_op): Take care of nondefault
	character kinds.
	(gfc_build_compare_string): Add kind argument and use it.
	(gfc_conv_statement_function): Fix indentation.
	* gfortran.h (gfc_character_info): New structure.
	(gfc_character_kinds): New array.
	* trans-types.c (gfc_character_kinds, gfc_character_types,
	gfc_pcharacter_types): New array.
	(gfc_init_kinds): Fill character kinds array.
	(validate_character): Take care of nondefault character kinds.
	(gfc_build_uint_type): New function.
	(gfc_init_types): Take care of nondefault character kinds.
	(gfc_get_char_type, gfc_get_pchar_type): New functions.
	(gfc_get_character_type_len): Use gfc_get_char_type.
	* trans.h (gfc_build_compare_string): Adjust prototype.
	(gfor_fndecl_compare_string_char4, gfor_fndecl_concat_string_char4,
	gfor_fndecl_string_len_trim_char4, gfor_fndecl_string_index_char4,
	gfor_fndecl_string_scan_char4, gfor_fndecl_string_verify_char4,
	gfor_fndecl_string_trim_char4, gfor_fndecl_string_minmax_char4,
	gfor_fndecl_adjustl_char4, gfor_fndecl_adjustr_char4): New
	prototypes.
	* trans-types.h (gfc_get_char_type, gfc_get_pchar_type): New
	prototypes.
	* trans-decl.c (gfor_fndecl_compare_string_char4,
	gfor_fndecl_string_len_trim_char4, gfor_fndecl_string_index_char4,
	gfor_fndecl_string_scan_char4, gfor_fndecl_string_verify_char4,
	gfor_fndecl_string_trim_char4, gfor_fndecl_string_minmax_char4,
	gfor_fndecl_adjustl_char4, gfor_fndecl_adjustr_char4,
	gfor_fndecl_concat_string_char4): New function decls.
	(gfc_build_intrinsic_function_decls): Define new *_char4 function
	decls.
	* trans-intrinsic.c (gfc_conv_intrinsic_minmax_char,
	gfc_conv_intrinsic_len_trim, gfc_conv_intrinsic_ichar,
	gfc_conv_intrinsic_strcmp, gfc_conv_intrinsic_trim,
	gfc_conv_intrinsic_function): Deal with nondefault character kinds.

From-SVN: r135397
2008-05-15 21:12:53 +00:00
Anatoly Sokolov 470a4c97a9 avr.c (avr_base_arch_macro, [...]): Remove variables.
* config/avr/avr.c (avr_base_arch_macro, avr_have_movw_lpmx_p, 
	avr_have_mul_p, avr_asm_only_p): Remove variables.
	(avr_override_options): Remove initialization of removed variables.
	(avr_file_start):  Convert removed variables to fields of 
	'struct base_arch_s *avr_current_arch'. 
	* config/avr/avr.h (TARGET_CPU_CPP_BUILTINS): (Ditto.).
	(AVR_HAVE_MUL): (Ditto.).
	(AVR_HAVE_MOVW): (Ditto.).
	(AVR_HAVE_LPMX): (Ditto.). 
	(avr_base_arch_macro, avr_have_movw_lpmx_p, avr_have_mul_p, 
	avr_asm_only_p): Remove declaration.

From-SVN: r135396
2008-05-16 01:07:38 +04:00
Diego Novillo f4dea66f0a arm.c (arm_return_in_memory): Fix return type.
2008-05-15  Diego Novillo  <dnovillo@google.com>

	* config/arm/arm.c (arm_return_in_memory): Fix return
	type.
	* config/arm/arm-protos.h (arm_return_in_memory): Likewise.

From-SVN: r135393
2008-05-15 16:07:11 -04:00
Adam Nemet 36dafbd1f1 re PR middle-end/36194 (Truncation optimization in combine can remove necessary truncations)
PR middle-end/36194
        * combine.c (check_conversion): Rename to check_promoted_subreg. 
        Don't call record_truncated_value from here. 
        (record_truncated_value): Turn it into a for_each_rtx callback. 
        (record_truncated_values): New function. 
        (combine_instructions): Call note_uses with 
        record_truncated_values.  Change name of check_conversion to 
        check_promoted_subreg. 

testsuite/

	* gcc.dg/pr36194.c: New test.

From-SVN: r135392
2008-05-15 19:25:53 +00:00
Janne Blomqvist fda9d38f80 Remove XFAIL from gfortran.dg/fmt_t_7.f
From-SVN: r135389
2008-05-15 21:30:45 +03:00
Janne Blomqvist 8cc7e6bdcd Remove XFAIL from gfortran.dg/fmt_t_7.f
2008-05-15  Janne Blomqvist  <jb@gcc.gnu.org>

	PR libfortran/34974
	* gfortran.dg/fmt_t_7.f: Remove XFAIL, patch for PR 25561/Part 1 fixes
	this.

From-SVN: r135388
2008-05-15 21:30:29 +03:00
Janus Weil 955410cba1 MAINTAINERS (Write After Approval): Add myself.
2008-05-15  Janus Weil  <janus@gcc.gnu.org>

	* MAINTAINERS (Write After Approval): Add myself.

From-SVN: r135386
2008-05-15 20:12:59 +02:00
Janis Johnson 91a5b3943e libgomp.exp: Load torture-options.exp from gcc lib.
libgomp:
	* testsuite/lib/libgomp.exp: Load torture-options.exp from gcc lib.

gcc/doc:
	* doc/sourcebuild.texi: Document support for torture tests.

gcc/testsuite:
	* lib/torture-options.exp: New support for torture options.
	* lib/gfortran-dg.exp (gfortran-dg-runtest): Use new torture
	procs.
	* lib/c-torture.exp: Define C_TORTURE_OPTIONS instead of
	TORTURE_OPTIONS; don't define torture_with_loops and
	torture_without_loops.
	* lib/gcc-dg.exp: Define DG_TORTURE_OPTIONS instead of
	TORTURE_OPTIONS; don't define torture_with_loops and
	torture_without_loops.
	(gcc-dg-runtest): Use new torture procs if no torture options
	defined.
	* lib/fortran-torture.exp: Define FORTRAN_TORTURE_OPTIONS instead of
	TORTURE_OPTIONS.
	(fortran-torture-execute): Use torture_with_loops instead of
	TORTURE_OPTIONS.
	(fortran-torture): Ditto.
	* lib/objc-torture.exp: Define OBJC_TORTURE_OPTIONS instead of
	TORTURE_OPTIONS; don't define torture_with_loops and
	torture_without_loops.
	* gcc.c-torture/execute/execute.exp: Use new torture procs.
	* gcc.c-torture/execute/builtins/builtins.exp: Ditto.
	* gcc.c-torture/execute/ieee/ieee.exp: Ditto.
	* gcc.c-torture/unsorted/unsorted.exp: Ditto.
	* gfortran.fortran-torture/execute/execute.exp: Ditto.
	* gfortran.fortran-torture/compile/compile.exp: Ditto.
	* gcc.target/x86_64/abi/abi-x86_64.exp: Ditto.
	* gcc.target/i386/math-torture/math-torture.exp: Define
	MATH_TORTURE_OPTIONS, use new torture procs.
	* gcc.dg/pch/pch.exp: Use new torture procs.
	* gcc.dg/format/format.exp: Ditto.
	* gcc.misc-tests/i386-prefetch.exp: Ditto.
	* gcc.misc-tests/dectest.exp: Ditto.
	* objc.dg/pch/pch.exp: Ditto.
	* objc/execute/execute.exp: Ditto.
	* objc/execute/exceptions/exceptions.exp: Ditto.
	* objc/compile/compile.exp: Ditto.

From-SVN: r135381
2008-05-15 16:59:21 +00:00
Janne Blomqvist 3044d36951 Part 1 of PR25561, fix compile warnings forgotten in actual commit.
From-SVN: r135379
2008-05-15 19:32:00 +03:00
Janne Blomqvist 7c1b4aba72 Add fbuf.c
From-SVN: r135376
2008-05-15 18:58:20 +03:00
Janne Blomqvist f6f9ac3159 Forgot ChangeLog of part1 pr25561.
From-SVN: r135374
2008-05-15 18:55:32 +03:00
Janne Blomqvist 15877a88eb Part 1 of PR 25561.
2008-05-15  Janne Blomqvist  <jb@gcc.gnu.org>

	PR libfortran/25561
	* Makefile.am: Add fbuf.c to gfor_io_src.
	* Makefile.in: Regenerate.
	* io/io.h (read_block): Remove.
	(struct stream): Remove alloc_r_at function pointer.
	(salloc_r): Remove.
	(salloc_r_at): Remove.
	(salloc_w_at): Remove.
	(salloc_w): Remove offset argument.
	(struct fbuf): New struct for format buffer.
	(struct gfc_unit): Add fbuf.
	(read_block_form): New prototype.
	(fbuf_init): Likewise.
	(fbuf_destroy): Likewise.
	(fbuf_reset): Likewise.
	(fbuf_alloc): Likewise.
	(fbuf_flush): Likewise.
	(fbuf_seek): Likewise.
	* io/file_pos.c (formatted_backspace): Change to use sread.
	(unformatted_backspace): Likewise.
	(st_backspace): Flush format buffer.
	(st_rewind): Likewise.
	* io/list_read.c (next_char): Likewise.
	(nml_query): Tidying, flush format buffer.
	* io/open.c (new_unit): Init format buffer.
	* io/read.c (read_l): Change to use read_block_form.
	(read_a): Likewise.
	(read_decimal): Likewise.
	(read_radix): Likewise.
	(read_f): Likewise.
	(read_x): Empty reads also for stream I/O.
	* io/transfer.c (read_sf): Change to use sread.
	(read_block): Rename to read_block_form, change prototype, use sread.
	(read_block_direct): Don't seek stream files.
	(write_block): Change to use fbuf if external file, don't seek stream
	files.
	(write_buf): Don't seek stream files.
	(formatted_transfer_scalar): Use fbuf for external files.
	(us_read): Change to use sread.
	(pre_position): Do nothing for stream I/O.
	(data_transfer_init): Flush fbuf when switching from write to read, if
	POS is specified, seek stream file to correct offset.
	(skip_record): Change to use sread.
	(min_off): New function.
	(next_record_r): Change to use sread.
	(next_record_w): Change to use sset/sseek, flush fbuf.
	(finalize_transfer): Flush fbuf.
	* io/unit.c (init_units): Init fbuf for stdout, stderr.
	(close_unit_1): Destroy fbuf.
	(finish_last_advance_record): Flush fbuf, no need to seek.
	* io/unix.c (fd_alloc_r_at): Remove unused where argument.
	(fd_alloc_w_at): Likewise.
	(fd_read): Remove third argument to fd_alloc_r_at.
	(fd_write): Remove third argument to fd_alloc_w_at.
	(fd_sset): Likewise.
	(fd_open): Don't set alloc_r_at.
	(mem_alloc_r_at): Remove unused where argument.
	(mem_alloc_w_at): Likewise.
	(mem_read): Don't incorrectly return previous errno, remove unused
	third argument to alloc function.
	(mem_write): Likewise.
	(mem_set): Likewise.
	(open_internal): Don't set alloc_r_at pointer.
	* io/fbuf.c: New file.

From-SVN: r135373
2008-05-15 18:53:34 +03:00
Uros Bizjak 2819ae08d2 sse.md (*vec_concatv2sf_sse4_1): Add "m" constraint to alternative 4 of operand 2.
* config/i386/sse.md (*vec_concatv2sf_sse4_1): Add "m" constraint
	to alternative 4 of operand 2.

From-SVN: r135364
2008-05-15 16:38:23 +02:00
Richard Guenther 41d1c8ddaf re PR tree-optimization/36245 (internal compiler error: in build2_stat, at tree.c:3116)
2008-05-15  Richard Guenther  <rguenther@suse.de>

	PR tree-optimization/36245
	* tree-ssa-address.c (add_to_parts): Deal with non-pointer
	bases.

	* gcc.c-torture/compile/pr36245.c: New testcase.

From-SVN: r135361
2008-05-15 14:09:11 +00:00
Richard Biener 82e6d02f7b statistics.c: New file.
2008-05-15  Richard Guenther  <rguenther@suse.de>

        * statistics.c: New file.

From-SVN: r135359
2008-05-15 14:00:22 +00:00
Richard Guenther 9fe0cb7d88 tree-pass.h (current_pass): Declare.
2008-05-15  Richard Guenther  <rguenther@suse.de>

	* tree-pass.h (current_pass): Declare.
	(get_pass_for_id): Likewise.
	* passes.c (passes_by_id, passes_by_id_size): New globals.
	(set_pass_for_id): New function.
	(get_pass_for_id): Likewise.
	(register_one_dump_file): Use set_pass_for_id to populate passes_by_id.
	(execute_function_todo): Flush per function statistics.
	* toplev.c (compile_file): Init statistics.
	(general_init): Do early statistics initialization.
	(finalize): Finish statistics.
	* statistics.h (statistics_early_init): Declare.
	(statistics_init): Likewise.
	(statistics_fini): Likewise.
	(statistics_fini_pass): Likewise.
	(statistics_counter_event): Likewise.
	(statistics_histogram_event): Likewise.
	* statistics.c: New file.
	* Makefile.in (OBJS-common): Add statistics.o.
	(statistics.o): Add dependencies.
	* doc/invoke.texi (-fdump-statistics): Document.

	* tree-ssa-pre.c (compute_antic): Use statistics_histogram_event.
	(insert): Likewise.
	(execute_pre): Use statistics_counter_event.
	* tree-ssa-propagate.c (struct prop_stats_d): Add num_dce field.
	(substitute_and_fold): Increment it.  Use statistics_counter_event.

	* gcc.dg/tree-ssa/loadpre7.c: Adjust scan for not performed
	transformation.
	* gcc.dg/tree-ssa/ssa-fre-10.c: Likewise.

From-SVN: r135358
2008-05-15 13:39:39 +00:00
Diego Novillo 77f377f70e treestruct.def (TS_STRUCT_FIELD_TAG): Remove.
2008-05-15  Diego Novillo  <dnovillo@google.com>

	http://gcc.gnu.org/ml/gcc-patches/2008-05/msg00893.html

	* treestruct.def (TS_STRUCT_FIELD_TAG): Remove.
	* tree-ssa-alias.c (new_type_alias): Remove references to
	sub-variables from comment.
	* tree-ssa-operands.c (swap_tree_operands): Likewise.

From-SVN: r135357
2008-05-15 09:34:51 -04:00
H.J. Lu 89b7851e06 sse.md (*vec_concatv2sf_sse4_1): Set prefix_extra attribute to 1 only for insertps alternative.
2008-05-15  H.J. Lu  <hongjiu.lu@intel.com>

	* config/i386/sse.md (*vec_concatv2sf_sse4_1): Set prefix_extra
	attribute to 1 only for insertps alternative.

From-SVN: r135353
2008-05-15 06:29:11 -07:00