Commit Graph

116473 Commits

Author SHA1 Message Date
Paolo Carlini
b9b0921497 re PR libstdc++/52942 (using std::ref with a std::unordered_map fails to compile)
2012-04-12  Paolo Carlini  <paolo.carlini@oracle.com>

	PR libstdc++/52942
	* include/bits/stl_function.h (_Identity, _Select1st, _Select2nd):
	In C++11 mode do not derive from std::unary_function.
	* include/ext/functional (identity, select1st, select2nd): Adjust.
	* testsuite/23_containers/unordered_map/requirements/52942.cc: New.
	* testsuite/23_containers/unordered_set/requirements/52942.cc: Likewise.

From-SVN: r186375
2012-04-12 12:18:06 +00:00
Richard Guenther
5f1fab5819 re PR tree-optimization/52943 (likely wrong code bug caused by predictive commoning)
2012-04-12  Richard Guenther  <rguenther@suse.de>

	PR tree-optimization/52943
	* tree-chrec.h (chrec_is_positive): Remove.
	* tree-scalar-evolution.c (chrec_is_positive): Move ...
	* tree-data-ref.c (chrec_is_positive): ... here.  Make static.
	Return false for a constant zero instead of negative.
	(analyze_siv_subscript_cst_affine): Handle zero difference
	in the initial condition explicitely.

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

From-SVN: r186374
2012-04-12 11:38:47 +00:00
Richard Guenther
e5b332cdb8 tree-parloops.c (parallelize_loops): Also consult the upper bound for the number of iterations.
2012-04-12  Richard Guenther  <rguenther@suse.de>

	* tree-parloops.c (parallelize_loops): Also consult the upper
	bound for the number of iterations.
	* tree-ssa-loop-prefetch.c (determine_loop_nest_reuse): Likewise.
	(loop_prefetch_arrays): Likewise.

From-SVN: r186373
2012-04-12 10:13:22 +00:00
Richard Guenther
652c4c71a1 cfgloop.h (estimated_loop_iterations_int): Ditch 'conservative' parameter.
2012-04-12  Richard Guenther  <rguenther@suse.de>

	* cfgloop.h (estimated_loop_iterations_int): Ditch
	'conservative' parameter.
	(max_stmt_executions_int): Likewise.
	(estimated_loop_iterations): Likewise.
	(max_stmt_executions): Likewise.
	(max_loop_iterations): Declare.
	(max_loop_iterations_int): Likewise.
	(estimated_stmt_executions): Likewise.
	(estimated_stmt_executions_int): Likewise.
	* tree-ssa-loop-niter.c (estimated_loop_iterations):
	Split parts to ...
	(max_loop_iterations): ... this.
	(estimated_loop_iterations_int): Split parts to ...
	(max_loop_iterations_int): ... this.
	(max_stmt_executions_int): Split parts to ...
	(estimated_stmt_executions_int): ... this.
	(max_stmt_executions): Split parts to ...
	(estimated_stmt_executions): ... this.
	* graphite-sese-to-poly.c (build_loop_iteration_domains): Adjust.
	* predict.c (predict_loops): Likewise.
	* tree-data-ref.c (max_stmt_executions_tree): Likewise.
	(analyze_siv_subscript_cst_affine): Likewise.
	(compute_overlap_steps_for_affine_1_2): Likewise.
	(analyze_subscript_affine_affine): Likewise.
	(init_omega_for_ddr_1): Likewise.
	* tree-parloops.c (parallelize_loops): Likewise.
	* tree-ssa-loop-ivopts.c (avg_loop_niter): Likewise.
	(may_eliminate_iv): Likewise.
	* tree-ssa-loop-prefetch.c (determine_loop_nest_reuse): Likewise.
	(loop_prefetch_arrays): Likewise.
	* tree-vrp.c (adjust_range_with_scev): Likewise.

