Commit Graph

118855 Commits

Author SHA1 Message Date
Venkataramanan Kumar
726d44426b Enable PTA_PRFCHW for AMD bdver1, bdver2, btver1 and btver2 cores
From-SVN: r191245
2012-09-13 09:46:28 +00:00
Christophe Lyon
e619b1739d arm.md (arm_rev): Factorize thumb1, thumb2 and arm variants for rev instruction..
2012-09-13  Christophe Lyon  <christophe.lyon@linaro.org>
	    Richard Earnshaw  <rearnsha@arm.com>

	gcc/
	* config/arm/arm.md (arm_rev): Factorize thumb1, thumb2 and arm
	variants for rev instruction..
	(thumb1_rev): Delete pattern.
	(arm_revsh): New pattern to support builtin_bswap16.
	(arm_rev16, bswaphi2): Likewise.

	gcc/testsuite/
	* gcc.target/arm/builtin-bswap-1.c: New testcase.


Co-Authored-By: Richard Earnshaw <rearnsha@arm.com>

From-SVN: r191243
2012-09-13 10:55:30 +02:00
Kyrylo Tkachov
b9e75f4fcc For Kyryll
2012-09-12  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>

	* c-c++-common/pr51712.c: Handle for short-enum targets.

From-SVN: r191241
2012-09-13 08:20:22 +00:00
Terry Guo
cb85ddf7eb combine-movs.c: Check movs for ARM mode and lsrs for Thumb2 mode.
2012-09-12  Terry Guo  <terry.guo@arm.com>

        * gcc.target/arm/combine-movs.c: Check movs for ARM mode
        and lsrs for Thumb2 mode.

From-SVN: r191239
2012-09-13 05:36:19 +00:00
Teresa Johnson
c1736aea43 This fixes PR gcov-profile/54487 where the gcda files were not locked by the profile-use read...
This fixes PR gcov-profile/54487 where the gcda files were not locked
by the profile-use read, enabling writes by other instrumented compiles
to change the profile in the middle of the profile use read. The GCOV_LOCKED
macro was not set because it was guarded by HOST_HAS_F_SETLKW, which was
never set. The fix is to add a compile test in the configure to set it.

2012-09-12  Teresa Johnson  <tejohnson@google.com>

	PR gcov-profile/54487
	* configure.ac (HOST_HAS_F_SETLKW): Set based on compile
	test using F_SETLKW with fcntl.
	* configure, config.in: Regenerate.

From-SVN: r191238
2012-09-13 04:59:14 +00:00
GCC Administrator
8dec297cde Daily bump.
From-SVN: r191237
2012-09-13 00:17:42 +00:00
Jan Hubicka
128e0d8944 re PR fortran/48636 (Enable more inlining with -O2 and higher)
PR fortran/48636
	* gcc.dg/ipa/inlinehint-2.c: New testcase.
	* ipa-inline-analysis.c (dump_inline_hints): Dump loop stride.
	(set_hint_predicate): New function.
	(reset_inline_summary): Reset loop stride.
	(remap_predicate_after_duplication): New function.
	(remap_hint_predicate_after_duplication): New function.
	(inline_node_duplication_hook): Update.
	(dump_inline_summary): Dump stride summaries.
	(estimate_function_body_sizes): Compute strides.
	(remap_hint_predicate): New function.
	(inline_merge_summary): Use it.
	(inline_read_section): Read stride.
	(inline_write_summary): Write stride.
	* ipa-inline.c (want_inline_small_function_p): Handle strides.
	(edge_badness): Likewise.
	* ipa-inline.h (inline_hints_vals): Add stride hint.
	(inline_summary): Update stride.

From-SVN: r191232
2012-09-12 21:51:14 +00:00
Uros Bizjak
cb261eb727 i386.c (x86_prefetch_sse): Change to unsigned char.
* config/i386/i386.c (x86_prefetch_sse): Change to unsigned char.
	* config/i386/i386.h (x86_prefetch_sse): Ditto.

From-SVN: r191231
2012-09-12 21:25:13 +02:00
H.J. Lu
9691b9a7d3 Allow negative offset for UNSPEC_DTPOFF/UNSPEC_NTPOFF
gcc/

	PR target/54445
	* config/i386/predicates.md (x86_64_immediate_operand): Allow
	negative offset for UNSPEC_DTPOFF/UNSPEC_NTPOFF.

