1. 03 Oct, 2011 13 commits
  2. 02 Oct, 2011 15 commits
    • re PR c++/35722 ([C++0x] Variadic templates expansion into non-variadic class template) · d6027563
      	PR c++/35722
      	Implement N2555 (expanding pack expansion to fixed parm list)
      	* pt.c (coerce_template_parms): Allow expanding a pack expansion
      	to a fixed-length argument list.
      	(unify_pack_expansion): Handle explicit args properly.
      	(unify) [TREE_VEC]: Handle pack expansions here.
      	[TYPE_ARGUMENT_PACK]: Not here.
      	(tsubst_pack_expansion): Don't try to do partial substitution.
      	(pack_deducible_p): New.
      	(fn_type_unification): Use it.
      	(find_parameter_packs_r): Take the TYPE_MAIN_VARIANT
      	of a type parameter.
      	(check_non_deducible_conversion): Split from type_unification_real.
      	(unify_one_argument): Split from type_unification_real...
      	(unify_pack_expansion): ...and here.  Drop call_args_p parm.
      	(type_unification_real, unify, more_specialized_fn): Adjust.
      
      From-SVN: r179436
      Jason Merrill committed
    • class.c (fixed_type_or_null): Handle NSDMI. · f10eaa2d
      	* class.c (fixed_type_or_null): Handle NSDMI.
      	* method.c (walk_field_subobs): Disable NSDMI noexcept checking
      	for now.
      
      From-SVN: r179435
      Jason Merrill committed
    • * invoke.texi (SPARC Options): Refer to GNU/Linux. · 3bf10857
      From-SVN: r179434
      Gerald Pfeifer committed
    • re PR target/50579 (gcc.target/mips/20020620-1.c FAILs on IRIX 6.5) · e4c07ade
      gcc/testsuite/
      	PR target/50579
      	* gcc.target/mips/mips.exp (mips_long32_abi_p, mips_long64_abi_p):
      	New procedures.
      	(mips-dg-options): Force an ABI option if the current ABI is
      	incompatible with the required -mlong setting.  Likewise force
      	a long setting if the current one is incompatible with the
      	chosen ABI.  Keep abi_test_option_p, abi and eabi_p updated
      	throughout procedure.
      	* gcc.target/mips/abi-o64-long64.c: Require -mno-abicalls
      	instead of addressing=absolute.
      
      From-SVN: r179433
      Richard Sandiford committed
    • mips.c (mips_frame_barrier): New function. · d9b59f56
      gcc/
      	* config/mips/mips.c (mips_frame_barrier): New function.
      	(mips_expand_prologue): Call it after allocating stack space.
      	(mips_deallocate_stack): New function.
      	(mips_expand_epilogue): Call mips_frame_barrier and
      	mips_deallocate_stack.
      
      gcc/testsuite/
      	* gcc.target/mips/stack-1.c: New test.
      
      From-SVN: r179432
      Richard Sandiford committed
    • re PR target/49696 (ICE on mips when compiling drizzle) · 31045a25
      gcc/
      	PR target/49696
      	* config/mips/sync.md (sync_<optab>_12): Allow zero operands.
      	(sync_old_<optab>_12, sync_new_<optab>_12, sync_nand_12): Likewise.
      	(sync_old_nand_12, sync_new_nand_12, test_and_set_12): Likewise.
      
      gcc/testsuite/
      	* gcc.dg/pr49696.c: New test.
      
      From-SVN: r179431
      Richard Sandiford committed
    • cgraphunit.c (ipa_passes): Remove unrechable nodes. · 467a8db0
      
      	* cgraphunit.c (ipa_passes): Remove unrechable nodes.
      	* lto-streamer-out.c (produce_symtab): Skip unused extern declarations.
      	* ipa.c (cgraph_remove_unreachable_nodes): Do not assume that external
      	functions are reachable when address is taken.
      	* ipa-inline-analysis.c (reset_inline_edge_summary): New
      
      	* gcc.dg/ipa/ctor-empty-1.c: Update dump file.
      
      From-SVN: r179429
      Jan Hubicka committed
    • * ipa-inline-analysis.c (inline_summary_alloc): Bounds check. · 78e5ce9f
      From-SVN: r179428
      Jan Hubicka committed
    • ipa-inline-analysis.c (reset_inline_edge_summary): New function. · 1c52c601
      	* ipa-inline-analysis.c (reset_inline_edge_summary): New function.
      	(reset_inline_summary): New function.
      	(compute_inline_parameters, inline_node_removal_hook,
      	inline_edge_removal_hook): Use it.
      	(inline_free_summary): Reset holders correctly.
      	(inline_generate_summary): Free summary before computing it.
      
      From-SVN: r179427
      Jan Hubicka committed
    • re PR preprocessor/36819 (memleak in split_quote_chain) · 61e0e2f8
      2011-10-02  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	PR preprocessor/36819
      	* incpath.c (merge_include_chains): Call free_path on
      	heads[QUOTE] and tails[QUOTE].
      
      From-SVN: r179426
      Paolo Carlini committed
    • Fix r179381: add missing period in testsuite/Changelog. · e8775f25
      From-SVN: r179425
      Revital Eres committed
    • re PR lto/47247 (Linker plugin specification makes it difficult to handle COMDATs) · ed0d2da0
      	PR lto/47247
      	* lto-plugin.c (get_symbols_v2): New variable.
      	(write_resolution): Use V2 API when available.
      	(onload): Handle LDPT_GET_SYMBOLS_V2.
      
      	* lto-symtab.c (lto_symtab_resolve_symbols): Do not resolve
      	when resolution is already availbale from plugin.
      	(lto_symtab_merge_decls_1): Handle LDPR_PREVAILING_DEF_IRONLY_EXP.
      	* cgraph.c (ld_plugin_symbol_resolution): Add prevailing_def_ironly_exp.
      	* lto-cgraph.c (LDPR_NUM_KNOWN): Update.
      	* ipa.c (varpool_externally_visible_p): IRONLY variables are never
      	externally visible.
      	* varasm.c (resolution_to_local_definition_p): Add
      	LDPR_PREVAILING_DEF_IRONLY_EXP.
      	(resolution_local_p): Likewise.
      
      	* common.c (lto_resolution_str): Add new resolution.
      	* common.h (lto_resolution_str): Likewise.
      
      From-SVN: r179424
      Jan Hubicka committed
    • Start adding support for VIS 3.0 instructions. · 96d7b15f
      gcc/
      
      	* config/sparc/sparc.opt (VIS3): New option.
      	* doc/invoke.texi: Document it.
      	* config/sparc/sparc.h: Force TARGET_VIS3 to zero if assembler is
      	not capable of such instructions.
      	* config/sparc/sparc-c.c (sparc_target_macros): Define __VIS__
      	to 0x300 when TARGET_VIS3.
      	* config/sparc/sparc-modes.def: Create 16-byte vector modes.
      	* config/sparc/sparc.md (UNSPEC_CMASK8, UNSPEC_CMASK16, UNSPEC_CMASK32,
      	UNSPEC_FCHKSM16, UNSPEC_PDISTN, UNSPC_FUCMP): New unspecs.
      	(V64N8, VASS): New mode iterators.
      	(vis3_shift, vis3_addsub_ss): New code iterators.
      	(vbits, vconstr): New mode attributes.
      	(vis3_shift_insn, vis3_addsub_ss_insn): New code attributes.
      	(cmask8<P:mode>_vis, cmask16<P:mode>_vis, cmask32<P:mode>_vis,
      	fchksm16_vis, <vis3_shift_insn><vbits>_vis, pdistn<mode>_vis,
      	fmean16_vis, fpadd64_vis, fpsub64_vis, <vis3_addsub_ss_insn><vbits>_vis,
      	fucmp<code>8<P:mode>_vis): New VIS 3.0 instruction patterns.
      	* config/sparc/sparc.c (sparc_option_override): Set MASK_VIS3 by
      	default when targetting capable cpus.  TARGET_VIS3 implies
      	TARGET_VIS2 and TARGET_VIS, and clear them when TARGET_FPU is
      	disabled.
      	(sparc_vis_init_builtins): Emit new VIS 3.0 builtins.
      	(sparc_fold_builtin): Do not eliminate cmask{8,16,32} when result
      	is ignored.
      	* config/sparc/visintrin.h (__vis_cmask8, __vis_cmask16,
      	__vis_cmask32, __vis_fchksm16, __vis_fsll16, __vis_fslas16,
      	__vis_fsrl16, __vis_fsra16, __vis_fsll32, __vis_fslas32,
      	__vis_fsrl32, __vis_fsra32, __vis_pdistn, __vis_fmean16,
      	__vis_fpadd64, __vis_fpsub64, __vis_fpadds16, __vis_fpadds16s,
      	__vis_fpsubs16, __vis_fpsubs16s, __vis_fpadds32, __vis_fpadds32s,
      	__vis_fpsubs32, __vis_fpsubs32s, __vis_fucmple8, __vis_fucmpne8,
      	__vis_fucmpgt8, __vis_fucmpeq8): New VIS 3.0 interfaces.
      	* doc/extend.texi: Document new VIS 3.0 builtins.
      
      gcc/testsuite/
      
      	* gcc.target/sparc/cmask.c: New test.
      	* gcc.target/sparc/fpadds.c: New test.
      	* gcc.target/sparc/fshift.c: New test.
      	* gcc.target/sparc/fucmp.c: New test.
      	* gcc.target/sparc/vis3misc.c: New test.
      
      From-SVN: r179421
      David S. Miller committed
    • Daily bump. · 6a5edb85
      From-SVN: r179420
      GCC Administrator committed
  3. 01 Oct, 2011 4 commits
  4. 30 Sep, 2011 8 commits
    • cp-tree.h (TREE_NEGATED_INT): Remove. · 3af07c22
      	* cp-tree.h (TREE_NEGATED_INT): Remove.
      	* semantics.c (finish_unary_op_expr): Don't set it.
      
      From-SVN: r179400
      Jason Merrill committed
    • re PR c++/44473 (iterators already defined for std::vector when using std::decimal) · ac6fb7a4
      gcc/cp
      	PR c++/44473
      	* mangle.c (write_type): Handle CV qualifiers for decimal classes.
      gcc/testsuite
      	PR c++/44473
      	* g++.dg/dfp/44473-1.C: New test.
      	* g++.dg/dfp/44473-2.C: New test.
      	* g++.dg/dfp/mangle-1.C: New test.
      	* g++.dg/dfp/mangle-2.C: New test.
      	* g++.dg/dfp/mangle-3.C: New test.
      	* g++.dg/dfp/mangle-4.C: New test.
      	* g++.dg/dfp/mangle-5.C: New test.
      
      From-SVN: r179399
      Janis Johnson committed
    • Add missing ','. · 06ef8c2e
      2011-09-30  H.J. Lu  <hongjiu.lu@intel.com>
      
      	* doc/extend.texi: Add missing ','.
      
      From-SVN: r179397
      H.J. Lu committed
    • Use 64bit integer for LTO symbol ID. · ad7715f3
      gcc/lto
      
      2011-09-30  H.J. Lu  <hongjiu.lu@intel.com>
      	    Andi Kleen  <ak@linux.intel.com>
      
      	PR lto/50568
      	* lto.c (lto_splay_tree_delete_id): New.
      	(lto_splay_tree_compare_ids): Likewise.
      	(lto_splay_tree_lookup): Likewise.
      	(lto_splay_tree_id_equal_p): Likewise.
      	(lto_splay_tree_insert): Likewise.
      	(lto_splay_tree_new): Likewise.
      	(lto_resolution_read): Change id to unsigned HOST_WIDE_INT.
      	Use lto_splay_tree_id_equal_p and lto_splay_tree_lookup.
      	(create_subid_section_table): Use lto_splay_tree_lookup and
      	lto_splay_tree_insert.
      	(lto_file_read): Use lto_splay_tree_new.
      
      lto-plugin/
      
      2011-09-30  H.J. Lu  <hongjiu.lu@intel.com>
      	    Andi Kleen  <ak@linux.intel.com>
      
      	PR lto/50568
      	* lto-plugin.c (sym_aux): Change id to unsigned long long.
      	(plugin_symtab): Likewise.
      	(dump_symtab): Likewise.
      	(resolve_conflicts): Likewise.
      	(process_symtab): Likewise.
      
      Co-Authored-By: Andi Kleen <ak@linux.intel.com>
      
      From-SVN: r179395
      H.J. Lu committed
    • c6x-common.c (c6x_option_optimization_table): Enable -fmodulo-sched at -O2 and above. · 11e69edc
      	* common/config/c6x/c6x-common.c (c6x_option_optimization_table):
      	Enable -fmodulo-sched at -O2 and above.
      	* config/c6x/c6x.md (doloop_end): New expander.
      	(mvilc, sploop, spkernel, loop_end): New patterns.
      	(loop_end with memory destination splitter): New.
      	* config/c6x/c6x.c: Include "hw-doloop.h".
      	(enum unitreqs): New.
      	(unit_req_table): New typedef.
      	(unit_reqs): New static variable.
      	(unit_req_factor, get_unit_reqs, count_unit_reqs, merge_unit_reqs,
      	res_mii, split_delayed_nonbranch, undo_split_delayed_nonbranch,
      	hwloop_pattern_reg, bb_earliest_end_cycle, filter_insns_above,
      	hwloop_optimize, hwloop_fail, c6x_hwloops): New static functions.
      	(struct c6x_sched_context): New member last_scheduled_iter0.
      	(init_sched_state): Initialize it.
      	(c6x_variable_issue): Update it.
      	(sploop_max_uid_iter0): New static variable.
      	(c6x_sched_reorder_1): Be careful about issuing sploop.
      	(c6x_reorg): Call c6x_hwlooops before the final schedule.
      
      From-SVN: r179393
      Bernd Schmidt committed
    • re PR target/50566 ([avr]: Add support for better logging similar to -mdeb) · fe780c13
      	PR target/50566
      	* config/avr/avr-protos.h (avr_log_t): New field address_cost.
      	* config/avr/avr.c (avr_address_cost): Use it.
      	* config/avr/avr-log.c (avr_log_set_avr_log): Initialize it.
      	(avr_log_vadump): Unknown %-codes finish printing.
      
      From-SVN: r179391
      Georg-Johann Lay committed
    • re PR inline-asm/50571 (Undesirable folding in "m" constrained asm operands) · 38384150
      	PR inline-asm/50571
      	* gimple-fold.c (fold_stmt_1) <case GIMPLE_ASM>: If
      	input constraints allow mem and not reg, pass true instead of
      	false as second argument to maybe_fold_reference.
      
      	* gcc.dg/pr50571.c: New test.
      
      From-SVN: r179389
      Jakub Jelinek committed
    • re PR tree-optimization/46309 (optimization a==3||a==1) · 0ccb5dbf
      	PR tree-optimization/46309
      	* fold-const.c (make_range, merge_ranges): Remove prototypes.
      	(make_range_step): New function.
      	(make_range): Use it.
      	* tree.h (make_range_step): New prototypes.
      	* Makefile.in (tree-ssa-reassoc.o): Depend on $(DIAGNOSTIC_CORE_H).
      	* tree-ssa-reassoc.c: Include diagnostic-core.h.
      	(struct range_entry): New type.
      	(init_range_entry, range_entry_cmp, update_range_test,
      	optimize_range_tests): New functions.
      	(reassociate_bb): Call optimize_range_tests.
      
      	* gcc.dg/pr46309.c: New test.
      
      From-SVN: r179388
      Jakub Jelinek committed