From-SVN: r186372
2012-04-12 08:35:01 +00:00
GCC Administrator
0c924efa4b Daily bump.
From-SVN: r186371
2012-04-12 00:19:20 +00:00
Oleg Endo
23d0939b41 sh.h (RETURN_ADDR_RTX): Use NULL_RTX instead of 0.
* config/sh/sh.h (RETURN_ADDR_RTX): Use NULL_RTX instead of 0.
	* config/sh/sh.c (INSN_REGMODE_WEIGHT, CURR_REGMODE_PRESSURE):
	Fix line width.
	(dump_table): Use bool type for need_align and have_df variables.
	(find_barrier, sfunc_uses_reg): Use NULL_RTX instead of 0.
	(regs_used): Remove register modifier.
	(barrier_align): Move variables slot, credit, jump_to_next
	into if block above for loop.  Use bool type for jump_to_next.
	(sh_function_arg): Use NULL_RTX instead of 0.

From-SVN: r186366
2012-04-11 23:03:20 +00:00
Oleg Endo
da97611d45 re PR target/50751 (SH Target: Displacement addressing does not work for QImode and HImode)
PR target/50751
	* gcc/target/sh/pr50751-4.c: New.
	* gcc/target/sh/pr50751-5.c: New.
	* gcc/target/sh/pr50751-6.c: New.
	* gcc/target/sh/pr50751-7.c: New.

From-SVN: r186365
2012-04-11 23:01:12 +00:00
Jonathan Wakely
c7b57b22c5 Fix date of previous ChangeLog entry.
From-SVN: r186364
2012-04-11 23:59:25 +01:00
Jonathan Wakely
a00cc15e3d re PR c++/52924 (Using an std::function object as deleter of shared_ptr in C++0x mode does not compile)
PR libstdc++/52924
	* include/bits/shared_ptr_base.h (_Sp_counted_deleter): Add
	user-defined destructor.
	(_Sp_counted_inplace): Likewise.
	* testsuite/20_util/shared_ptr/cons/52924.cc: New.
	* testsuite/20_util/shared_ptr/cons/43820_neg.cc: Adjust dg-error
	line numbers.

From-SVN: r186363
2012-04-11 23:54:53 +01:00
Jonathan Wakely
85000c08fe debug.xml (Debug Versions of Library Binary Files): Re-arrange text slightly.
* doc/xml/manual/debug.xml (Debug Versions of Library Binary Files):
	Re-arrange text slightly.

From-SVN: r186362
2012-04-11 23:20:59 +01:00
Andreas Schwab
dee1605500 m68k.md (rotrhi3+1): Name it rotrhi_lowpart.
* gcc/config/m68k/m68k.md (rotrhi3+1): Name it rotrhi_lowpart.
(bswapsi2): New expander.

From-SVN: r186361
2012-04-11 22:01:42 +00:00
Steve Ellcey
dcc73abf1f i2012-04-10 Steve Ellcey <sellcey@mips.com>
* MAINTAINERS: Changed email address.

From-SVN: r186358
2012-04-11 21:02:57 +00:00
Fabien Chêne
af79925b5f re PR c++/52465 (g++ rejects valid code with in-class using declaration)
gcc/testsuite/ChangeLog

2012-04-09  Fabien Chêne  <fabien@gcc.gnu.org>

	PR c++/52465
	* g++.dg/lookup/using52.C: New.

gcc/cp/ChangeLog

2012-04-09  Fabien Chêne  <fabien@gcc.gnu.org>

	PR c++/52465
	* parser.c (cp_parser_class_name): Call strip_using_decl and
	return the target decl.
	* name-lookup.c (strip_using_decl): Returns NULL_TREE if the decl
	to be stripped is NULL_TREE.
	(qualify_lookup): Call strip_using_decl and perform some checks on
	the target decl.

From-SVN: r186355
2012-04-11 22:40:51 +02:00
Jonathan Wakely
6cc5558fe8 * testsuite/performance/30_threads/future/polling.cc: Adjust.
From-SVN: r186354
2012-04-11 21:31:06 +01:00
Manuel López-Ibáñez
559d990c3c prune.exp (TEST_ALWAYS_FLAGS): If undefined, set to empty.
2012-04-11  Manuel López-Ibáñez  <manu@gcc.gnu.org>