gcc/testsuite/

	PR target/54445
	* gcc.target/i386/pr54445-1.c: New file.
	* gcc.target/i386/pr54445-2.c: Likewise.

From-SVN: r191230
2012-09-12 11:08:59 -07:00
Jan Hubicka
c3c445e1cf common.opt (flto-partition): Add "max".
* common.opt (flto-partition): Add "max".
	* invoke.texi (flto-partition): Document "max"

	* lto.c (do_whole_program_analysis): Care timevars, statistics and
	AUX pointer cleaning. Add max partitioning.
	* lto-partition.c (enum symbol_class): New.
	(get_symbol_class): New function.
	(symbol_partitioned_p): New function.
	(add_references_to_partition): Remove.
	(add_aliases_to_partition): Remove.
	(add_cgraph_node_to_partition_1): Remove.
	(add_cgraph_node_to_partition): Remove.
	(add_symbol_to_partition): New function.
	(add_symbol_to_partition_1): New function.
	(contained_in_symbol): New function.
	(partition_cgraph_node_p): Remove.
	(partition_varpool_node_p): Remove.
	(partition_symbol_p): Remove.
	(lto_1_to_1_map): Cleanup.
	(lto_max_map): New.
	(lto_balanced_map): Update.
	(lto_promote_cross_file_statics): Update.
	* lto-partition.h (lto_max_map): Declare.
	* timevar.def (TV_WHOPR_PARTITIONING): New timevar.

From-SVN: r191229
2012-09-12 17:55:13 +00:00
Jan Hubicka
b5c7cdfb0a re PR lto/54312 (uniquify_nodes takes 12% of Mozilla LTO build)
PR lto/54312
	* lto.c (uniquify_nodes): Remove quadratic loop checking if the
	type is variant leader.

From-SVN: r191228
2012-09-12 16:26:19 +00:00
Uros Bizjak
ed56b7f958 i386.md: Comments on fma4 instruction selection reflect requirement on register pressure...
2012-09-12  Ganesh Gopalasubramanian  <Ganesh.Gopalasubramanian@amd.com>

	* config/i386/i386.md : Comments on fma4 instruction
	selection reflect requirement on register pressure based
	cost model.

	* config/i386/driver-i386.c (host_detect_local_cpu): fma4
	flag is set-reset as informed by the cpuid flag.

	* config/i386/i386.c (processor_alias_table): fma4
	flag is enabled for bdver2.

From-SVN: r191226
2012-09-12 17:23:01 +02:00
Richard Guenther
40b178f446 re PR tree-optimization/54489 (tree FRE uses an excessive amount of memory)
2012-09-12  Richard Guenther  <rguenther@suse.de>

	PR tree-optimization/54489
	* tree-ssa-pre.c: Include domwalk.h.
	(in_fre): Remove.
	(sccvn_valnum_from_value_id): New function.
	(debug_bitmap_sets_for): Simplify.
	(get_representative_for): Properly initialize the SCCVN valnum.
	(create_expression_by_pieces): Likewise.
	(insert_into_preds_of_block): Likewise.
	(can_PRE_operation): Remove.
	(make_values_for_phi): Simplify.
	(compute_avail): Likewise.
	(do_SCCVN_insertion): Remove.
	(eliminate_avail, eliminate_push_avail, eliminate_insert):
	New functions.
	(eliminate): Split and perform a domwalk.
	(eliminate_bb): Former eliminate part that is now dom-enter.
	(eliminate_leave_block): New function.
	(fini_eliminate): Likewise.
	(init_pre): Simplify.
	(fini_pre): Likewise.
	(execute_pre): Fold into do_pre and do_fre.
	(do_pre): Consume execute_pre.
	(do_fre): Likewise.
	* Makefile.in (tree-ssa-pre.o): Add domwalk.h dependency.

From-SVN: r191225
2012-09-12 14:46:22 +00:00
Diego Novillo
0dadc27181 vec.h: Remove compatibility notes for previous distinction between vectors of objects...
2012-09-12  Diego Novillo  <dnovillo@google.com>

	* vec.h: Remove compatibility notes for previous distinction
	between vectors of objects and vectors of pointers.

