Commit Graph

110166 Commits

Author SHA1 Message Date
Rainer Orth e35fceb583 config-list.mk (LIST): Append OPT-enable-obsolete to alpha-dec-osf5.1, mips-sgi-irix6.5.
* config-list.mk (LIST): Append OPT-enable-obsolete to
	alpha-dec-osf5.1, mips-sgi-irix6.5.

From-SVN: r175754
2011-07-01 11:27:00 +00:00
Richard Guenther e8fdf1cd90 re PR middle-end/49596 (FAIL: gcc.dg/torture/pr43879_1.c)
2011-07-01  Richard Guenther  <rguenther@suse.de>

	PR middle-end/49596
	* cgraph.h (varpool_all_refs_explicit_p): Not analyzed nodes
	may have unknown refs.

From-SVN: r175753
2011-07-01 11:13:13 +00:00
Kai Tietz 80d3dd383a tree-ssa-forwprop.c (simplify_bitwise_binary): Fix typo.
2011-07-01  Kai Tietz  <ktietz@redhat.com>

        * tree-ssa-forwprop.c (simplify_bitwise_binary): Fix typo.

2011-07-01  Kai Tietz  <ktietz@redhat.com>

        * gcc.dg/tree-ssa/bitwise-sink.c: New test.

From-SVN: r175752
2011-07-01 12:00:25 +02:00
Rainer Orth 179fc656fa config.gcc: Obsolete alpha*-dec-osf5.1, mips-sgi-irix6.5.
* config.gcc: Obsolete alpha*-dec-osf5.1, mips-sgi-irix6.5.
	* doc/install.texi (Specific, alpha*-dec-osf5.1): Document it.
	(Specific, mips-sgi-irix6): Likewise.

From-SVN: r175751
2011-07-01 09:25:29 +00:00
Rainer Orth 14a393a3fb re PR libmudflap/49549 (Use of --noinhibit-exec is unportable)
libmudflap:
	PR libmudflap/49549
	* testsuite/lib/libmudflap.exp (load_gcc_lib): Load
	target-supports.exp.
	* testsuite/libmudflap.cth/cthfrags.exp: Only pass
	--noinhibit-exec to GNU ld.

	gcc:
	PR libmudflap/49549
	* doc/sourcebuild.texi (Effective-Target Keywords): Document gld.

	gcc/testsuite:
	PR libmudflap/49549
	* lib/target-supports.exp (check_effective_target_gld): New proc.