testsuite/
	* lib/prune.exp (TEST_ALWAYS_FLAGS): If undefined, set to empty.
libgomp/
	* testsuite/lib/libgomp.exp: Add -fno-diagnostics-show-caret.

From-SVN: r186353
2012-04-11 20:15:35 +00:00
H.J. Lu
98bf037773 Define TRY_EMPTY_VM_SPACE to 0x60000000 for x32
2012-04-11  H.J. Lu  <hongjiu.lu@intel.com>

	* config/host-linux.c (TRY_EMPTY_VM_SPACE): Defined to
	0x60000000 if __x86_64 is defined and __LP64__ isn't defined.

From-SVN: r186352
2012-04-11 12:37:57 -07:00
H.J. Lu
de6f3f7ab8 Check for incompatible pointer sign extension
gcc/

	PR rtl-optimization/52876
	* emit-rtl.c (set_reg_attrs_from_value): Handle arbitrary value.
	Don't call mark_reg_pointer for incompatible pointer sign
	extension.

	* reginfo.c (reg_scan_mark_refs): Call set_reg_attrs_from_value 
	directly.

gcc/testsuite

	PR rtl-optimization/52876
	* gcc.target/i386/pr52876.c: New.

From-SVN: r186351
2012-04-11 12:31:45 -07:00
Bernd Schmidt
d3ea1dbdb2 fold-const.c (fold_unary_loc): Use GET_MODE_PRECISION for comparisons against TYPE_PRECISION.
* fold-const.c (fold_unary_loc): Use GET_MODE_PRECISION for
	comparisons against TYPE_PRECISION.
	* tree-ssa-forwprop.c (combine_conversions): Likewise.

From-SVN: r186350
2012-04-11 18:07:39 +00:00
Bernd Schmidt
30235ede1a c99-const-expr-9.c (old_offsetof): Insert a cast to __UINTPTR_TYPE__.
* gcc.dg/c99-const-expr-9.c (old_offsetof): Insert a cast to
	__UINTPTR_TYPE__.
	* gcc.c-torture/execute/pr15296.c (intptr_t): Likewise, with
	__INTPTR_TYPE__.
	* gcc.dg/pr14092-1.c (intptr_t): Likewise.
	* gcc.dg/tree-ssa/foldcast-1.c (ssize_t): Likewise.
	* gcc.dg/c90-const-expr-6.c (intptr_t): New typedef to replace ...
	(ptrdiff_t): ... this.  All uses changed.
	* gcc.dg/c99-const-expr-6.c (intptr_t, ptrdiff_t): Likewise.
	* gcc.dg/torture/pta-escape-1.c (foo): Change arg type to
	__INTPTR_TYPE__.
	(main): Cast argument to __INTPTR_TYPE__.
	* gcc.dg/20041106-1.c (main): Cast to __UINTPTR_TYPE__ rather than
	size_t.
	* gcc.dg/mallign.c (main): Likewise.
	* gcc.dg/pr38700.c (foo): Likewise.
	* gcc.dg/long-long-cst1.c (t): Likewise.
	* gcc.dg/c99-const-expr-10.c (p, q, f, h, h2): Likewise.
	* gcc.dg/array-10.c (c0, c1, c2, c3, c4, c5): Likewise.
	* gcc.dg/pointer-arith-10.c (foo): Likewise.
	* gcc.dg/pr25682.c (d, foo): Likewise.
	* gcc.dg/format/cast-1.c (f): Likewise.
	* gcc.dg/c90-const-expr-10.c
	* gcc.dg/pr41551.c (uintptr_t): New typedef, replacing...
	(size_t): ...this.  All uses changed.
	* gcc.c-torture/execute/pr22098-1.c (uintptr_t): Likewise.
	* gcc.c-torture/execute/pr22098-2.c (uintptr_t): Likewise.
	* gcc.c-torture/execute/pr22098-3.c (uintptr_t): Likewise.
	* gcc.dg/pr34856.c (uintptr_t): Likewise.
	* gcc.dg/sequence-pt-1.c: Likewise.
	* gcc.dg/c90-const-expr-9.c (uintptr_t): Likewise.
	* gcc.dg/max-1.c (intptr_t): Likewise, replacing ssize_t.
	* gcc.dg/pr39074.c (intptr_t): Define using __INTPTR_TYPE__.
	* gcc.dg/pr30744-1.c (my_intptr_t): New typedef.  Replace all uses
	of ptrdiff_t with it.
	* gcc.dg/inline-23.c (my_intptr_t): Likewise.
	* gcc.dg/pr37561.c (p): Use __INTPTR_TYPE__.
	* gcc.dg/vla-11.c (foo11b): Use __UINTPTR_TYPE__.

