Commit Graph

102601 Commits

Author SHA1 Message Date
Uros Bizjak
770b37b9e4 predicates.md (sse_reg_operand): New predicate.
* config/i386/predicates.md (sse_reg_operand): New predicate.
	* config/i386/i386.md (TFmode push splitter): Use sse_reg_operand
	predicate for operand 1.
	(XFmode push splitter): Use fp_register_operand predicate
	for operand 1.
	(*dummy_extendsfdf2, *dummy_extendsfxf2): Remove disabled patterns.
	(SF-DF float_extend push splitter): Add reload_completed insn
	predicate.
	({SF,DF}-XF float_extend_push splitter): Macroize splitter using
	MODEF mode macro.  Add reload_completed insn predicate.

From-SVN: r163857
2010-09-04 11:51:33 +02:00
Janus Weil
b6ff8128de re PR fortran/45507 (Bogus Error: Can't convert TYPE(c_ptr) to INTEGER(4))
2010-09-04  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/45507
	* resolve.c (resolve_allocate_expr): Generate default initializers
	already at this point, resolve them and put them into expr3, ...
	* trans-stmt.c (gfc_trans_allocate): ... instead of waiting until
	translation stage.


2010-09-04  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/45507
	* gfortran.dg/allocate_alloc_opt_12.f90: New.

From-SVN: r163856
2010-09-04 11:29:11 +02:00
Paolo Bonzini
502ef838c9 df.h (enum df_ref_class): Remove DF_REF_EXTRACT.
2010-09-04  Paolo Bonzini  <bonzini@gnu.org>

	* df.h (enum df_ref_class): Remove DF_REF_EXTRACT.
	(struct df_extract_ref): Remove.
	(union df_ref_d): Remove extract_ref member.
	(df_ref_create): Remove last three arguments.
	(DF_REF_LOC): Remove DF_REF_EXTRACT case.
	* df-scan.c (df_ref_record): Remove last three arguments, do not
	pass them to df_ref_create_structure.
	(df_uses_record): Remove first and last three arguments.  Replace
	first argument with DF_REF_REGULAR, adjust calls to remove the
	width, offset and mode.  Always call recursively on the second
	and third argument of ZERO_EXTRACT and SIGN_EXTRACT.
	(df_ref_create_structure): Remove first argument.
	(struct df_scan_problem_data): Remove ref_extract_pool.
	(df_scan_free_internal): Do not free it.
	(df_scan_alloc): Do not allocate it.
	(df_ref_create): Remove last three arguments, do not pass them to
	df_ref_create_structure.
	(df_free_ref): Remove DF_REF_EXTRACT case.
	(df_notes_rescan): Adjust call to df_uses_record.
	(df_ref_equal_p, df_ref_compare, df_ref_create_structure):
	Remove DF_REF_EXTRACT case.
	(df_def_record_1): Do not special case class for a ZERO_EXTRACT lhs.
	Adjust calls to df_ref_record, using DF_REF_REGULAR for all REG
	and SUBREG definitions.
	(df_get_conditional_uses): Remove references to width/offset/mode,
	adjust call to df_ref_create_structure.
	(df_get_call_refs, df_insn_refs_collect, df_bb_refs_collect,
	df_entry_block_defs_collect, df_exit_block_uses_collect): Adjust
	calls to df_uses_record and df_ref_record.
	* fwprop.c (update_df): Remove references to width/offset/mode,
	adjust call to df_ref_create.

From-SVN: r163854
2010-09-04 07:26:39 +00:00
GCC Administrator
f37b4faa86 Daily bump.
From-SVN: r163853
2010-09-04 00:17:31 +00:00
Jan Hubicka
48c24aca17 ipa.c (build_cdtor): Take VECtor as argument; fix array walk.
* ipa.c (build_cdtor): Take VECtor as argument; fix array walk.
	(build_cdtor_fns): Update use of build_cdtor.

From-SVN: r163849
2010-09-03 23:47:11 +00:00
Paolo Carlini
9c7f808d0b re PR libstdc++/45347 (concurrence.h: In constructor '__gnu_cxx::__cond::__cond()': /home/jayk/obj/gcc451/alphaev67-dec-osf5.1/libstdc++-v3/include/ext/concurrence.h:276:29: warning: missing initializer for member '__pthread_cond_t::__bloc)
2010-09-03  Paolo Carlini  <paolo.carlini@oracle.com>

	PR libstdc++/45347
	* include/ext/concurrence.h: Add #pragma GCC system_header.

From-SVN: r163848
2010-09-03 23:19:18 +00:00
Thomas Koenig
2bfec36876 dump_parse_tree (gfc_run_passes): Call optimize_namespace instead of optimize_code.
2010-09-03  Thomas Koenig  <tkoenig@gcc.gnu.org>

	* dump_parse_tree (gfc_run_passes):  Call optimize_namespace
	instead of optimize_code.
	(optimize_namespace):  New function.

2010-09-03  Thomas Koenig  <tkoenig@gcc.gnu.org>

	* gfortran.dg/trim_optimize_2.f90:  New test.

From-SVN: r163846
2010-09-03 21:21:14 +00:00
Joseph Myers
d158303227 options.texi (SeparateAlias): Document.
* doc/options.texi (SeparateAlias): Document.
	* opt-functions.awk (switch_flags): Handle SeparateAlias.
	* opth-gen.awk: Generate enumeration names for options marked
	SeparateAlias, but not for those marked Ignore.
	* opts-common.c (generate_canonical_option): Don't output separate
	argument for options marked CL_SEPARATE_ALIAS.
	(decode_cmdline_option): Handle CL_SEPARATE_ALIAS.
	* opts.h (CL_SEPARATE_ALIAS): New.
	(CL_PARAMS, CL_WARNING, CL_OPTIMIZATION, CL_DRIVER, CL_TARGET,
	CL_COMMON): Adjust definitions.
	* config/i386/darwin.opt, config/mips/sde.opt: New.
	* common.opt (fdump-final-insns): New.
	* config.gcc (i[34567]86-*-darwin*, x86_64-*-darwin*): Add
	i386/darwin.opt.
	(mips*-sde-elf*): Add mips/sde.opt.
	* config/mips/sde.h (DRIVER_SELF_SPECS): Don't handle
	-mno-data-in-code and -mcode-xonly here.
	* defaults.h (DEFAULT_SWITCH_TAKES_ARG): Add 'd'.
	* gcc.c (option_map): Add "j" to --dump entry.
	(translate_options): Don't translate -d to -foutput-class-dir=
	here.

java:
	* lang.opt (d): New.

testsuite:
	* gcc.dg/opts-4.c: New test.

From-SVN: r163844
2010-09-03 22:00:05 +01:00
Steve Ellcey
e6bc4de90d vect-peel-3.c: XFAIL if vect_no_align.
2010-09-03  Steve Ellcey  <sje@cup.hp.com>

	* gcc.dg/vect/vect-peel-3.c: XFAIL if vect_no_align.
	* gcc.dg/vect/vect-peel-4.c: Ditto.

From-SVN: r163842
2010-09-03 20:26:30 +00:00
Sebastian Pop
b0af49c40c Use DR_IS_WRITE instead of !DR_IS_READ.
2010-09-03  Sebastian Pop  <sebastian.pop@amd.com>

	* tree-data-ref.c (dr_may_alias_p): Replace !DR_IS_READ with
	DR_IS_WRITE.
	(compute_all_dependences): Same.
	(create_rdg_edge_for_ddr): Same.
	* tree-data-ref.h (DR_IS_WRITE): New.
	(ddr_is_anti_dependent): Replace !DR_IS_READ with DR_IS_WRITE.
	* tree-if-conv.c (write_memrefs_written_at_least_once): Same.
	(write_memrefs_written_at_least_once): Same.
	* tree-predcom.c (suitable_component_p): Same.
	(determine_roots_comp): Same.
	(execute_load_motion): Same.
	* tree-vect-data-refs.c (vect_analyze_data_ref_dependence): Same.
	(vect_enhance_data_refs_alignment): Same.
	(vect_analyze_group_access): Same.

From-SVN: r163841
2010-09-03 20:05:42 +00:00
Daniel Kraft
0edf45a3f9 re PR fortran/45525 (gfortran.dg/dummy_procedure_1.f90 failed)
2010-09-03  Daniel Kraft  <d@domob.eu>

	PR fortran/45525
	* gfortran.dg/dummy_procedure_1.f90: Add -std=f2003 and adapt error.

From-SVN: r163840
2010-09-03 21:50:44 +02:00
Jack Howarth
bb79486c55 configure.ac: Enable LTO by default on Darwin.
2010-09-03  Jack Howarth <howarth@bromo.med.uc.edu>

	* configure.ac: Enable LTO by default on Darwin.
	* configure: Regenerate.

From-SVN: r163839
2010-09-03 15:49:02 -04:00
Tobias Burnus
65a9ca823e re PR fortran/45186 (Gfortran 4.5.0 emits wrong linenumbers)
2010-09-03  Tobias Burnus  <burnus@net-b.de>

        PR fortran/45186
        * trans-intrinsic.c (gfc_conv_intrinsic_sign,
        gfc_conv_intrinsic_leadz): Use build_call_expr_loc instead
        of build_call_expr.
        * trans-expr.c (gfc_conv_expr_present, gfc_conv_missing_dummy,
        gfc_conv_string_length, gfc_conv_substring,
        gfc_conv_component_ref, gfc_conv_unary_op, gfc_conv_powi,
        gfc_conv_cst_int_power, gfc_conv_string_tmp, gfc_conv_concat_op,
        gfc_conv_expr_op, gfc_build_compare_string,
        gfc_set_interface_mapping_bounds, gfc_conv_subref_array_arg,
        gfc_conv_derived_to_class, conv_isocbinding_procedure,
        gfc_conv_procedure_call, fill_with_spaces,
        gfc_trans_string_copy, gfc_trans_alloc_subarray_assign,
        gfc_trans_structure_assign, gfc_trans_pointer_assignment,
        gfc_trans_scalar_assign, gfc_trans_zero_assign,
        gfc_trans_array_copy, gfc_trans_array_constructor_copy): Change
        fold_build[0-9] to fold_build[0-9]_loc.
        * trans-io.c (set_parameter_const, set_parameter_value,
        set_parameter_ref, gfc_convert_array_to_string, set_string,
        set_internal_unit, io_result, set_error_locus,
        nml_get_addr_expr, build_dt): Ditto.
        * trans-openmp.c (gfc_omp_clause_default_ctor,
        gfc_omp_clause_copy_ctor, gfc_omp_clause_assign_op,
        gfc_trans_omp_array_reduction, gfc_trans_omp_atomic,
        gfc_trans_omp_do): Ditto.
        * trans.c (gfc_add_modify, gfc_build_addr_expr,
        gfc_build_array_ref, gfc_trans_runtime_error_vararg,
        gfc_trans_runtime_check, gfc_call_malloc,
        gfc_allocate_with_status, gfc_allocate_array_with_status,
        gfc_call_free, gfc_deallocate_with_status,
        gfc_call_realloc): Ditto.

From-SVN: r163838
2010-09-03 21:41:11 +02:00
François Dumont
d78301422a libstdc++.exp ([check_v3_target_debug_mode]): Fix so that it really detects when debug mode is activated.
2010-09-03  François Dumont <francois.cppdevs@free.fr>

        * testsuite/lib/libstdc++.exp ([check_v3_target_debug_mode]): Fix so
        that it really detects when debug mode is activated.
        * testsuite/util/debug/construct_neg.h, insert_neg.h, assign_neg.h:
        Remove, content moved...
        * testsuite/util/debug/checks.h: ... here. Modify checks to take the
	type of the container to test rather than an intermediate container
        type traits helper.
	* testsuite/23_containers/unordered_map/debug/insert1_neg.cc: Update to
	use dg-require-debug-mode when necessary and use new check functions.
	* testsuite/23_containers/unordered_map/debug/construct1_neg.cc: 
	Likewise.
	* testsuite/23_containers/unordered_map/debug/construct2_neg.cc:
	Likewise.
	* testsuite/23_containers/unordered_map/debug/insert2_neg.cc: Likewise.
	* testsuite/23_containers/unordered_map/debug/construct3_neg.cc:
	Likewise.
	* testsuite/23_containers/unordered_map/debug/insert3_neg.cc: Likewise.
	* testsuite/23_containers/unordered_map/debug/construct4_neg.cc:
	Likewise.
	* testsuite/23_containers/unordered_map/debug/insert4_neg.cc: Likewise.
	* testsuite/23_containers/multimap/debug/insert1_neg.cc: Likewise.
	* testsuite/23_containers/multimap/debug/construct1_neg.cc: Likewise.
	* testsuite/23_containers/multimap/debug/construct2_neg.cc: Likewise.
	* testsuite/23_containers/multimap/debug/insert2_neg.cc: Likewise.
	* testsuite/23_containers/multimap/debug/construct3_neg.cc: Likewise.
	* testsuite/23_containers/multimap/debug/insert3_neg.cc: Likewise.
	* testsuite/23_containers/multimap/debug/construct4_neg.cc: Likewise.
	* testsuite/23_containers/multimap/debug/insert4_neg.cc: Likewise.
	* testsuite/23_containers/set/debug/insert1_neg.cc: Likewise.
	* testsuite/23_containers/set/debug/construct1_neg.cc: Likewise.
	* testsuite/23_containers/set/debug/construct2_neg.cc: Likewise.
	* testsuite/23_containers/set/debug/insert2_neg.cc: Likewise.
	* testsuite/23_containers/set/debug/construct3_neg.cc: Likewise.
	* testsuite/23_containers/set/debug/insert3_neg.cc: Likewise.
	* testsuite/23_containers/set/debug/construct4_neg.cc: Likewise.
	* testsuite/23_containers/set/debug/insert4_neg.cc: Likewise.
	* testsuite/23_containers/unordered_multimap/debug/insert1_neg.cc: 
	Likewise.
	* testsuite/23_containers/unordered_multimap/debug/construct1_neg.cc: 
	Likewise.
	* testsuite/23_containers/unordered_multimap/debug/construct2_neg.cc: 
	Likewise.
	* testsuite/23_containers/unordered_multimap/debug/insert2_neg.cc: 
	Likewise.
	* testsuite/23_containers/unordered_multimap/debug/construct3_neg.cc: 
	Likewise.
	* testsuite/23_containers/unordered_multimap/debug/insert3_neg.cc: 
	Likewise.
	* testsuite/23_containers/unordered_multimap/debug/construct4_neg.cc: 
	Likewise.
	* testsuite/23_containers/unordered_multimap/debug/insert4_neg.cc:
	Likewise.
	* testsuite/23_containers/vector/debug/assign1_neg.cc: Likewise.
	* testsuite/23_containers/vector/debug/construct1_neg.cc: Likewise.
	* testsuite/23_containers/vector/debug/construct2_neg.cc: Likewise.
	* testsuite/23_containers/vector/debug/assign2_neg.cc: Likewise.
	* testsuite/23_containers/vector/debug/construct3_neg.cc: Likewise.
	* testsuite/23_containers/vector/debug/assign3_neg.cc: Likewise.
	* testsuite/23_containers/vector/debug/construct4_neg.cc: Likewise.
	* testsuite/23_containers/vector/debug/assign4_neg.cc: Likewise.
	* testsuite/23_containers/vector/debug/insert1_neg.cc: Likewise.
	* testsuite/23_containers/vector/debug/insert2_neg.cc: Likewise.
	* testsuite/23_containers/vector/debug/insert3_neg.cc: Likewise.
	* testsuite/23_containers/vector/debug/insert4_neg.cc: Likewise.
	* testsuite/23_containers/unordered_set/debug/insert1_neg.cc: Likewise.
	* testsuite/23_containers/unordered_set/debug/construct1_neg.cc: 
	Likewise.
	* testsuite/23_containers/unordered_set/debug/construct2_neg.cc: 
	Likewise.
	* testsuite/23_containers/unordered_set/debug/insert2_neg.cc: Likewise.
	* testsuite/23_containers/unordered_set/debug/construct3_neg.cc: 
	Likewise.
	* testsuite/23_containers/unordered_set/debug/insert3_neg.cc: Likewise.
	* testsuite/23_containers/unordered_set/debug/construct4_neg.cc:
	Likewise.
	* testsuite/23_containers/unordered_set/debug/insert4_neg.cc: Likewise.
	* testsuite/23_containers/deque/debug/assign1_neg.cc: Likewise.
	* testsuite/23_containers/deque/debug/construct1_neg.cc: Likewise.
	* testsuite/23_containers/deque/debug/construct2_neg.cc: Likewise.
	* testsuite/23_containers/deque/debug/assign2_neg.cc: Likewise.
	* testsuite/23_containers/deque/debug/construct3_neg.cc: Likewise.
	* testsuite/23_containers/deque/debug/assign3_neg.cc: Likewise.
	* testsuite/23_containers/deque/debug/construct4_neg.cc: Likewise.
	* testsuite/23_containers/deque/debug/assign4_neg.cc: Likewise.
	* testsuite/23_containers/deque/debug/insert1_neg.cc: Likewise.
	* testsuite/23_containers/deque/debug/insert2_neg.cc: Likewise.
	* testsuite/23_containers/deque/debug/insert3_neg.cc: Likewise.
	* testsuite/23_containers/deque/debug/insert4_neg.cc: Likewise.
	* testsuite/23_containers/multiset/debug/insert1_neg.cc: Likewise.
	* testsuite/23_containers/multiset/debug/construct1_neg.cc: Likewise.
	* testsuite/23_containers/multiset/debug/construct2_neg.cc: Likewise.
	* testsuite/23_containers/multiset/debug/insert2_neg.cc: Likewise.
	* testsuite/23_containers/multiset/debug/construct3_neg.cc: Likewise.
	* testsuite/23_containers/multiset/debug/insert3_neg.cc: Likewise.
	* testsuite/23_containers/multiset/debug/construct4_neg.cc: Likewise.
	* testsuite/23_containers/multiset/debug/insert4_neg.cc: Likewise.
	* testsuite/23_containers/list/debug/assign1_neg.cc: Likewise.
	* testsuite/23_containers/list/debug/construct1_neg.cc: Likewise.
	* testsuite/23_containers/list/debug/construct2_neg.cc: Likewise.
	* testsuite/23_containers/list/debug/assign2_neg.cc: Likewise.
	* testsuite/23_containers/list/debug/construct3_neg.cc: Likewise.
	* testsuite/23_containers/list/debug/assign3_neg.cc: Likewise.
	* testsuite/23_containers/list/debug/construct4_neg.cc: Likewise.
	* testsuite/23_containers/list/debug/assign4_neg.cc: Likewise.
	* testsuite/23_containers/list/debug/insert1_neg.cc: Likewise.
	* testsuite/23_containers/list/debug/insert2_neg.cc: Likewise.
	* testsuite/23_containers/list/debug/insert3_neg.cc: Likewise.
	* testsuite/23_containers/list/debug/insert4_neg.cc: Likewise.
	* testsuite/23_containers/unordered_multiset/debug/insert1_neg.cc: 
	Likewise.
	* testsuite/23_containers/unordered_multiset/debug/construct1_neg.cc: 
	Likewise.
	* testsuite/23_containers/unordered_multiset/debug/construct2_neg.cc: 
	Likewise.
	* testsuite/23_containers/unordered_multiset/debug/insert2_neg.cc: 
	Likewise.
	* testsuite/23_containers/unordered_multiset/debug/construct3_neg.cc: 
	Likewise.
	* testsuite/23_containers/unordered_multiset/debug/insert3_neg.cc: 
	Likewise.
	* testsuite/23_containers/unordered_multiset/debug/construct4_neg.cc: 
	Likewise.
	* testsuite/23_containers/unordered_multiset/debug/insert4_neg.cc: 
	Likewise.
	* testsuite/23_containers/map/debug/insert1_neg.cc: Likewise.
	* testsuite/23_containers/map/debug/construct1_neg.cc: Likewise.
	* testsuite/23_containers/map/debug/construct2_neg.cc: Likewise.
	* testsuite/23_containers/map/debug/insert2_neg.cc: Likewise.
	* testsuite/23_containers/map/debug/construct3_neg.cc: Likewise.
	* testsuite/23_containers/map/debug/insert3_neg.cc: Likewise.
	* testsuite/23_containers/map/debug/construct4_neg.cc: Likewise.
	* testsuite/23_containers/map/debug/insert4_neg.cc: Likewise.

	* testsuite/23_containers/unordered_map/debug/cont_traits.h: Remove.
	* testsuite/23_containers/unordered_map/debug/debug_cont_traits.h:
	Likewise.
	* testsuite/23_containers/multimap/debug/cont_traits.h: Likewise.
	* testsuite/23_containers/multimap/debug/debug_cont_traits.h: Likewise.
	* testsuite/23_containers/set/debug/cont_traits.h: Likewise.
	* testsuite/23_containers/set/debug/debug_cont_traits.h: Likewise.
	* testsuite/23_containers/unordered_multimap/debug/cont_traits.h:
	Likewise.
	* testsuite/23_containers/unordered_multimap/debug/
	debug_cont_traits.h: Likewise.
	* testsuite/23_containers/vector/debug/cont_traits.h: Likewise.
	* testsuite/23_containers/vector/debug/debug_cont_traits.h: Likewise.
	* testsuite/23_containers/unordered_set/debug/cont_traits.h: Likewise.
	* testsuite/23_containers/unordered_set/debug/debug_cont_traits.h:
	Likewise.
	* testsuite/23_containers/deque/debug/cont_traits.h: Likewise.
	* testsuite/23_containers/deque/debug/debug_cont_traits.h: Likewise.
	* testsuite/23_containers/multiset/debug/cont_traits.h: Likewise.
	* testsuite/23_containers/multiset/debug/debug_cont_traits.h: Likewise.
	* testsuite/23_containers/list/debug/cont_traits.h: Likewise.
	* testsuite/23_containers/list/debug/debug_cont_traits.h: Likewise.
	* testsuite/23_containers/unordered_multiset/debug/cont_traits.h: 
	Likewise.
	* testsuite/23_containers/unordered_multiset/debug/
	debug_cont_traits.h: Likewise.
	* testsuite/23_containers/map/debug/cont_traits.h: Likewise.
	* testsuite/23_containers/map/debug/debug_cont_traits.h: Likewise.

	* testsuite/21_strings/basic_string/element_access/char: Tidy.
	* testsuite/21_strings/basic_string/element_access/wchar_t: Likewise.

From-SVN: r163837
2010-09-03 18:10:46 +00:00
Thomas Koenig
124a8ce610 re PR fortran/45159 (Unnecessary temporaries)
2010-09-03  Thomas Koenig  <tkoenig@gcc.gnu.org>

	PR fortran/45159
	* dependency.c (gfc_deb_compare_expr):  Compare equal for equal
	arglists for pure user functions, or for those intrinsic
	functions which are also pure.
	* intrinsics.c (add_conv):  Mark conversion functions as pure.
	(add_char_conversions):  Likewise.

2010-09-03  Thomas Koenig  <tkoenig@gcc.gnu.org>

	PR fortran/45159
	* gfortran.dg/dependency_34.f90:  New test.

From-SVN: r163834
2010-09-03 16:16:34 +00:00
Joern Rennecke
de3f621b74 re PR testsuite/42843 (--enable-build-with-cxx plugin tests fail)
PR testsuite/42843
	* Makefile.in (PLUGINCC): Define in terms of @CC@ / @CXX@
	(PLUGINCFLAGS): Define in terms of @CFLAGS@ / @CXXFLAGS@

From-SVN: r163833
2010-09-03 16:02:37 +00:00
Steve Ellcey
89039a6b5e pr44806.c: Add -std=c99 to access uint32_t.
2010-09-03  Steve Ellcey  <sje@cup.hp.com>

	* gcc.dg/torture/pr44806.c: Add -std=c99 to access uint32_t.

From-SVN: r163832
2010-09-03 16:02:19 +00:00
Marcin Baczyński
4d8ff563af dwarf2out.c (file scope): Remove #if0'd code.
2010-09-03  Marcin Baczynski  <marbacz@gmail.com>

	* dwarf2out.c (file scope): Remove #if0'd code.
	(gen_subprogram_die): Same.

From-SVN: r163831
2010-09-03 11:58:51 -04:00
Rainer Orth
601d5a25b2 abi-avx.exp: Link with gcc.target/i386/clearcap.map if supported.
* gcc.target/x86_64/abi/avx/abi-avx.exp: Link with
	gcc.target/i386/clearcap.map if supported.

From-SVN: r163827
2010-09-03 14:57:57 +00:00
Jakub Jelinek
87df9ea5a0 re PR middle-end/45484 (Invalid memory access in gcc.c-torture/execute/builtins/sprintf-chk.c)
PR middle-end/45484
	* dwarf2out.c (flush_queued_reg_saves): Rename to...
	(dwarf2out_flush_queued_reg_saves): ... this.  No longer static.
	(dwarf2out_frame_debug_expr, dwarf2out_frame_debug): Adjust callers.
	* dwarf2out.h (dwarf2out_flush_queued_reg_saves): New prototype.
	* config/i386/i386.c (output_set_got): Call it.

From-SVN: r163823
2010-09-03 16:46:39 +02:00
Michael Matz
15a54c10cb re PR middle-end/45415 (ICE in partition_view_bitmap, at tree-ssa-live.c:334)
PR middle-end/45415
	* tree-sra.c (sra_modify_assign): If we modify the statement,
	say so.

	* tree-ssa.c (verify_ssa): Check number of operands and links
	per statement to agree.

testsuite/
	PR middle-end/45415
	* gcc.dg/pr45415.c: New test.

From-SVN: r163822
2010-09-03 14:42:46 +00:00
H.J. Lu
ed6e090eb2 Add gcc.dg/pr45506.c.
2010-09-03  H.J. Lu  <hongjiu.lu@intel.com>

	PR tree-optimization/45506
	* gcc.dg/pr45506.c: New.

From-SVN: r163821
2010-09-03 07:40:36 -07:00
Uros Bizjak
4159fb8dd2 t-sol2 (__copysigntf3, __fabstf3): Disable for 64bit targets.
* config/i386/t-sol2 (__copysigntf3, __fabstf3): Disable for
	64bit targets.
	(__fixtfti, __fixunstfti, __floattitf, __floatuntitf): Enable only
	for 64bit targets.

From-SVN: r163820
2010-09-03 16:33:48 +02:00
Uros Bizjak
0df8fcc8d1 re PR target/45476 (libgcc should contain TCmode functions)
libgcc/ChangeLog:

	PR target/45476
	* Makefile.in (sifuncs, difuncs, tifuncs): Filter out
	LIB2FUNCS_EXCLUDE functions.

gcc/ChangeLog:

	PR target/45476
	* config/i386/t-darwin (LIB2FUNCS_EXCLUDE): New.
	* config/i386/darwin.h (LIBGCC2_HAS_TF_MODE,
	LIBGCC2_TF_CEXT, TF_SIZE): New defines.

gcc/testsuite/ChangeLog:

	PR target/45476
	* gcc.target/i386/float128-1.c: Enable for all x86 targets.
	* gcc.target/i386/float128-2.c: Ditto.

From-SVN: r163819
2010-09-03 16:23:05 +02:00
Richard Guenther
ac364a48db lto-streamer-out.c (output_function): Output function start and end loci.
2010-09-03  Richard Guenther  <rguenther@suse.de>

	* lto-streamer-out.c (output_function): Output function
	start and end loci.
	* lto-streamer-in.c (input_function): Input function start
	and end loci.

From-SVN: r163818
2010-09-03 14:08:14 +00:00
Joseph Myers
ffb7f675d8 re PR ada/45499 (Ada bootstrap broken)
PR ada/45499
	* gcc-interface/misc.c (gnat_init_options): Allow options with
	empty canonical form.  Generate a single save_argv element from -I
	options.

From-SVN: r163817
2010-09-03 14:17:46 +01:00
Andreas Krebbel
f4dae9fcc0 configure: Regenerate.
gcc/

2010-09-03  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>

	    * configure: Regenerate.
	    * aclocal.m4: Regenerate.

libdecnumber/

2010-09-03  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>

	    * configure: Regenerate.
	    * aclocal.m4: Regenerate.

libgcc/

2010-09-03  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>

	    * configure: Regenerate.

From-SVN: r163816
2010-09-03 13:16:24 +00:00
Andreas Krebbel
3c39bca6bb configure.ac: Use the GCC_AC_ENABLE_DECIMAL_FLOAT macro.
gcc/

2010-09-03  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>

	    * configure.ac: Use the GCC_AC_ENABLE_DECIMAL_FLOAT macro.
	    * Makefile.in: Add aclocal.m4 dependency to dfp.m4.
	    * configure: Regenerate.
	    * aclocal.m4: Regenerate.

config/

2010-09-03  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>

	    * dfp.m4: New file.

libdecnumber/

2010-09-03  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>

	    * configure.ac: Use the GCC_AC_ENABLE_DECIMAL_FLOAT macro.
	    * Makefile.in: Add aclocal.m4 dependency to dfp.m4.
	    * configure: Regenerate.
	    * aclocal.m4: Regenerate.

libgcc/

2010-09-03  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>

	    * configure.ac: Use the GCC_AC_ENABLE_DECIMAL_FLOAT macro.
	    Include dfp.m4.
	    * configure: Regenerate.

From-SVN: r163815
2010-09-03 13:14:14 +00:00
H.J. Lu
efe13e0f32 Check "-D XXX=YYY".
2010-09-03  H.J. Lu  <hongjiu.lu@intel.com>

	PR java/45504
	* jvgenmain.c (main): Check "-D XXX=YYY".

From-SVN: r163814
2010-09-03 06:13:10 -07:00
Daniel Kraft
5792039f79 re PR fortran/34162 (F2008: Allow internal procedures as actual argument)
2010-09-03  Daniel Kraft  <d@domob.eu>

	PR fortran/34162
	* resolve.c (resolve_actual_arglist): Allow internal procedure
	as actual argument with Fortran 2008.

2010-09-03  Daniel Kraft  <d@domob.eu>

	PR fortran/34162
	* gfortran.dg/internal_dummy_1.f90: Add -std=f2003.
	* gfortran.dg/internal_dummy_2.f08: New test.
	* gfortran.dg/internal_dummy_3.f08: New test.
	* gfortran.dg/internal_dummy_4.f08: New test.

From-SVN: r163813
2010-09-03 15:10:40 +02:00
Jan Hubicka
1c7b11d2a3 re PR lto/44812 (m32 lto produces non-relocatable subtraction expression errors)
PR lto/44812
	* lto-cgraph.c (intput_node, input_varpool_node): Set DECL_EXTERNAL
	on functions/variables in other partition.

From-SVN: r163811
2010-09-03 12:26:24 +00:00
Mark Wielaard
2cd8686617 closures.c (open_temp_exec_file_mnt): Check if getmntent_r returns NULL.
* src/closures.c (open_temp_exec_file_mnt): Check if getmntent_r
	returns NULL.

From-SVN: r163809
2010-09-03 10:35:35 +00:00
Jan Hubicka
155c92a7a0 cgraph.h (struct varpool_node): Add const_value_known.
* cgraph.h (struct varpool_node): Add const_value_known.
	(varpool_decide_const_value_known): Declare.
	* tree-ssa-ccp.c (fold_const_aggregate_ref): Update initializer folding.
	* lto-cgraph.c (lto_output_varpool_node): Store const_value_known.
	(input_varpool_node): Restore const_value_known.
	* tree-ssa-loop-ivcanon (constant_after_peeling): Check varpool for
	initializer folding.
	* ipa.c (ipa_discover_readonly_nonaddressable_var,
	function_and_variable_visibility): Compute const_value_known.
	* gimple-fold.c (get_symbol_constant_value): Use varpool for initializer
	folding.
	* varpool.c (varpool_decide_const_value_known): New function.

From-SVN: r163808
2010-09-03 10:15:54 +00:00
Uros Bizjak
cb1b497ec1 i386.md: Remove empty prepartion statements from splitters.
* config/i386/i386.md: Remove empty prepartion statements
	from splitters.

From-SVN: r163806
2010-09-03 12:05:38 +02:00
Marcus Shawcroft
f74bd71564 linux-atomic.c (__sync_val_compare_and_swap_4): Insert __builtin_expect().
2010-09-03  Marcus Shawcroft  <marcus.shawcroft@arm.com>

	* config/arm/linux-atomic.c (__sync_val_compare_and_swap_4): Insert __builtin_expect().
	(SUBWORD_VAL_CAS): Likewise.

From-SVN: r163805
2010-09-03 10:01:44 +00:00
Jan Hubicka
a482b1f5f4 passes.c (rest_of_decl_compilation): Do not add local vars into varpol.
* passes.c (rest_of_decl_compilation): Do not add local vars into varpol.
	* varpool.c (varpool_get_node, varpool_node): Sanity check that only
	static or extern vars are in varpool.
	(varpool_finalize_decl): Sanity check that only static vars are finalized.

From-SVN: r163804
2010-09-03 09:58:21 +00:00
Jakub Jelinek
2f757e4a8b re PR debug/45500 (ICE: in rtl_for_decl_init, at dwarf2out.c:16307 with -g -msse and using v16qi)
PR debug/45500
	* dwarf2out.c (rtl_for_decl_init): Give up for all generic vectors,
	not just generic vectors with BLKmode.

	* gcc.target/i386/pr45500.c: New test.

From-SVN: r163803
2010-09-03 11:53:44 +02:00
Richard Guenther
4d948885d0 tree.def (TARGET_MEM_REF): Merge TMR_SYMBOL and TMR_BASE.
2010-09-03  Richard Guenther  <rguenther@suse.de>

	* tree.def (TARGET_MEM_REF): Merge TMR_SYMBOL and TMR_BASE.
	Move TMR_OFFSET to second operand.  Add TMR_INDEX2.
	* tree.h (TMR_SYMBOL): Remove.
	(TMR_BASE, TMR_OFFSET): Adjust.
	(TMR_INDEX2): New.
	* alias.c (ao_ref_from_mem): Use TMR_BASE.
	* builtins.c (get_object_alignment): Merge TMR_BASE and
	TMR_SYMBOL handling.
	* cfgexpand.c (expand_debug_expr): Use TMR_BASE.
	* gimple.c (get_base_address): Merge MEM_REF and TARGET_MEM_REF
	handling.  Also allow TARGET_MEM_REF as base address.
	(walk_stmt_load_store_addr_ops): TMR_BASE is always non-NULL.
	* gimplify.c (gimplify_expr): Gimplify TMR_BASE like MEM_REF
	base.  Gimplify TMR_INDEX2.
	* tree-cfg.c (verify_types_in_gimple_reference): Adjust.
	* tree-dfa.c (get_ref_base_and_extent): Likewise.
	(get_addr_base_and_unit_offset): Likewise.
	* tree-eh.c (tree_could_trap_p): Likewise.
	* tree-pretty-print.c (dump_generic_node): Likewise.
	* tree-ssa-address.c (tree_mem_ref_addr): Simplify.  Handle
	TMR_INDEX2.
	(create_mem_ref_raw): Merge symbol and base.  Move 2ndary
	base to index2.
	(get_address_description): Reconstruct addres description
	from merged TMR_BASE and TMR_INDEX2.
	(maybe_fold_tmr): Fold propagated addresses.
	* tree-ssa-alias.c (indirect_ref_may_alias_decl_p): Merge
	MEM_REF and TARGET_MEM_REF paths.
	(indirect_refs_may_alias_p): Likewise.
	* tree-ssa-live.c (mark_all_vars_used_1): Handle TMR_INDEX2
	instead of TMR_SYMBOL.
	* tree-ssa-operands.c (get_tmr_operands): Simplify.
	* tree-ssa-pre.c (create_component_ref_by_pieces_1): Adjust
	according to changes ...
	* tree-ssa-sccvn.c (copy_reference_ops_from_ref): ... here.
	Split TARGET_MEM_REF into two fields plus the base.
	* tree.c (mem_ref_offset): Simplify.
	* tree-ssa-loop-im.c (for_each_index): Handle TMR_INDEX2.
	* tree-ssa-loop-ivopts.c (find_interesting_uses_address): Likewise.
	Strip NOPs when folding MEM_REF addresses.
	* tree-ssa-sink.c (is_hidden_global_store): Handle TARGET_MEM_REF.
	* gimple-fold.c (maybe_fold_reference): Fold TARGET_MEM_REF here ...
	(fold_gimple_assign): ... not here.

From-SVN: r163802
2010-09-03 09:50:17 +00:00
Richard Guenther
b3ec52d088 lto-elf.c (validate_file): Always error if validation fails.
2010-09-03  Richard Guenther  <rguenther@suse.de>

	* lto-elf.c (validate_file): Always error if validation fails.

From-SVN: r163800
2010-09-03 09:42:37 +00:00
Mingjie Xing
4904231323 Fix shift count truncate problem for loongson.
From-SVN: r163799
2010-09-03 09:29:19 +00:00
Daniel Kraft
e5ca969363 re PR fortran/44602 ([F2008] EXIT: Jump to end of construct)
2010-09-03  Daniel Kraft  <d@domob.eu>

	PR fortran/44602
	* gfortran.h (struct gfc_code): Renamed `whichloop' to
	`which_construct' as this is no longer restricted to loops.
	* parse.h (struct gfc_state_data): New field `construct'.
	* match.c (match_exit_cycle): Handle EXIT from non-loops.
	* parse.c (push_state): Set `construct' field.
	* resolve.c (resolve_select_type): Extend comment.
	* trans-stmt.c (gfc_trans_if): Add exit label.
	(gfc_trans_block_construct), (gfc_trans_select): Ditto.
	(gfc_trans_simple_do): Store exit/cycle labels on the gfc_code itself.
	(gfc_trans_do), (gfc_trans_do_while): Ditto.
	(gfc_trans_exit): Use new name `which_construct' instead of `whichloop'.
	(gfc_trans_cycle): Ditto.
	(gfc_trans_if_1): Use fold_build3_loc instead of fold_build3.

2010-09-03  Daniel Kraft  <d@domob.eu>

	PR fortran/44602
	* gfortran.dg/exit_2.f08; Adapt error messages.
	* gfortran.dg/exit_3.f08: New test.
	* gfortran.dg/exit_4.f08: New test.
	* gfortran.dg/exit_5.f03: New test.

From-SVN: r163798
2010-09-03 10:01:51 +02:00
GCC Administrator
e97e08bc2e Daily bump.
From-SVN: r163797
2010-09-03 00:18:07 +00:00
Richard Henderson
92053f386a configure.ac (gcc_cv_as_cfi_advance_working): Use objdump instead of readelf in the test.
* configure.ac (gcc_cv_as_cfi_advance_working): Use objdump
	instead of readelf in the test.
	(gcc_cv_as_cfi_sections_directive): Check for correct relocation
	in the .debug_frame section for coff targets.
	* configure: Rebuild.

From-SVN: r163793
2010-09-02 17:02:53 -07:00
Francois-Xavier Coudert
36d9e52fff trans-intrinsic.c (gfc_conv_intrinsic_aint): Fix whitespace.
* trans-intrinsic.c (gfc_conv_intrinsic_aint): Fix whitespace.
	(gfc_conv_intrinsic_ishft): Only evaluate arguments once.
	(gfc_conv_intrinsic_ishftc): Only evaluate arguments once.
	* intrinsic.texi (RSHIFT): Fix documentation.

	* gfortran.dg/ishft_4.f90: New test.

From-SVN: r163792
2010-09-02 22:29:53 +00:00
Anatoly Sokolov
184866c501 m32c.h (CLASS_LIKELY_SPILLED_P): Remove.
* config/m32c/m32c.h (CLASS_LIKELY_SPILLED_P): Remove.
	* config/m32c/m32c-protos.h (m32c_class_likely_spilled_p): Remove.
	* config/m32c/m32c.c (TARGET_CLASS_LIKELY_SPILLED_P): Define.
	(m32c_class_likely_spilled_p): Make static. Change argument type to
	reg_class_t. Change result type to bool.

From-SVN: r163788
2010-09-02 22:17:12 +04:00
Michael Meissner
688e49197d Optimize (double)(long) to generate FRIZ if -ffast-math
From-SVN: r163786
2010-09-02 17:10:15 +00:00
Joseph Myers
398da2ac31 * opth-gen.awk (quote, comma): Remove unused variables.
From-SVN: r163785
2010-09-02 17:39:29 +01:00
Joseph Myers
d1779886d5 c.opt (falt-external-templates, [...]): Mark no longer supported in help text.
* c.opt (falt-external-templates, fhuge-objects, fvtable-gc,
	fvtable-thunks, fxref): Mark no longer supported in help text.

From-SVN: r163784
2010-09-02 17:35:14 +01:00
Joseph Myers
e196cc8dd9 * jvspec.c (jvgenmain_spec): Don't handle -fnew-verifier.
From-SVN: r163783
2010-09-02 17:27:57 +01:00
Ryan Mansfield
fe7645b900 arm.c (arm_override_options): Correct fall-back code to use SUBTARGET_CPU_DEFAULT.
2010-09-02  Ryan Mansfield  <rmansfield@qnx.com>

	* arm.c (arm_override_options): Correct fall-back code to use
	SUBTARGET_CPU_DEFAULT.

From-SVN: r163782
2010-09-02 15:35:04 +00:00