From-SVN: r191223
2012-09-12 09:51:52 -04:00
Christian Bruel
3fd42a6481 fix date
From-SVN: r191220
2012-09-12 15:08:29 +02:00
Christian Bruel
baeef6a1f9 newlib.h (NO_IMPLICIT_EXTERN_C): Define.
* config/sh/newlib.h (NO_IMPLICIT_EXTERN_C): Define.

From-SVN: r191219
2012-09-12 15:05:25 +02:00
Rainer Orth
9520425b6b Clear hardware capabilities on libstdc++.so with Sun as
* acinclude.m4 (GLIBCXX_CHECK_ASSEMBLER_HWCAP): Define.
	* configure.ac: Call GLIBCXX_CHECK_ASSEMBLER_HWCAP.
	* fragment.am (CONFIG_CXXFLAGS): Add $(HWCAP_FLAGS).
	* configure: Regenerate.
	* Makefile.in: Regenerate.
	* doc/Makefile.in: Regenerate.
	* include/Makefile.in: Regenerate.
	* libsupc++/Makefile.in: Regenerate.
	* po/Makefile.in: Regenerate.
	* python/Makefile.in: Regenerate.
	* src/Makefile.in: Regenerate.
	* src/c++11/Makefile.in: Regenerate.
	* src/c++98/Makefile.in: Regenerate.
	* testsuite/Makefile.in: Regenerate.

From-SVN: r191218
2012-09-12 12:38:15 +00:00
Rainer Orth
9081064aee Fix Solaris 9/x86 bootstrap
* rtl.h (FFS, FLOAT, ABS, PC): Don't undef.
	* system.h (FFS, FLOAT, ABS, PC): Undef.

From-SVN: r191217
2012-09-12 12:34:21 +00:00
Richard Guenther
0f042bc539 re PR middle-end/54553 (atribute optimize on function affects optimization for other functions)
2012-09-12  Richard Guenther  <rguenther@suse.de>

	PR middle-end/54553
	* common.opt (finline): Mark with Optimization.

From-SVN: r191215
2012-09-12 10:33:47 +00:00
Tobias Burnus
6273c3c2af re PR fortran/54225 (fortran compiler segfault processing ' print *, A(1,*) ')
2012-09-12  Tobias Burnus  <burnus@net-b.de>

        PR fortran/54225
        PR fortran/53306
        * array.c (match_subscript, gfc_match_array_ref): Fix
        diagnostic of coarray's '*'.

2012-09-12  Tobias Burnus  <burnus@net-b.de>

        PR fortran/54225
        PR fortran/53306
        * gfortran.dg/coarray_10.f90: Update dg-error.
        * gfortran.dg/coarray_28.f90: New.
        * gfortran.dg/array_section_3.f90: New.

From-SVN: r191213
2012-09-12 12:05:19 +02:00
Jakub Jelinek
98aa03f4cb * config.gcc: Obsolete picochip-*.
From-SVN: r191210
2012-09-12 11:01:02 +02:00
Nathan Froyd
e076319b26 mmix.h (MMIX_REG_OK_STRICT): Delete.
* config/mmix/mmix.h (MMIX_REG_OK_STRICT): Delete.
	(REG_CLASS_FROM_LETTER, CONST_OK_FOR_LETTER_P): Delete.
	(CONST_DOUBLE_OK_FOR_LETTER_P, EXTRA_CONSTRAINT): Delete.
	* config/mmix/mmix-protos.h (mmix_intval): Declare.
	(mmix_const_ok_for_letter_p, mmix_extra_constraint): Delete.
	(mmix_const_double_ok_for_letter_p): Delete.
	* config/mmix/constraints.md: New file.
	* config/mmix/mmix.md: Include it.
	(iordi3): Fix typo; use "I" instead of undefined "H" constraint.
	("*call_real"): Update comment about not using the "p" constraint.
	* config/mmix/predicates.md (mmix_reg_or_8bit_operand): Use
	satisfies_constraint_I.
	(mmix_address_operand): New predicate.
	(mmix_symbolic_or_address_operand): Use it instead of address_operand.
	* config/mmix/mmix.c: #include tm-constrs.h.
	(mmix_intval): Delete declaration.  Make non-static.
	(mmix_const_ok_for_letter_p, mmix_extra_constraint): Delete.
	(mmix_const_double_ok_for_letter_p): Delete.
	(mmix_legitimate_address_p): Use satisfies_constraint_I.
	(mmix_print_operand_address): Likewise.
	(mmix_emit_sp_add): Adjust to use insn_const_int_ok_for_constraint
	when matching "L" constraint.