From-SVN: r186347
2012-04-11 17:58:01 +00:00
Jason Merrill
6a091e8bd8 decl.c (grokdeclarator): Strip the injected-class-name typedef if we are building a declaration or...
* decl.c (grokdeclarator): Strip the injected-class-name typedef
	if we are building a declaration or compound type.

From-SVN: r186346
2012-04-11 13:55:25 -04:00
Jason Merrill
701bd2a2cc re PR c++/52906 (ICE: SIGSEGV in check_tag_decl (decl.c:4230) with "__attribute__ ((__deprecated__));" alone)
PR c++/52906
	* decl.c (check_tag_decl): Don't complain about attributes if we
	don't even have a type.

From-SVN: r186345
2012-04-11 13:55:12 -04:00
Jason Merrill
adee67b338 * g++.dg/eh/dtor3.C: New.
From-SVN: r186344
2012-04-11 13:55:00 -04:00
Jan Hubicka
a66dc2852c lto.c: Update copyright...
* lto.c: Update copyright; remove params.h, ipa-inline.h
	and ipa-utils.h inlines; inline lto-partition.h
	(ltrans_partition_def, ltrans_partition, add_cgraph_node_to_partition,
	add_varpool_node_to_partition, new_partition, free_ltrans_partitions,
	add_references_to_partition, add_cgraph_node_to_partition_1,
	add_cgraph_node_to_partition, add_varpool_node_to_partition,
	undo_partition, partition_cgraph_node_p, partition_varpool_node_p,
	lto_1_to_1_map, node_cmp, varpool_node_cmp, lto_balanced_map,
	promote_var, promote_fn, lto_promote_cross_file_statics): move to...
	* lto-partition.c: ... here; new file.
	* lto-partition.h: New file.
	* Make-lang.in (lto.o): Update dependencies.
	(lto-partition.o): New.

From-SVN: r186343
2012-04-11 17:47:01 +00:00
Xinliang David Li
c634f4ba6f Remove TODO_dump_func completely
From-SVN: r186342
2012-04-11 17:46:52 +00:00
H.J. Lu
ed6205b7e7 Check [SUB]SUBTARGET_OVERRIDE_OPTIONS after TARGET_64BIT
* config/i386/i386.c (ix86_option_override_internal): Check
	SUBTARGET_OVERRIDE_OPTIONS and SUBSUBTARGET_OVERRIDE_OPTIONS
	after TARGET_64BIT is updated.