From-SVN: r175749
2011-07-01 08:59:20 +00:00
Jakub Jelinek 3aecd443da tree-pretty-print.c (dump_generic_code): Print [idx]= and [idx1 ...
* tree-pretty-print.c (dump_generic_code) <case CONSTRUCTOR>: Print
	[idx]= and [idx1 ... idx2]= before initializers if needed for
	array initializers.

From-SVN: r175748
2011-07-01 10:21:09 +02:00
Chen Liqin 7474f71976 config.gcc (score-*-elf): Remove score7.o.
2011-07-01  Chen Liqin  <liqin.gcc@gmail.com>

        * config.gcc (score-*-elf): Remove score7.o.
        * config/score/t-score-elf: Likewise.
        * config/score/score.c: Merge score7 to score.c and remove forwarding functions.
        * config/score/score7.c: Deleted.
        * config/score/score7.h: Deleted.

From-SVN: r175747
2011-07-01 07:51:38 +00:00
Richard Guenther ab70d825c6 re PR middle-end/49603 (177.mesa in SPEC CPU 2000 failed to build)
2011-07-01  Richard Guenther  <rguenther@suse.de>

	PR tree-optimization/49603
	* tree-vect-stmts.c (vectorizable_load): Remove unnecessary
	assert.

	* gcc.dg/torture/pr49603.c: New testcase.

From-SVN: r175746
2011-07-01 06:56:18 +00:00
Jason Merrill 59198f271e correct changelog
From-SVN: r175744
2011-06-30 20:54:27 -04:00
Jason Merrill 17d208b54e re PR c++/49387 (t.cxx:140: error: too many initializers for ‘const __class_type_info_pseudo’)
PR c++/49387
	* rtti.c (get_pseudo_ti_index): Call complete_type.

From-SVN: r175743
2011-06-30 20:53:10 -04:00
GCC Administrator 0bd96aad7a Daily bump.
From-SVN: r175742
2011-07-01 00:17:43 +00:00
Jason Merrill e2c17be05b re PR c++/49569 (-std=gnu++0x causes segmentation fault)
PR c++/49569
	* method.c (implicitly_declare_fn): Set DECL_PARM_LEVEL and
	DECL_PARM_INDEX on rhs parm.

From-SVN: r175738
2011-06-30 20:03:58 -04:00
Jason Merrill 98ff399662 * pt.c (iterative_hash_template_arg): Use cp_tree_operand_length.
From-SVN: r175737
2011-06-30 20:03:43 -04:00
Jason Merrill b9d6b0153c re PR c++/49355 (new T({""}) crashes G++ when struct T { std::string foobar };)
PR c++/49355
	* tree.c (stabilize_init): Handle aggregate initialization.

From-SVN: r175736
2011-06-30 20:03:34 -04:00
Martin Jambor 1ac93f1083 tree-sra.c (struct access): Rename total_scalarization to grp_total_scalarization
2011-06-30  Martin Jambor  <mjambor@suse.cz>

	* tree-sra.c (struct access): Rename total_scalarization to
	grp_total_scalarization
	(completely_scalarize_var): New function.
	(sort_and_splice_var_accesses): Set total_scalarization in the
	representative access.
	(analyze_access_subtree): Propagate total scalarization accross the
	tree, no holes in totally scalarized trees, simplify coverage
	computation.
	(analyze_all_variable_accesses): Call completely_scalarize_var instead
	of completely_scalarize_record.

	* testsuite/gcc.dg/tree-ssa/sra-12.c: New test.

From-SVN: r175733
2011-06-30 23:54:29 +02:00
Jason Merrill ca1085f03c re PR c++/48481 (C++ overloading memory hog)
PR c++/48481
	* name-lookup.c (struct arg_lookup): Add fn_set.
	(add_function): Check it.
	(lookup_arg_dependent_1): Initialize it.

From-SVN: r175732
2011-06-30 17:10:03 -04:00
Jason Merrill 4757b0716f * g++.dg/cpp0x/named.C: Test subobject of xvalue.
From-SVN: r175731
2011-06-30 17:09:55 -04:00
Richard Henderson 97f309c3e2 i386: Always use TARGET_DEEP_BRANCH_PREDICTION.
While it could be possible to output_set_got such that we can
individually annotate the instructions, it's simpler to simply
admit that all processors currently being manufactured do want
deep branch prediction.  At which point all of the complication
simply goes away.

        * config/i386/i386.h (X86_TUNE_DEEP_BRANCH_PREDICTION): Remove.
        (TARGET_DEEP_BRANCH_PREDICTION): Remove.
        * config/i386/i386.c: Don't include dwarf2out.h.
        (initial_ix86_tune_features): Remove X86_TUNE_DEEP_BRANCH_PREDICTION.
        (output_set_got): Don't test TARGET_DEEP_BRANCH_PREDICTION, delete
        all code dead thereafter.  Don't do dwarf2out_flush_queued_reg_saves.
        (ix86_expand_prologue): Set REG_CFA_FLUSH_QUEUE on set_got insn.
        (machopic_output_stub): Don't test TARGET_DEEP_BRANCH_PREDICTION.

From-SVN: r175730
2011-06-30 14:08:54 -07:00
Richard Henderson ef284364b4 dwarf2out: Add REG_CFA_FLUSH_QUEUE.
* reg-notes.def (REG_CFA_FLUSH_QUEUE): New.
        * dwarf2out.c (dwarf2out_frame_debug): Handle it.
        * final.c (final_scan_insn): Look for it, and invoke
        dwarf2out_frame_debug before the insn if found.

From-SVN: r175729
2011-06-30 14:04:23 -07:00
Richard Henderson c8412f9770 dwarf2out: Handle pc_rtx as return column in REG_CFA_OFFSET too.
* dwarf2out.c (dwarf2out_frame_debug_cfa_offset): Allow PC_RTX
        as a source, and interpret that as DWARF_FRAME_RETURN_COLUMN.

From-SVN: r175728
2011-06-30 14:01:06 -07:00
Richard Henderson e3f903d88a dwarf2out: Convert regs_saved_in_regs to VEC.
* dwarf2out.c (struct reg_saved_in_data): Provide a typedef.
        Define a vector of this type.
        (regs_saved_in_regs): Use a VEC.
        (num_regs_saved_in_regs): Remove.
        (compare_reg_or_pc): New.
        (record_reg_saved_in_reg): Split out from...
        (dwarf2out_flush_queued_reg_saves): ... here.
        (clobbers_queued_reg_save): Update for VEC.
        (reg_saved_in): Likewise.
        (dwarf2out_frame_debug_init): Likewise.
        (dwarf2out_reg_save_reg): Use record_reg_saved_in_reg.
        (dwarf2out_frame_debug_cfa_register): Likewise.

From-SVN: r175727
2011-06-30 13:59:41 -07:00
Eric Botcazou e2c9010ae8 re PR tree-optimization/49572 (gcc.dg/tree-ssa/20030709-2.c scan-tree-dump-times cddce2 ".rtmem" 0)
PR tree-optimization/49572
	* tree-ssa-dom.c (initialize_hash_element) <GIMPLE_SINGLE_RHS>: Use the
	type of the RHS instead of that of the LHS for the expression type.

From-SVN: r175721
2011-06-30 19:32:23 +00:00
Eric Botcazou dbb07bbc1b df-scan.c (df_get_entry_block_def_set): Use INCOMING_REGNO macro unconditionally.
* df-scan.c (df_get_entry_block_def_set): Use INCOMING_REGNO macro
	unconditionally.

From-SVN: r175718
2011-06-30 17:56:50 +00:00
Richard Guenther 1565af0830 opts.c (finish_options): Do not disable IPA-PTA during ltrans.
2011-06-30  Richard Guenther  <rguenther@suse.de>

	* opts.c (finish_options): Do not disable IPA-PTA during ltrans.
	* tree-ssa-structalias.c (create_variable_info_for): Do not
	add initial constraints for non-var-decls.  Properly handle
	globals in other ltrans partitions.
	(intra_create_variable_infos): Manually create constraints for
	the fake no-alias parameter.
	(ipa_pta_execute): Dump the cgraph, handle ltrans partitions properly
	and assert there are no clones.

From-SVN: r175707
2011-06-30 14:03:25 +00:00
Richard Guenther 42373e0b05 re PR tree-optimization/46787 (Does not vectorize loop with load from scalar variable)
2011-06-30  Richard Guenther  <rguenther@suse.de>

	PR tree-optimization/46787
	* tree-data-ref.c (dr_address_invariant_p): Remove.
	(find_data_references_in_stmt): Invariant accesses are ok now.
	* tree-vect-stmts.c (vectorizable_load): Handle invariant
	loads.
	* tree-vect-data-refs.c (vect_analyze_data_ref_access): Allow
	invariant loads.

	* gcc.dg/vect/vect-121.c: New testcase.

From-SVN: r175704
2011-06-30 13:27:43 +00:00
Martin Jambor 7aa62ea1f8 re PR tree-optimization/49094 (ARM aligned(1) attribute is sometimes dropped)
2011-06-30  Martin Jambor  <mjambor@suse.cz>

	PR tree-optimization/49094
	* tree-sra.c (tree_non_mode_aligned_mem_p): New function.
	(build_accesses_from_assign): Use it.

	* testsuite/gcc.dg/tree-ssa/pr49094.c: New test.

From-SVN: r175703
2011-06-30 15:24:19 +02:00
Joseph Myers a32dae63a2 * de.po: Update.
From-SVN: r175698
2011-06-30 13:26:08 +01:00
Jakub Jelinek d9048d168c tree-ssa-structalias.c (find_func_aliases_for_builtin_call): Fix handling of BUILT_IN_ASSUME_ALIGNED.
* tree-ssa-structalias.c (find_func_aliases_for_builtin_call): Fix
	handling of BUILT_IN_ASSUME_ALIGNED.

From-SVN: r175695
2011-06-30 12:43:59 +02:00
Jakub Jelinek f60f32b356 re PR debug/49364 ([4.7 regressions] Empty .debug_abbrev sections confuse SGI nm)
PR debug/49364
	* dwarf2out.c (output_abbrev_section): Don't return early
	if abbrev_die_table_in_use is 1.
	(dwarf2out_finish): Instead don't call output_abbrev_section
	nor emit abbrev_section_label in that case.

From-SVN: r175694
2011-06-30 12:26:32 +02:00
Jakub Jelinek 21ea4922ac re PR fortran/49540 (Memory-hog with large DATA stmt)
PR fortran/49540
	* gfortran.h (gfc_constructor): Add repeat field.
	* trans-array.c (gfc_conv_array_initializer): Handle repeat > 1.
	* array.c (current_expand): Add repeat field.
	(expand_constructor): Copy repeat.
	* constructor.c (node_free, node_copy, gfc_constructor_get,
	gfc_constructor_lookup): Handle repeat field.
	(gfc_constructor_lookup_next, gfc_constructor_remove): New functions.
	* data.h (gfc_assign_data_value): Add mpz_t * argument.
	(gfc_assign_data_value_range): Removed.
	* constructor.h (gfc_constructor_advance): Removed.
	(gfc_constructor_lookup_next, gfc_constructor_remove): New prototypes.
	* data.c (gfc_assign_data_value): Add REPEAT argument, handle it and
	also handle overwriting a range with a single entry.
	(gfc_assign_data_value_range): Removed.
	* resolve.c (check_data_variable): Adjust gfc_assign_data_value
	call.  Use gfc_assign_data_value instead of
	gfc_assign_data_value_expr.

	* gfortran.dg/pr49540-1.f90: New test.
	* gfortran.dg/pr49540-2.f90: New test.

From-SVN: r175693
2011-06-30 12:25:40 +02:00
Rainer Orth f7069d58f6 re PR ada/49511 (acats test setup fails on HP-UX using posix shell)
PR ada/49511
	* ada/acats/run_acats (which): Use last field of type -p output.

From-SVN: r175690
2011-06-30 10:04:52 +00:00
Dominique d'Humieres 2f0c1df6f3 re PR libobjc/36610 (objc_msg_sendv is broken for targets which pass argument via registers)
2011-06-28  Dominique d'Humieres  <dominiq@lps.ens.fr>
	    Iain Sandoe  <iains@gcc.gnu.org>

	PR libobjc/36610
	* objc.dg/torture/forward-1.m: Remove dg-xfail-run-if.
	Only skip on 64-bit *-*-darwin8* && !objc2.

Co-Authored-By: Iain Sandoe <iains@gcc.gnu.org>

From-SVN: r175689
2011-06-30 10:02:45 +00:00
Nick Clifton 7cce15d4b3 v850.h (CPP_SPEC): Define __v850e__ when compiling for the V850E.
* config/v850/v850.h (CPP_SPEC): Define __v850e__ when compiling
	for the V850E.

From-SVN: r175688
2011-06-30 09:13:49 +00:00
Richard Guenther 4372bd28f1 re PR tree-optimization/38752 (ICE in set_uids_in_ptset, at tree-ssa-structalias.c:4817)
2011-06-30  Richard Guenther  <rguenther@suse.de>

	PR tree-optimization/38752
	* gcc.c-torture/compile/pr38752.c: New testcase.

From-SVN: r175684
2011-06-30 08:44:18 +00:00
Jakub Jelinek ce7e54ff0d tree-ssa-structalias.c (find_func_aliases_for_builtin_call): Fix handling of BUILT_IN_MEMPCPY_CHK and BUILT_IN_STPCPY_CHK.
* tree-ssa-structalias.c (find_func_aliases_for_builtin_call): Fix
	handling of BUILT_IN_MEMPCPY_CHK and BUILT_IN_STPCPY_CHK.

From-SVN: r175682
2011-06-30 10:06:01 +02:00
Ira Rosen 83197f3733 tree-vect-loop.c (vect_determine_vectorization_factor): Handle both pattern and original statements if necessary.
* tree-vect-loop.c (vect_determine_vectorization_factor): Handle
        both pattern and original statements if necessary.
        (vect_transform_loop): Likewise.
        * tree-vect-patterns.c (vect_pattern_recog): Update documentation.
        * tree-vect-stmts.c (vect_mark_relevant): Add new argument.
        Mark the pattern statement only if the original statement doesn't
        have its own uses.
        (process_use): Call vect_mark_relevant with additional parameter.
        (vect_mark_stmts_to_be_vectorized): Likewise.
        (vect_get_vec_def_for_operand): Use vectorized pattern statement.
        (vect_analyze_stmt): Handle both pattern and original statements
        if necessary.
        (vect_transform_stmt): Don't store vectorized pattern statement
        in the original statement.
        (vect_is_simple_use_1): Use related pattern statement only if the
        original statement is irrelevant.
        * tree-vect-slp.c (vect_get_and_check_slp_defs): Likewise.

From-SVN: r175681
2011-06-30 06:37:41 +00:00
GCC Administrator 0dcd5f9db1 Daily bump.
From-SVN: r175678
2011-06-30 00:18:02 +00:00
Jason Merrill 1f65a8c8e5 re PR c++/49216 ([C++0x] ICE on compiling new-expression with braced-init-list for arrays)
PR c++/49216
	* init.c (build_new_1): Pass {} down to build_vec_init.
	(build_vec_init): Handle it.

From-SVN: r175674
2011-06-29 18:28:15 -04:00
Jason Merrill 417ae18714 DR 1207 PR c++/49003
DR 1207
	PR c++/49003
	* cp-tree.h (struct saved_scope): Add x_current_class_ptr,
	x_current_class_ref.
	(current_class_ptr, current_class_ref): Use them.
	* decl.c (build_this_parm): Handle getting the class type.
	* parser.c (cp_parser_late_return_type_opt): Set up 'this'
	for use within the trailing return type.

From-SVN: r175671
2011-06-29 17:19:31 -04:00
Jason Merrill 3fe9889732 pt.c (tsubst_decl): In unevaluated operand, don't tsubst DECL_INITIAL unless our type use auto.
* pt.c (tsubst_decl) [VAR_DECL]: In unevaluated operand,
	don't tsubst DECL_INITIAL unless our type use auto.

From-SVN: r175670
2011-06-29 17:19:22 -04:00
François Dumont 4c2d93dbfa set.h, [...]: Remove base class default constructor calls.
2011-06-29  François Dumont  <francois.cppdevs@free.fr>

	* include/debug/set.h, unordered_map, multiset.h, forward_list,
	unordered_set, vector, deque, string, list, multimap.h: Remove base
	class default constructor calls.
	* include/debug/map.h: Likewise and cleanup several redefinition of
	base iterator typedef.

From-SVN: r175665
2011-06-29 20:11:50 +00:00
Changpeng Fang 5c0d88e64a Auto-vectorizer generates 128-bit AVX insns by default for bdver1.
* config/i386/i386.opt (mprefer-avx128): Redefine the flag as a Mask option.
	* config/i386/i386.h (ix86_tune_indices): Add X86_TUNE_AVX128_OPTIMAL entry.
	(TARGET_AVX128_OPTIMAL): New definition.
	* config/i386/i386.c (initial_ix86_tune_features): Initialize
	X86_TUNE_AVX128_OPTIMAL entry.
	(ix86_option_override_internal): Enable the generation
	of the 128-bit instructions when TARGET_AVX128_OPTIMAL is set.
	(ix86_preferred_simd_mode): Use TARGET_PREFER_AVX128.
	(ix86_autovectorize_vector_sizes): Use TARGET_PREFER_AVX128.

From-SVN: r175661
2011-06-29 17:53:49 +00:00
Jason Merrill 55d80bc439 re PR c++/49272 (FAIL: g++.old-deja/g++.jason/rfg10.C (test for errors, line 11))
PR c++/49272
	* g++.old-deja/g++.jason/rfg10.C: Accept other overflow error too.

From-SVN: r175659
2011-06-29 13:38:53 -04:00
Jason Merrill 11324716c1 re PR c++/49520 ([C++0x] using-declaration and operator&& confuses constexpr)
PR c++/49520
	* semantics.c (constexpr_fn_retval): Handle CLEANUP_POINT_EXPR here.
	(massage_constexpr_body): Not here.

From-SVN: r175658
2011-06-29 13:15:16 -04:00
Jason Merrill 40d55020a3 re PR c++/49554 ([C++0x] lambda capture causes "cannot call member function ... without object")
PR c++/49554
	* semantics.c (lambda_proxy_type): New.
	(build_capture_proxy): Use it.
	* cp-tree.h (DECLTYPE_FOR_LAMBDA_PROXY): New.
	* pt.c (tsubst) [DECLTYPE_TYPE]: Use them.

From-SVN: r175657
2011-06-29 13:15:06 -04:00
Ulrich Weigand de95483d1e re PR rtl-optimization/49114 ([x32] Reload failed to handle (set reg:X (plus:X (subreg:X (reg:Y) 0) (const_int))))
PR rtl-optimization/49114
	* reload.c (push_reload): Define in_subreg_loc and out_subreg_loc
	only if LIMIT_RELOAD_CLASS to avoid -Werror build breaks.

From-SVN: r175652
2011-06-29 16:19:08 +00:00
Eric Botcazou 931050d044 re PR tree-optimization/49539 (ICE building gnattools)
PR tree-optimization/49539
	* tree-ssa-forwprop.c (can_propagate_from): Check for abnormal SSA
	names by means of stmt_references_abnormal_ssa_name.
	(associate_plusminus): Call can_propagate_from before propagating
	from definition statements.
	(ssa_forward_propagate_and_combine): Remove superfluous newline.

From-SVN: r175650
2011-06-29 16:02:56 +00:00
Jason Merrill f732fa7b6c re PR c++/45923 (constexpr diagnostics, more more)
PR c++/45923
	* class.c (explain_non_literal_class): New.
	(finalize_literal_type_property): Call it.
	* cp-tree.h: Declare it.
	* semantics.c (ensure_literal_type_for_constexpr_object): Call it.
	(is_valid_constexpr_fn): Likewise.
	(massage_constexpr_body): Split out from...
	(register_constexpr_fundef): ...here.
	(is_instantiation_of_constexpr): New.
	(expand_or_defer_fn_1): Leave DECL_SAVED_TREE alone in that case.
	(explain_invalid_constexpr_fn): New.
	(cxx_eval_call_expression): Call it.
	(potential_constant_expression_1): Likewise.  Avoid redundant errors.
	* method.c (process_subob_fn): Diagnose non-constexpr.
	(walk_field_subobs): Likewise.
	(synthesized_method_walk): Don't shortcut if we want diagnostics.
	(explain_implicit_non_constexpr): New.
	(defaulted_late_check): Use it.
	* call.c (build_cxx_call): Remember location.

From-SVN: r175646
2011-06-29 10:34:58 -04:00
Jason Merrill 874d29e5be method.c (maybe_explain_implicit_delete): Use pointer_set instead of htab.
* method.c (maybe_explain_implicit_delete): Use pointer_set
	instead of htab.

From-SVN: r175645
2011-06-29 10:34:47 -04:00
Jason Merrill b198484e89 class.c (finalize_literal_type_property): Update conditions.
* class.c (finalize_literal_type_property): Update conditions.
	* method.c (defaulted_late_check): Set TYPE_HAS_CONSTEXPR_CTOR.

From-SVN: r175644
2011-06-29 10:34:39 -04:00