Co-Authored-By: Hans-Peter Nilsson <hp@bitrange.com>

From-SVN: r191208
2012-09-12 01:52:36 +00:00
GCC Administrator
1da598fbd5 Daily bump.
From-SVN: r191206
2012-09-12 00:18:16 +00:00
Steven Bosscher
9a1b6b7a98 tree.h (expand_case): Move prototype ...
* tree.h (expand_case): Move prototype ...
	* expr.h (expand_case): ...here.
	(expand_sjlj_dispatch_table): New prototype.
	* stmt.c: Include pointer-set.h instead of bitmap.h.
	(expand_case): Use a pointer set instead of a bitmap for
	already-seen labels.  Fold label values here.
	(add_case_node): Don't fold label values here.
	(expand_sjlj_dispatch_table): New function.
	* except.c (sjlj_emit_dispatch_table): Use it.

From-SVN: r191203
2012-09-11 22:39:34 +00:00
Diego Novillo
7307261135 Add missing entry for r191165
From-SVN: r191201
2012-09-11 20:12:12 +00:00
Christophe Lyon
856ba7a46e neon-vset_lanes8.c, [...]: Fix for big-endian support.
2012-09-11  Christophe Lyon  <christophe.lyon@linaro.org>

	gcc/testsuite/
	* gcc.target/arm/neon-vset_lanes8.c, gcc.target/arm/pr51835.c,
	gcc.target/arm/pr48252.c: Fix for big-endian support.

From-SVN: r191200
2012-09-11 21:52:18 +02:00
Marc Glisse
148e45e516 tree-ssa-forwprop.c (simplify_vector_constructor): New function.
2012-09-11  Marc Glisse  <marc.glisse@inria.fr>

gcc/
        * tree-ssa-forwprop.c (simplify_vector_constructor): New function.
        (ssa_forward_propagate_and_combine): Call it.

gcc/testsuite/
        * gcc.dg/tree-ssa/forwprop-22.c: New testcase.

From-SVN: r191198
2012-09-11 16:51:15 +00:00
Diego Novillo
4595475a43 var-tracking.c (vt_add_function_parameter): Adjust for VEC changes.
2012-09-11  Diego Novillo  <dnovillo@google.com>

	* var-tracking.c (vt_add_function_parameter): Adjust for VEC
	changes.

From-SVN: r191197
2012-09-11 12:17:50 -04:00
Dominique d'Humieres
ba882ba2e3 darwin.c (darwin_asm_named_section): Adjust for VEC changes.
2012-09-11  Dominique Dhumieres  <dominiq@lps.ens.fr>

	* config/darwin.c (darwin_asm_named_section): Adjust for
	VEC changes.
	(darwin_asm_dwarf_section): Likewise.

From-SVN: r191192
2012-09-11 11:33:51 -04:00
Jakub Jelinek
635442bfd8 re PR libstdc++/54172 (__cxa_guard_acquire thread-safety issue)
PR libstdc++/54172
	* libsupc++/guard.cc (__cxa_guard_acquire): Fix up the last
	argument of the first __atomic_compare_exchange_n.

From-SVN: r191190
2012-09-11 17:22:54 +02:00
Martin Jambor
6211feb0ff dwarf2out.c (dwarf2out_abstract_function): Do not change cfun.
2012-09-11  Martin Jambor  <mjambor@suse.cz>

	* dwarf2out.c (dwarf2out_abstract_function): Do not change cfun.
	(premark_used_types): New parameter fun, use it instead of cfun.
	(gen_subprogram_die): Use DECL_STRUCT_FUNCTION (decl) instead of cfun,
	also pass it to premark_used_types.