From-SVN: r186339
2012-04-11 10:34:08 -07:00
Paolo Carlini
7826329699 forward_list.h (splice_after(const_iterator, forward_list&), [...]): Add per C++11 as published (and LWG 1310).
2012-04-11  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/bits/forward_list.h (splice_after(const_iterator,
	forward_list&), splice_after(const_iterator, forward_list&,
	consst_iterator), splice_after(const_iterator, forward_list&,
	const_iterator, const_iterator), merge(forward_list&),
	merge(forward_list&, _Comp)): Add per C++11 as published (and
	LWG 1310).
	* include/debug/forward_list: Adjust.

	* include/bits/forward_list.h (splice_after(const_iterator,
	forward_list&&, const_iterator)): Only declare.
	(_M_transfer_after): Remove.
	(_M_splice_after(const_iterator, forward_list&&)): Change signature.
	(splice_after(const_iterator, forward_list&&, const_iterator,
	const_iterator)): Use the latter.
	* include/bits/forward_list.tcc (splice_after(const_iterator,
	forward_list&&, const_iterator)): Define here.
	(_M_splice_after): Define, use throughout.

	* include/bits/forward_list.h (insert_after(const_iterator,
	std::initializer_list<_Tp>)): Forward to insert_after(const_iterator,
	_InputIterator, _InputIterator).
	* include/bits/forward_list.tcc: Remove definition.

	* testsuite/23_containers/forward_list/modifiers/6.cc: New.
	* testsuite/23_containers/forward_list/operations/1.cc: Adjust.

From-SVN: r186338
2012-04-11 17:31:57 +00:00
Rainer Orth
3dee490545 Fix java bootstrap on 32-bit targets
* jcf-dump.c (print_constant): Cast JPOOL_USHORT2, JPOOL_USHORT1
	results to long to match formats.

From-SVN: r186330
2012-04-11 16:58:53 +00:00
Oleg Endo
a1fa0e6c8c sh.h: Remove old secondary reload code.
* config/sh/sh.h: Remove old secondary reload code.

From-SVN: r186328
2012-04-11 16:27:50 +00:00
Oleg Endo
e6b8b8c7e8 sh.c (SCHED_REORDER): Merge macro into ...
* config/sh/sh.c (SCHED_REORDER): Merge macro into ...
	(ready_reorder): ... this function.

From-SVN: r186327
2012-04-11 16:26:41 +00:00
Bernd Schmidt
0c51653d13 c6x.md (load_got_gotoff): Set op_pattern attribute to unknown.
* config/c6x/c6x.md (load_got_gotoff): Set op_pattern attribute to
	unknown.

From-SVN: r186326
2012-04-11 14:45:49 +00:00
Bernd Schmidt
0564160356 haifa-sched.c (prune_ready_list): Rework handling of SCHED_GROUP_P insns so that no other insn is queued for a...
* haifa-sched.c (prune_ready_list): Rework handling of SCHED_GROUP_P
	insns so that no other insn is queued for a time before them.

From-SVN: r186325
2012-04-11 14:40:48 +00:00
Bernd Schmidt
7861732fe8 sel-sched.c (sel_global_init): Swap order of sched_rgn_init and sched_init calls.
* sel-sched.c (sel_global_init): Swap order of sched_rgn_init and
	sched_init calls.

From-SVN: r186324
2012-04-11 14:39:21 +00:00
Richard Guenther
754870ed77 re PR middle-end/52621 (ICE with -O3 -march=opteron in initialize_matrix_A, at tree-data-ref.c:1964)
2012-04-11  Richard Guenther  <rguenther@suse.de>

	PR middle-end/52621
	* tree-chrec.c (evolution_function_is_invariant_rec_p): Properly
	consider loop nesting.
	(evolution_function_is_univariate_p): Properly check the remainder
	for chrecs.

	* gfortran.dg/pr52621.f90: New testcase.

From-SVN: r186321
2012-04-11 14:04:00 +00:00
Richard Guenther
405af656bc re PR target/52918 (ICE: Invalid bb->loop_father (NULL) in add_bb_to_loop)
2012-04-11  Richard Guenther  <rguenther@suse.de>

	PR middle-end/52918
	* except.c (sjlj_emit_dispatch_table): Properly update loop
	structure.

	* g++.dg/torture/pr52918-1.C: New testcase.
	* g++.dg/torture/pr52918-2.C: Likewise.

From-SVN: r186320
2012-04-11 14:02:26 +00:00
Andrew Haley
e9184c9ece jcf-reader.c (jcf_parse_bootstrap_methods): Add ATTRIBUTE_UNUSED.
2012-04-11  Andrew Haley  <aph@redhat.com>

	* jcf-reader.c (jcf_parse_bootstrap_methods): Add
	ATTRIBUTE_UNUSED.

From-SVN: r186319
2012-04-11 13:21:18 +00:00
Tobias Burnus
60fa39313e re PR fortran/52729 (Symbol has no implicit type in SELECT TYPE block)
2012-04-11  Tobias Burnus  <burnus@net-b.de>

        PR fortran/52729
        * resolve.c (resolve_symbol): Fix searching for parent NS decl.

2012-04-11  Tobias Burnus  <burnus@net-b.de>

        PR fortran/52729
        * gfortran.dg/block_11.f90: New.

From-SVN: r186318
2012-04-11 15:08:32 +02:00
Nick Clifton
84e6018367 rx.c (rx_expand_prologue): Set stack use information, if requested.
* config/rx/rx.c (rx_expand_prologue): Set stack use
	information, if requested.

From-SVN: r186314
2012-04-11 12:49:22 +00:00
Nick Clifton
cf5025b683 stack-usage-1.c (SIZE): Define for the RL78.
* gcc.dg/stack-usage-1.c (SIZE): Define for the RL78.
	* config/rl78/rl78.c (rl78_expand_prologue): Set stack use
	information, if requested.

From-SVN: r186313
2012-04-11 12:48:01 +00:00
Peter Bergner
7bc14a04f2 re PR target/16458 (PowerPC - redundant compare)
gcc/
	PR target/16458
	* rtlanal.c (unsigned_reg_p): New function.
	Update copyright notice dates.
	* rtl.h (unsigned_reg_p): Prototype it.
	Update copyright notice dates.
	* config/rs6000/rs6000.c (rs6000_generate_compare): Use it.
	Update comment.
	* expr.c (expand_expr_real_1): Set register attributes.
	* stmt.c (expand_case): Likewise.

gcc/testsuite/
	PR target/16458
	* gcc.target/powerpc/pr16458-1.c: New test.
	* gcc.target/powerpc/pr16458-2.c: Likewise.
	* gcc.target/powerpc/pr16458-3.c: Likewise.
	* gcc.target/powerpc/pr16458-4.c: Likewise.

Co-Authored-By: Michael Matz <matz@suse.de>

From-SVN: r186312
2012-04-11 06:51:50 -05:00
Oleg Endo
8c2a3f3b6c re PR target/50751 (SH Target: Displacement addressing does not work for QImode and HImode)
PR target/50751
	* config/sh/sh-protos.h (sh_legitimate_index_p): Add new arguments
	consider_sh2a and allow_zero.
	* config/sh/sh.c (sh_legitimate_index_p): Likewise.
	(disp_addr_displacement): New function.
	(sh_address_cost): Use disp_addr_displacement function instead
	of DISP_ADDR_OFFSET.
	(sh_legitimate_address_p): Adapt to changed
	sh_legitimate_index_p declaration.
	(sh_find_mov_disp_adjust): Remove HImode check.
	(sh_secondary_reload): Add HImode case.  Use satisfies_constraint_Sdd,
	disp_addr_displacement and max_mov_insn_displacement.
	(max_mov_insn_displacement): Remove HImode check.
	* config/sh/sh.h (CONST_OK_FOR_K04, CONST_OK_FOR_K12, 
	DISP_ADDR_P, DISP_ADDR_OFFSET): Remove.
	* config/sh/constraints.md (K05, K13): New constraints.
	(K12): Correct comment.
	(Sdd): Do not use DISP_ADDR_P macro.
	(Snd, Sbw): Use satisfies_constraint_Sdd.
	* config/sh/sh.md (extendhisi2): Remove constraints from expander.
	(*extendhisi2_compact, movhi_i): Remove.
	(*extendhisi2_compact_reg, *extendhisi2_compact_mem_disp,
	*extendhisi2_compact_mem_disp, *extendhisi2_compact_snd,
	*movhi_reg_reg, *movhi_store_mem_disp05, *movhi_store_mem_disp13,
	*movhi_load_mem_disp, *movhi_load_mem_disp, *movhi): New insns.
	(*extendqisi2_compact_mem_disp, *extendqisi2_compact_mem_disp,
	*movqi_store_mem_disp04, *movqi_store_mem_disp12, *movqi_load_mem_disp,
	*movqi_load_mem_disp): Use sh_legitimate_index_p instead of
	CONST_OK_FOR_Kxx.
	Add new peepholes for HImode displacement addressing.