From-SVN: r191186
2012-09-11 16:35:08 +02:00
Richard Guenther
b29402f047 lto.c (enum gtc_mode): Remove.
2012-09-11  Richard Guenther  <rguenther@suse.de>

	* lto.c (enum gtc_mode): Remove.
	(struct type_pair_d): Adjust.
	(lookup_type_pair): Likewise.
	(gimple_type_leader): Do not mark as deletable.
	(gimple_lookup_type_leader): Adjust.
	(gtc_visit): Likewise.
	(gimple_types_compatible_p_1): Likewise.
	(gimple_types_compatible_p): Likewise.
	(gimple_type_hash): Likewise.
	(gimple_register_type): Likewise.
	(read_cgraph_and_symbols): Manage lifetime of tables
	here.

From-SVN: r191184
2012-09-11 13:39:11 +00:00
Ramana Radhakrishnan
178a71a9ad Fix typo in documentation from last commit.
Co-Authored-By: Matthew Gretton-Dann <matthew.gretton-dann@arm.com>

From-SVN: r191182
2012-09-11 13:34:35 +00:00
Tobias Burnus
09df34c458 sourcebuild.texi (arm_neon_v2_ok): Fix @anchor.
2012-09-11  Tobias Burnus  <burnus@net-b.de>

        * doc/sourcebuild.texi (arm_neon_v2_ok): Fix @anchor.

From-SVN: r191181
2012-09-11 15:15:24 +02:00
Ramana Radhakrishnan
8b2ab9cbe4 Add support for vectorized fma.
2012-09-11  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
	    Matthew Gretton-Dann  <matthew.gretton-dann@arm.com>

	* config/arm/neon.md (fma<VCVTF:mode>4): New pattern.
	(*fmsub<VCVTF:mode>4): Likewise.
	* doc/sourcebuild.texi (arm_neon_v2_ok, arm_neon_v2_hw):  Document it.

2012-09-11  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
	    Matthew Gretton-Dann  <matthew.gretton-dann@arm.com>

	* gcc.target/arm/neon-vfma-1.c: New testcase.
	* gcc.target/arm/neon-vfms-1.c: Likewise.
	* gcc.target/arm/neon-vmla-1.c: Update test to use int instead
	of float.
	* gcc.target/arm/neon-vmls-1.c: Likewise.
	* lib/target-supports.exp (add_options_for_arm_neonv2): New
	function.
	(check_effective_target_arm_neonv2_ok_nocache): Likewise.
	(check_effective_target_arm_neonv2_ok): Likewise.
	(check_effective_target_arm_neonv2_hw): Likewise.
	(check_effective_target_arm_neonv2): Likewise.


Co-Authored-By: Matthew Gretton-Dann <matthew.gretton-dann@arm.com>

From-SVN: r191180
2012-09-11 12:53:00 +00:00
Aldy Hernandez
e0a6637cbd re PR middle-end/54149 (write introduction incorrect wrt the C11 memory model)
PR middle-end/54149
        * tree-ssa-loop-im.c (execute_sm_if_changed_flag_set): Only set
        flag for writes.