From-SVN: r186311
2012-04-11 11:35:32 +00:00
Paolo Carlini
b16212bd3c re PR libstdc++/52931 (std::hash shouldn't be defined for unknown types)
2012-04-11  Paolo Carlini  <paolo.carlini@oracle.com>

	PR libstdc++/52931
	* include/bits/functional_hash.h (struct hash): Remove definition.
	* testsuite/20_util/hash/52931.cc: New.

From-SVN: r186310
2012-04-11 11:27:50 +00:00
Oleg Endo
32ed5fcc3a sh.h (SIDI_OFF): Remove.
* config/sh/sh.h (SIDI_OFF): Remove.
	* config/sh/sh.md: Use gen_highpart and gen_lowpart to access
	DImode subregs instead of gen_rtx_REG or simplifly_gen_subreg
	or operand_subword.

From-SVN: r186309
2012-04-11 11:24:40 +00:00
Eric Botcazou
ac868f29d7 re PR target/52624 (missing __builtin_bswap16)
PR target/52624
	* doc/extend.texi (Other Builtins): Document __builtin_bswap16.
	(PowerPC AltiVec/VSX Built-in Functions): Remove it.
	* doc/md.texi (Standard Names): Add bswap.
	* builtin-types.def (BT_UINT16): New primitive type.
	(BT_FN_UINT16_UINT16): New function type.
	* builtins.def (BUILT_IN_BSWAP16): New.
	* builtins.c (expand_builtin_bswap): Add TARGET_MODE argument.
	(expand_builtin) <BUILT_IN_BSWAP16>: New case.  Pass TARGET_MODE to
	expand_builtin_bswap.
	(fold_builtin_bswap): Add BUILT_IN_BSWAP16 case.
	(fold_builtin_1): Likewise.
	(is_inexpensive_builtin): Likewise.
	* optabs.c (expand_unop): Deal with bswap in HImode specially.  Add
	missing bits for bswap to libcall code.
	* tree.c (build_common_tree_nodes): Build uint16_type_node.
	* tree.h (enum tree_index): Add TI_UINT16_TYPE.
	(uint16_type_node): New define.
	* config/rs6000/rs6000-builtin.def (RS6000_BUILTIN_BSWAP_HI): Delete.
	* config/rs6000/rs6000.c (rs6000_expand_builtin): Remove handling of
	above builtin.
	(rs6000_init_builtins): Likewise.
	* config/rs6000/rs6000.md (bswaphi2): Add TARGET_POWERPC predicate.
c-family/
	* c-common.h (uint16_type_node): Rename into...
	(c_uint16_type_node): ...this.
	* c-common.c (c_common_nodes_and_builtins): Adjust for above renaming.
	* c-cppbuiltin.c (builtin_define_stdint_macros): Likewise.

From-SVN: r186308
2012-04-11 11:13:39 +00:00
Andrew Haley
cca4dd5983 jcf.h (bootstrap_method): New.
2012-04-11  Andrew Haley  <aph@redhat.com>

	* jcf.h (bootstrap_method): New.
	(BootstrapMethods): New.
	(JCF): Add BootstrapMethods.
	(enum cpool_tag): Add MethodHandle, MethodType, and InvokeDynamic.
	* jcf-reader.c (jcf_parse_bootstrap_methods): New.
	(jcf_parse_constant_pool): Handlers for MethodHandle, MethodType,
	and InvokeDynamic.
	(jcf_parse_bootstrap_methods): New.
	* javaop.def (invokedynamic): New opcode.
	* jcf-parse.c (get_constant): An unknown constant type should not
	be an internal error, but a fatal one.  Make it so.
	* jcf-dump.c (HANDLE_BOOTSTRAP_METHODS_ATTRIBUTE): New.
	(HANDLE_END_BOOTSTRAP_METHODS): New.
	(print_constant): Handlers for MethodHandle, MethodType, and
	InvokeDynamic.

From-SVN: r186307
2012-04-11 10:47:43 +00:00
Tristan Gingold
ada371011e extend.texi (Type Attributes): Move paragraph.
2012-04-11  Tristan Gingold  <gingold@adacore.com>

	* doc/extend.texi (Type Attributes): Move paragraph.

From-SVN: r186306
2012-04-11 10:32:48 +00:00
Manuel López-Ibáñez
9fec00429d re PR c++/24985 (caret diagnostics)
2012-04-11  Manuel López-Ibáñez  <manu@gcc.gnu.org>

	PR 24985
gcc/
        * diagnostic.h (show_caret): Declare.
	(caret_max_width): Declare.
	(diagnostic_show_locus): Declare.
        * diagnostic.c (diagnostic_initialize): Initialize to false.
        (diagnostic_show_locus): New.
        (diagnostic_report_diagnostic): Call it.
	(getenv_columns): New.
	(adjust_line): New.
	(diagnostic_set_caret_max_width): New.
        * input.c (read_line): New.
	(location_get_source_line): New.
        * input.h (location_get_source_line): Declare.
        * toplev.c (general_init): Initialize show_caret from options.
        * dwarf2out.c (gen_producer_string): Handle fdiagnostics-show-caret.
        * opts.c (common_handle_option): Likewise.
	* pretty-print.h (pp_get_prefix): New.
	(pp_base_get_prefix): New.
        * common.opt (fdiagnostics-show-caret): New option.
	* doc/invoke.texi (fdiagnostics-show-caret): Document it.
testsuite/
        * lib/prune.exp: Add -fno-diagnostics-show-caret.
libstdc++-v3/
	* testsuite/lib/prune.exp: Handle caret.
libmudflap/
	* testsuite/lib/libmudflap.exp: Handle caret.

From-SVN: r186305
2012-04-11 09:26:48 +00:00
Richard Guenther
13a7578b18 re PR middle-end/52881 (ICE due to null pointer deref in cfgloop.c)
2012-04-11  Richard Guenther  <rguenther@suse.de>

	PR rtl-optimization/52881
	* ifcvt.c (find_if_case_2): Avoid speculating loop latches.

	* gcc.dg/torture/pr52881.c: New testcase.
	* gcc.dg/torture/pr52913.c: Likewise.

From-SVN: r186304
2012-04-11 08:13:37 +00:00
Richard Guenther
12df9a2f92 re PR tree-optimization/52912 (ICE: verify_ssa failed)
2012-04-11  Richard Guenther  <rguenther@suse.de>

	PR tree-optimization/52912
	* tree-ssa-threadupdate.c (thread_block): Tell the cfg
	manipulation code we are threading through a loop header
	to an exit destination.

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

From-SVN: r186303
2012-04-11 08:12:33 +00:00
GCC Administrator
f06fe36d99 Daily bump.
From-SVN: r186301
2012-04-11 00:18:47 +00:00
Manuel López-Ibáñez
fd4116f49c c-common.c (warn_if_unused_value): Move definition to here.
2012-04-10  Manuel López-Ibáñez  <manu@gcc.gnu.org>

	* c-family/c-common.c (warn_if_unused_value): Move definition to here.
	* tree.h (warn_if_unused_value): Move declaration from here.
	* c-family/c-common.h (warn_if_unused_value): Move declaration to here.
	* cp/cvt.c (convert_to_void): Update comment.
	* stmt.c (warn_if_unused_value): Move definition from here.

From-SVN: r186287
2012-04-10 16:33:47 +00:00