From-SVN: r191179
2012-09-11 12:28:02 +00:00
Bill Schmidt
ccdbfe9398 re PR middle-end/55492 (__atomic_load doesn't match ACQUIRE memory model)
2012-09-11  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

	PR tree-optimization/55492
	* doc/invoke.texi (max-slsr-cand-scan): New description.
	* gimple-ssa-strength-reduction.c (find_basis_for_candidate): Limit
	the time spent searching for a basis.
	* params.def (PARAM_MAX_SLSR_CANDIDATE_SCAN): New param.

From-SVN: r191178
2012-09-11 12:23:25 +00:00
Richard Guenther
b8f4e58fbc gimple.h (gimple_register_type): Remove.
2012-09-11  Richard Guenther  <rguenther@suse.de>

	* gimple.h (gimple_register_type): Remove.
	(print_gimple_types_stats): Adjust prototype.
	* lto-streamer.h (print_lto_report): Likewise.
	* lto-streamer.c (print_lto_report): Adjust.
	* gimple.c (gimple_types, type_hash_cache, enum gtc_mode,
	struct type_pair_d, lookup_type_pair, struct sccs,
	next_dfs_num, gtc_next_dfs_num, struct gimple_type_leader_entry_s,
	gimple_type_leader, gimple_lookup_type_leader, compare_type_names_p,
	gtc_visit, gimple_types_compatible_p_1, gimple_types_compatible_p,
	visit, iterative_hash_name, struct type_hash_pair,
	type_hash_pair_compare, iterative_hash_gimple_type, gimple_type_hash,
	gimple_type_eq, gimple_register_type_1, gimple_register_type):
	Move to lto/lto.c.
	(print_gimple_types_stats): Adjust.
	(free_gimple_type_tables): Likewise.

	lto/
	* lto.c (gimple_types, type_hash_cache, enum gtc_mode,
	struct type_pair_d, lookup_type_pair, struct sccs,
	next_dfs_num, gtc_next_dfs_num, struct gimple_type_leader_entry_s,
	gimple_type_leader, gimple_lookup_type_leader, compare_type_names_p,
	gtc_visit, gimple_types_compatible_p_1, gimple_types_compatible_p,
	visit, iterative_hash_name, struct type_hash_pair,
	type_hash_pair_compare, iterative_hash_gimple_type, gimple_type_hash,
	gimple_type_eq, gimple_register_type_1, gimple_register_type):
	Move here from gimple.c
	(read_cgraph_and_symbols): Free hash tables here.
	(print_lto_report_1): New function wrapping print_lto_report.
	(do_whole_program_analysis): Call it.
	(lto_main): Likewise.

From-SVN: r191177
2012-09-11 11:39:27 +00:00
Richard Guenther
2cbd94afd3 graphite-scop-detection.c (move_sd_regions): Adjust for VEC changes.
2012-09-11  Richard Guenther  <rguenther@suse.de>

	* graphite-scop-detection.c (move_sd_regions): Adjust for VEC
	changes.
	(scopdet_basic_block_info): Likewise.
	(build_scops_1): Likewise.
	(limit_scops): Likewise.

From-SVN: r191175
2012-09-11 09:35:18 +00:00
Richard Guenther
5a27a197d8 re PR middle-end/54515 (cc1plus sigsegv -O2 anonymous namespace)
2012-09-11  Richard Guenther  <rguenther@suse.de>

	PR middle-end/54515
	* gimple.c (get_base_address): Do not return NULL_TREE apart
	from for WITH_SIZE_EXPR.
	* gimple-fold.c (canonicalize_constructor_val): Do not call
	get_base_address when not necessary.

	* g++.dg/tree-ssa/pr54515.C: New testcase.

From-SVN: r191174
2012-09-11 08:32:29 +00:00
Andrew Pinski
d015040192 re PR middle-end/54362 (COND_EXPR not understood by either alias or ITM)
2012-09-10  Andrew Pinski  <apinski@cavium.com>

	PR tree-opt/54362
	* trans-mem.c (thread_private_new_memory): Handle COND_EXPR also.

2012-09-10  Andrew Pinski  <apinski@cavium.com>

	PR tree-opt/c54362
	* gcc.dg/tm/memopt-16.c: New testcase.

From-SVN: r191173
2012-09-10 21:21:30 -07:00
Andrew Pinski
01a723fa35 re PR middle-end/54362 (COND_EXPR not understood by either alias or ITM)
2012-09-10  Andrew Pinski  <apinski@cavium.com>

	PR tree-opt/54362
	* trans-mem.c (thread_private_new_memory): Handle COND_EXPR also.

2012-09-10  Andrew Pinski  <apinski@cavium.com>

	PR tree-opt/c54362
	* gcc.dg/tm/memopt-16.c: New testcase.

From-SVN: r191172
2012-09-10 21:21:00 -07:00
Maxim Kuvyrkov
5f3b7d7c57 m68k.c (m68k_sched_dfa_post_advance_cycle): Support starting scheduling from a pre-existing state.
* config/m68k/m68k.c (m68k_sched_dfa_post_advance_cycle): Support
	starting scheduling from a pre-existing state.

From-SVN: r191171
2012-09-11 01:32:45 +00:00
Paolo Carlini
e2e0303220 re PR c++/54541 (SFINAE bug: handling incomplete return types)
/cp
2012-09-10  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/54541
	PR c++/54542
	* call.c (build_cxx_call): Add tsubst_flags_t parameter, use
	require_complete_type_sfinae.
	(build_op_delete_call, build_over_call): Adjust.
	* typeck.c (build_x_compound_expr_from_vec): Add tsubst_flags_t
	parameter.
	(cp_build_function_call_vec): Adjust.
	* init.c (build_new_1): Likewise.
	* rtti.c (throw_bad_cast, throw_bad_typeid, build_dynamic_cast_1):
	Likewise.
	* optimize.c (build_delete_destructor_body): Likewise.
	* cp-tree.h: Adjust declarations.

	* call.c (convert_arg_to_ellipsis): Use require_complete_type_sfinae.

/testsuite
2012-09-10  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/54541
	PR c++/54542
	* g++.dg/cpp0x/sfinae40.C: New.
	* g++.dg/cpp0x/sfinae41.C: Likewise.

From-SVN: r191170
2012-09-11 01:05:12 +00:00
GCC Administrator
f0bdc1d25c Daily bump.
From-SVN: r191169
2012-09-11 00:18:25 +00:00
Diego Novillo
5ad7a43ec6 * testsuite-management/x86_64-unknown-linux-gnu.xfail: Update.
From-SVN: r191166
2012-09-10 20:04:25 -04:00
Diego Novillo
f32682ca25 Remove unnecessary VEC function overloads.
Several VEC member functions that accept an element 'T' used to have
two overloads: one taking 'T', the second taking 'T *'.

This used to be needed because of the interface dichotomy between
vectors of objects and vectors of pointers.  In the past, vectors of
pointers would use pass-by-value semantics, but vectors of objects
would use pass-by-reference semantics.  This is no longer necessary,
but the distinction had remained.

The main side-effect of this change is some code reduction in code
that manipulates vectors of objects.  For instance,

-  struct iterator_use *iuse;
-
-  iuse = VEC_safe_push (iterator_use, heap, iterator_uses, NULL);
-  iuse->iterator = iterator;
-  iuse->ptr = ptr;
+  struct iterator_use iuse = {iterator, ptr};
+  VEC_safe_push (iterator_use, heap, iterator_uses, iuse);

Compile time performance was not affected.

Tested on x86_64 and ppc64.

Also built all-gcc on all targets using VEC routines: arm, bfin, c6x,
epiphany, ia64, mips, sh, spu, and vms.

2012-09-10  Diego Novillo  <dnovillo@google.com>

	* vec.h (vec_t::quick_push): Remove overload that accepts 'T *'.
	Update all users.
	(vec_t::safe_push): Likewise.
	(vec_t::quick_insert): Likewise.
	(vec_t::lower_bound): Likewise.
	(vec_t::safe_insert): Likewise.
	(vec_t::replace): Change second argument to 'T &'.

From-SVN: r191165
2012-09-10 20:04:13 -04:00
Jason Merrill
da4c5b2465 re PR c++/54538 (Getting assembler messages when compiling)
PR c++/54538
	PR c++/53783
	* pt.c (tsubst_copy_and_build) [LAMBDA_EXPR]: Go back to using RECUR
	for LAMBDA_EXPR_EXTRA_SCOPE except for function scope.

From-SVN: r191164
2012-09-10 19:51:34 -04:00
Maciej W. Rozycki
05279bcd52 * config/rs6000/rs6000.md: Move a splitter next to its insn.
From-SVN: r191162
2012-09-10 21:09:03 +00:00
Oleg Endo
aadb5b43ae re PR target/54089 ([SH] Refactor shift patterns)
PR target/54089
	* config/sh/sh.h (SH_DYNAMIC_SHIFT_COST): Set always to 1 if
	dynamic shifts are available.
	(SHIFT_COUNT_TRUNCATED): Always define to 0.  Correct comment.
	* config/sh/sh.c (ashl_lshr_seq, ext_ashl_lshr_seq): Add comments.
	* config/sh/predicates.md (shift_count_operand): Allow
	arith_reg_operand even if TARGET_DYNSHIFT is false.
	* config/sh/sh.md (ashlsi3, lshrsi3): Expand library call patterns
	if needed.
	(ashlsi3_d_call, lshrsi3_d_call): New insns.

	PR target/54089
	* config/sh/lib1funcs.S (ashlsi3): Reimplement as ashlsi3_r0.
	(lshrsi3): Reimplement as lshrsi3_r0.

	PR target/54089
	* gcc.target/sh/pr54089-3.c: New.

From-SVN: r191161
2012-09-10 20:35:25 +00:00