Commit Graph

108465 Commits

Author SHA1 Message Date
Jonathan Wakely
0f88da8d14 functional (bind): Remove from overload set when first argument type might be a socket file descriptor.
2011-05-03  Jonathan Wakely  <jwakely.gcc@gmail.com>

	* include/std/functional (bind): Remove from overload set when first
	argument type might be a socket file descriptor.
	* testsuite/20_util/bind/socket.cc: New.

From-SVN: r173279
2011-05-03 01:03:38 +01:00
Jonathan Wakely
fd8ac087e6 re PR libstdc++/48848 ([C++0x] std::valarray<T> functions missing)
2011-05-03  Jonathan Wakely  <jwakely.gcc@gmail.com>

	PR libstdc++/48848
	* doc/xml/manual/status_cxx200x.xml: Update valarray status.
	* doc/html/*: Regenerate.

From-SVN: r173278
2011-05-03 00:46:24 +01:00
Lawrence Crowl
575bfb0052 Upgrade the utility of timevars.
Index: gcc/ChangeLog

2011-04-27  Lawrence Crowl  <crowl@google.com>

	* timevar.h (timevar_cond_start): Remove unused POP_TIMEVAR_AND_RETURN.
	(timevar_cond_start): New for starting a timer only when it is not
	already running.
	(timevar_cond_stop): New for stopping a timer when it was not already
	running.

	* timevar.c (timevar_stop): Enable start/stop timers to start again.
	(timevar_cond_start): New as above.
	(timevar_cond_stop): New as above.

	* timevar.def: Add start/stop timers for compiler phases,
	TV_PHASE_SETUP, TV_PHASE_PARSING, TV_PHASE_DEFERRED, TV_PHASE_CGRAPH,
	TV_PHASE_DBGINFO (C), TV_PHASE_CHECK_DBGINFO (C++), TV_PHASE_GENERATE,
	and TV_PHASE_FINALIZE.
	Change push/pop timer TV_PARSE to TV_PARSE_GLOBAL.
	Add push/pop timers TV_PARSE_STRUCT, TV_PARSE_ENUM, TV_PARSE_FUNC,
	TV_PARSE_INLINE, TV_PARSE_INMETH, TV_TEMPLATE_INST.
	Change push/pop timer TV_NAME_LOOKUP into a start/stop timer.
	Make unused TV_OVERLOAD into a start/stop timer.

	Remove unused timers TV_OVERLOAD, TV_TEMPLATE_INSTANTIATION.
	Mark the strings for TV_NAME_LOOKUP and TV_OVERLOAD with a "|"
	to indicate that they are start/stop timers.

	* toplev.c (compile_file): Change TV_PARSE to TV_PARSE_GLOBAL.
	Add start/stop timers TV_PHASE_PARSING and TV_PHASE_GENERATE.
	Move initialization to do_compile.
	(do_compile): Add initialization from above.
	Add start/stop timers TV_PHASE_SETUP and TV_PHASE_FINALIZE.

	* c-decl.c (c_write_global_declarations): Add start/stop of
	TV_PHASE_DEFERRED, TV_PHASE_CGRAPH, TV_PHASE_DBGINFO.

	* c-parser.c (c_parser_declaration_or_fndef): Push/pop TV_PARSE_FUNC
	or TV_PARSE_INLINE, as appropriate.
	(c_parser_enum_specifier): Push/pop TV_PARSE_ENUM.
	(c_parser_struct_or_union_specifier): Push/pop TV_PARSE_STRUCT.

Index: gcc/cp/ChangeLog

2011-04-27  Lawrence Crowl  <crowl@google.com>

	* decl.c: (push_local_name): Change TV_NAME_LOOKUP to start/stop.
	(poplevel): Refactor POP_TIMEVAR_AND_RETURN to plain code.
	Change TV_NAME_LOOKUP to start/stop.
	(define_label): Refactor timevar calls out to a wrapper function.
	Change TV_NAME_LOOKUP to start/stop.
	(xref_tag): Likewise.
	(lookup_label): Refactor timevar calls out to a wrapper function.
	Change TV_NAME_LOOKUP to start_cond/stop_cond.

        * pt.c: (instantiate_class_template): Add a wrapper to push/pop new
	TV_TEMPLATE_INST.
	(instantiate_template): Add a wrapper to push/pop new TV_TEMPLATE_INST.
	(lookup_template_class): Refactor timevar calls out to a wrapper
	function.  Change use of TV_NAME_LOOKUP to TV_TEMPLATE_INST.
	(instantiate_decl): Change TV_PARSE to TV_TEMPLATE_INST.

	* name-lookup.c: (store_bindings): Change TV_NAME_LOOKUP to start/stop.
	(poplevel_class): Change TV_NAME_LOOKUP to start_cond/stop_cond.
	(push_namespace): Likewise.
	(pop_nested_namespace): Likewise.
	(pushdecl_namespace_level): Likewise.
	(store_class_bindings): Likewise.
	(push_to_top_level): Likewise.
	(identifier_type_value): Refactor timevar calls out to a wrapper
	function.  Change TV_NAME_LOOKUP to start/stop.
	(find_binding): Likewise.
	(push_using_decl): Likewise.
	(lookup_arg_dependent): Likewise.
	(push_using_directive): Likewise.
	(qualified_lookup_using_namespace): Refactor POP_TIMEVAR_AND_RETURN
	to plain code.  Change TV_NAME_LOOKUP to start/stop.
	(lookup_type_current_level): Likewise.  Refactor inner return to
	break.
	(pushdecl_class_level): Refactor POP_TIMEVAR_AND_RETURN to plain
	code.  Change TV_NAME_LOOKUP to start_cond/stop_cond.
	(pushdecl_top_level_1): Likewise.
	(lookup_using_namespace): Likewise.
	(pushdecl_with_scope): Refactor timevar calls out to a wrapper
	function.  Change TV_NAME_LOOKUP to start_cond/stop_cond.
	(push_overloaded_decl): Likewise.
	(push_class_level_binding): Likewise.
	(namespace_binding): Likewise.
	(set_namespace_binding): Likewise.
	(supplement_binding): Likewise.
	(unqualified_namespace_lookup): Likewise.
	(lookup_name_real): Likewise.
	(lookup_type_scope): Likewise.
	(namespace_ancestor): Likewise.
	(lookup_name_innermost_nonclass_level): Likewise.
	(pushtag): Likewise.
	(pop_from_top_level): Likewise.
	(pushdecl_maybe_friend): Refactor timevar calls out to a wrapper
	function.  Change TV_NAME_LOOKUP to start_cond/stop_cond.  Wrap long
	lines.
	(add_using_namespace): Refactor timevar calls out to a wrapper
	function.  Change TV_NAME_LOOKUP to start_cond/stop_cond.  Bypass
	wrapper on call to self.

	* decl2.c: (cp_write_global_declarations):  Add start/stop of
	new TV_PHASE_DEFERRED, TV_PHASE_CGRAPH, TV_PHASE_CHECK_DBGINFO.
	Remove push/pop calls to TV_VARCONST.

	* parser.c: Add include of "timevar.h".
	(cp_parser_explicit_instantiation): Add push/pop calls to
	TV_TEMPLATE_INST.
	(cp_parser_enum_specifier): Add push/pop calls to new TV_PARSE_ENUM.
	(cp_parser_class_specifier): Add wrapper to add push/pop calls to
	TV_PARSE_STRUCT.
	(cp_parser_function_definition_from_specifiers_and_declarator): Add
	push/pop calls to new TV_PARSE_FUNC or TV_PARSE_INLINE.
	(cp_parser_late_parsing_for_member):  Add push/pop calls to
	new TV_PARSE_INMETH.

	* call.c: Add include of "timevar.h".
        (convert_class_to_reference): Wrap and add push/pop calls to 
	TV_OVERLOAD.
	(build_op_call): Likewise.
	(build_conditional_expr): Likewise.
	(build_new_op): Likewise.
	(build_new_method_call): Likewise.
        (build_user_type_conversion): Reorganize to single return and add
	push/pop calls to TV_OVERLOAD.
        (perform_overload_resolution): Likewise.

	* Make-lang.in: Add dependence of call.o and parser.o on $(TIMEVAR_H).

From-SVN: r173277
2011-05-02 22:19:48 +00:00
Jason Merrill
9c69dcea0d tree.c (build_vec_init_expr): Take complain parm.
* tree.c (build_vec_init_expr): Take complain parm.
	(build_vec_init_elt): Likewise.  Free arg vector.
	(diagnose_non_constexpr_vec_init, build_array_copy): Adjust.
	* cp-tree.h (VEC_INIT_EXPR_SLOT): Use VEC_INIT_EXPR_CHECK.
	(VEC_INIT_EXPR_INIT): Likewise.
	Adjust build_vec_init_expr declaration.
	* init.c (perform_member_init): Adjust.

From-SVN: r173275
2011-05-02 18:00:16 -04:00
Jason Merrill
b73a470455 revert: re PR c++/40975 (ICE in copy_tree_r on array new)
Revert:
	PR c++/40975
	* cp-tree.def (VEC_INIT_EXPR): Add third operand.
	* cp-tree.h (VEC_INIT_EXPR_NELTS): New.
	* cp-gimplify.c (cp_gimplify_expr) [VEC_INIT_EXPR]: Handle it.
	* tree.c (build_vec_init_expr): Handle getting pointer/nelts.
	(build_vec_init_elt): Don't expect an array type.
	(build_array_copy): Adjust.
	* init.c (perform_member_init): Adjust.
	(build_new_1): Use build_vec_init_expr.

From-SVN: r173274
2011-05-02 18:00:07 -04:00
Jason Merrill
3533b943d1 re PR c++/40975 (ICE in copy_tree_r on array new)
PR c++/40975
	* tree-inline.c (copy_tree_r): Handle STATEMENT_LIST.

From-SVN: r173273
2011-05-02 17:59:57 -04:00
Jason Merrill
0a2cdfe6fd re PR c++/48834 (-fno-exceptions causes wrong code generation on C++ code)
PR c++/48834
	* tree.c (build_vec_init_expr): Set TREE_SIDE_EFFECTS.
	Protect an explicit target.

From-SVN: r173272
2011-05-02 17:59:49 -04:00
Simon Martin
2609a0ce53 re PR c/35445 (ICE with conflicting declarations)
gcc/

2011-05-02  Simon Martin  <simartin@users.sourceforge.net>

    PR c/35445
    * c-decl.c (finish_decl): Only create a composite if the types are
    compatible.

gcc/testsuite/

2011-05-02  Simon Martin  <simartin@users.sourceforge.net>

    PR c/35445
    * gcc.dg/pr35445.c: New test.

From-SVN: r173269
2011-05-02 20:13:08 +00:00
Uros Bizjak
14dccaf069 mmx.md (*movv2sf_internal_rex64): Fix %vmovlps template.
* config/i386/mmx.md (*movv2sf_internal_rex64): Fix %vmovlps template.
	(*movv2sf_internal): Ditto.

From-SVN: r173267
2011-05-02 21:28:05 +02:00
Joseph Myers
6b0e4cbb42 fr30-protos.h (Mmode): Don't define.
* config/fr30/fr30-protos.h (Mmode): Don't define.
	* config/m32r/m32r-protos.h (Mmode): Don't define.  Expand
	definition where used.
	* config/mn10300/mn10300-protos.h (Mmode, Cstar, Rclas): Don't
	define.  Expand definitions where used.
	* config/rx/rx-protos.h (Mmode, Fargs, Rcode): Don't define.
	Expand definitions where used.
	* config/rx/rx.c (rx_is_legitimate_address, rx_function_arg_size,
	rx_function_arg, rx_function_arg_advance,
	rx_function_arg_boundary): Expand definitions of those macros.
	* config/v850/v850-protos.h (Mmode): Don't define.  Expand
	definition where used.

From-SVN: r173266
2011-05-02 20:03:57 +01:00
Uros Bizjak
4e938ce6e7 mmx.md (*mov<mode>_internal_rex64): Use %vmovq for reg<->xmm moves.
* config/i386/mmx.md (*mov<mode>_internal_rex64): Use %vmovq for
	reg<->xmm moves.
	(*mov<mode>_internal): Merge with *mov<mode>_internal_avx.
	(*movv2sf_internal_rex64): Use %vmovq for reg<->xmm moves.  Merge
	with *movv2sf_internal_rex64_avx.
	(*movv2sf_internal): Merge with *movv2sf_internal_avx.
	* config/i386/i386.md (*movdi_internal_rex64) <TYPE_SSEMOV>:
	Use %v prefix in insn mnemonic to handle TARGET_AVX.
	(*movdi_internal): Add "isa" attribute.  Use "maybe_vex" instead of
	"vex" in "prefix" attribute calculation.
	(*movdf_internal): Output AVX mnemonics.  Add "prefix" attribute.

From-SVN: r173265
2011-05-02 20:58:32 +02:00
Jason Merrill
9257f35f7b re PR c++/48446 (internal compiler error: in gimplify_var_or_parm_decl, at gimplify.c:1946)
PR c++/48446
	* decl.c (stabilize_save_expr_r, stabilize_vla_size): New.
	(compute_array_index_type): Revert earlier 48446 changes.
	(grokdeclarator): Use stabilize_vla_size.

From-SVN: r173264
2011-05-02 14:38:44 -04:00
Dmitry Gorbachev
6fb380f708 parser.c (cp_parser_init_declarator): Set pushed_scope to NULL_TREE instead of inappropriate zero values.
* parser.c (cp_parser_init_declarator): Set pushed_scope to NULL_TREE
	instead of inappropriate zero values.

Co-Authored-By: Eric Botcazou <ebotcazou@adacore.com>

From-SVN: r173263
2011-05-02 17:06:49 +00:00
Paolo Carlini
481ae741a8 2011-05-02 Paolo Carlini <paolo.carlini@oracle.com>
Tweak last ChangeLog entry.

From-SVN: r173262
2011-05-02 17:05:51 +00:00
Stuart Henderson
36019c19aa re PR target/47951 (web.c:union_match_dups segmentation fault for bfin)
2011-05-02  Stuart Henderson  <shenders@gcc.gnu.org>

        PR target/47951
        * config/bfin/bfin.md (loop_end): Use matching constraints to ensure
        inputs match the output.

From-SVN: r173261
2011-05-02 17:01:01 +00:00
Andreas Schwab
f69ea688b0 re PR target/47955 (gcc.dg/stack-usage-1.c fails on m68k-linux)
PR target/47955
* gcc/config/m68k/m68k.c (m68k_expand_prologue): Set
current_function_static_stack_size.

From-SVN: r173260
2011-05-02 16:58:32 +00:00
Jan Hubicka
c33406f5b1 lto-streamer.c (lto_streamer_cache_insert_1, [...]): Use pointer map instead of hashtable.
* lto-streamer.c (lto_streamer_cache_insert_1,
	lto_streamer_cache_lookup, lto_streamer_cache_create,
	lto_streamer_cache_delete): Use pointer map instead of hashtable.
	* lto-streamer.h (lto_streamer_cache_d): Turn node_map into pointer_map.

From-SVN: r173259
2011-05-02 16:44:04 +00:00
Ollie Wild
95c952c532 sso_string_base.h (__sso_string_base<>::_M_construct): Fix unqualified lookup.
* include/ext/sso_string_base.h (__sso_string_base<>::_M_construct):
	Fix unqualified lookup.
	(__sso_string_base<>::_M_construct): Likewise.
	(__sso_string_base<>::_M_construct): Likewise.
	(__sso_string_base<>::_M_assign): Likewise.
	(__sso_string_base<>::_M_reserve): Likewise.
	(__sso_string_base<>::_M_mutate): Likewise.
	(__sso_string_base<>::_M_erase): Likewise.
	* include/ext/vstring.h (__versa_string<>::replace): Likewise.
	(__versa_string<>::compare): Likewise.
	* include/ext/vstring.tcc (__versa_string<>::compare): Likewise.
	(__versa_string<>::compare): Likewise.
	(__versa_string<>::compare): Likewise.
	(__versa_string<>::compare): Likewise.
	(__versa_string<>::compare): Likewise.

From-SVN: r173257
2011-05-02 16:25:14 +00:00
Joseph Myers
47c94d21e4 gcc_update (gcc/config/m68k/m68k-tables.opt): New dependencies.
contrib:
	* gcc_update (gcc/config/m68k/m68k-tables.opt): New dependencies.

gcc:
	* config/m68k/genopt.sh, config/m68k/m68k-isas.def,
	config/m68k/m68k-microarchs.def, config/m68k/m68k-opts.h,
	config/m68k/t-opts: New files.
	* config/m68k/m68k-tables.opt: New file (generated).
	* config.gcc (fido-*-*, m68k-*-*): Add m68k/m68k-tables.opt to
	extra_options and m68k/t-opts to tmake_file.
	* config/m68k/m68k.c (m68k_library_id_string): More to m68k.opt.
	(all_isas): Initialize using m68k-isas.def.
	(all_microarchs): Initialize using m68k-microarchs.def.
	(m68k_find_selection): Remove.
	(m68k_handle_option): Don't assert that global structures are in
	use.  Use error_at.  Access variables via opts pointer.  Don't
	handle -march=, -mcpu= and -mtune= here.  Set gcc_options fields
	directly for -m68020-40 and -m68020-60.
	(m68k_option_override): Set m68k_arch_entry, m68k_cpu_entry and
	m68k_tune_entry here.
	* config/m68k/m68k.h (enum uarch_type, enum target_device): Move
	to m68k-opts.h.
	(m68k_library_id_string): Remove declaration.
	* config/m68k/m68k.opt (config/m68k/m68k-opts.h): New
	HeaderInclude.
	(m68k_library_id_string): New Variable.
	(march=, mcpu=, mtune=): Use Enum and Var.

From-SVN: r173256
2011-05-02 16:42:39 +01:00
Richard Guenther
e562bf36b6 varasm.c (output_constructor_regular_field): Compute zero-based index with double-ints.
2011-05-02  Richard Guenther  <rguenther@suse.de>

	* varasm.c (output_constructor_regular_field): Compute zero-based
	index with double-ints.  Make sure to ICE instead of producing
	wrong code.
	* cgraph.c (cgraph_add_thunk): Do not create new tree nodes
	in asserts.  Properly use a signed type.

From-SVN: r173255
2011-05-02 15:22:54 +00:00
Uros Bizjak
6bec6c9897 sse.md (V): New mode iterator.
* config/i386/sse.md (V): New mode iterator.
	(V_128): Rename from SSEMODE.  Make V2DF mode conditional on
	TARGET_SSE2.
	(V_256): Rename from AVX256MODE.
	(VF): Make V4SF mode unconditional.  Add TARGET_SSE instruction
	condition to all users.
	(VF1): Ditto.
	(VF2): Make V2DF mode unconditional.  Add TARGET_SSE2 instruction
	condition to all users.
	(VF_128): Make V4SF mode unconditional.
	(VF_256): Rename from AVX256MODEF2P.
	(VI4F_128): Rename from SSEMODE4S.
	(VI8F_128): Rename from SSEMODE2D.
	(VI4F_256): Rename from AVX256MODE8P.
	(VI8F_256): Rename from AVX256MODE4P.
	(avxsizesuffix): Add V16HI, V4DI, V8HI and V2DI modes.
	(ssescalarmodesuffix): Remove SF and DF modes.
	(SSEMODE124): Remove.
	(SSEMODE1248): Ditto.
	(SSEMODEF2P): Ditto.
	(AVXMODEF2P): Ditto.
	(AVXMODEFDP): Ditto.
	(AVXMODEFSP): Ditto.
	(VEC_EXTRACT_MODE): Make V16QI, V8HI, V4SI, V2DI, V4SF and V2DF modes
	unconditional.
	(VEC_EXTRACT_EVENODD_MODE): Rename from SSEMODE_EO.  Make V4SF mode
	unconditional.
	(xop_pcmov_<mode><avxsizesuffix>): Merge from xop_pcmov_<mode> and
	xop_pcmov_<mode>256.  Use V mode iterator.

	Adjust RTX patterns globally for renamed mode attributes.

From-SVN: r173253
2011-05-02 16:10:05 +02:00
Ulrich Weigand
2dfdcb4beb haifa-sched.c (sched_emit_insn): Emit insn before first non-scheduled insn.
* haifa-sched.c (sched_emit_insn): Emit insn before first
	non-scheduled insn.  Inform back-end about new insn.  Add
	new insn to scheduled_insns list.

From-SVN: r173251
2011-05-02 13:16:55 +00:00
Richard Guenther
90bc462321 re PR tree-optimization/48822 (G++ gets stucks and never finishes compilation when enabling -O2/3 optimization options.)
2011-05-02  Richard Guenther  <rguenther@suse.de>

	PR tree-optimization/48822
	* tree-ssa-sccvn.c (set_ssa_val_to): Never go up the lattice.
	(process_scc): Indicate which iteration we start.

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

From-SVN: r173250
2011-05-02 13:11:27 +00:00
Paolo Carlini
9fd15228e2 re PR c++/47969 ([C++0x] ICE: SIGSEGV in compute_array_index_type (cp/decl.c:7522))
/cp
2011-05-02  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/47969
	* decl.c (compute_array_index_type): Check build_expr_type_conversion
	return value for NULL_TREE.

/testsuite
2011-05-02  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/47969
	* g++.dg/cpp0x/constexpr-47969.C: New.

From-SVN: r173249
2011-05-02 12:44:15 +00:00
Jan Hubicka
bc0fe8cb2a lto-section-in.c (lto_input_1_unsigned): Move to lto-streamer.h
* lto-section-in.c (lto_input_1_unsigned): Move to lto-streamer.h
	(lto_section_overrun): New.
	* lto-section-out.c (append_block): Rename to ...
	(lto_append_block): ... this one; export.
	(lto_output_1_stream): Move lto lto-streamer.h
	(lto_output_data_stream): Update.
	* lto-streamer.h (lto_section_overrun, lto_append_block): Declare.
	(lto_output_1_stream, lto_input_1_unsigned): Turn into inline
	functions.

From-SVN: r173247
2011-05-02 12:37:13 +00:00
Ira Rosen
d12530b543 re PR testsuite/48498 (Several gcc.dg/vect tests XPASS on SPARC)
PR testsuite/48498
	* gcc.dg/vect/slp-3.c: Increase loop bound.  Don't expect to fail
	on vect_no_align targets.
	* gcc.dg/vect/no-vfa-pr29145.c: Don't expect to fail on
	vect_no_align targets.

From-SVN: r173245
2011-05-02 11:13:26 +00:00
Richard Guenther
f070a9d108 tree.c (tree_code_counts): New global array.
2011-05-02  Richard Guenther  <rguenther@suse.de>

	* tree.c (tree_code_counts): New global array.
	(record_node_allocation_statistics): Count individual tree codes.
	(dump_tree_statistics): Dump individual code stats.

From-SVN: r173244
2011-05-02 11:12:26 +00:00
Jonathan Wakely
65bdd626be status_cxx200x.xml: Update to reflect current status and FDIS content.
2011-05-02  Jonathan Wakely  <jwakely.gcc@gmail.com>

	* doc/xml/manual/status_cxx200x.xml: Update to reflect current status
	and FDIS content.
	* doc/xml/manual/documentation_hacking.xml: Fix typo.
	* doc/html/*: Regenerate.

From-SVN: r173243
2011-05-02 11:39:15 +01:00
Xinliang David Li
b038e4379c new tests
From-SVN: r173242
2011-05-02 05:30:59 +00:00
GCC Administrator
5bfa2178f2 Daily bump.
From-SVN: r173240
2011-05-02 00:19:15 +00:00
Jan Hubicka
09dfe187f0 ipa-inline.c (caller_growth_limits): Fix thinko when
* ipa-inline.c (caller_growth_limits): Fix thinko when
	* ipa-inline.c (caller_growth_limits): Fix thinko when
	looking for largest stack frame.
	* ipa-inline.h (dump_inline_summary): Declare.
	* ipa-inline-analysis.c (dump_inline_edge_summary): Dump info
	on stack usage.
	(dump_inline_summary): Export.
	(debug_inline_summary): Declare as DEBUG_FUNCTION.

From-SVN: r173234
2011-05-01 19:11:07 +00:00
Jerry DeLisle
12c0e3856b re PR libfortran/48787 (Invalid UP/DOWN rounding with F editing)
2011-05-01  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	PR libgfortran/48787
	* gfortran.dg/round_3.f08: Add more checks.

From-SVN: r173233
2011-05-01 12:37:05 +00:00
Anatoly Sokolov
6f76a8788e reginfo.c (memory_move_cost): Change rclass argument type form 'enum reg_class' to reg_class_t.
* reginfo.c (memory_move_cost): Change rclass argument type form
	'enum reg_class' to reg_class_t.
	* reload.h (memory_move_cost): Update prototype.
	* postreload.c reload_cse_simplify_set): Change type dclass var to
	reg_class_t.
	* ira-int.h (ira_allocate_cost_vector, ira_free_cost_vector):
	Update prototype.
	(ira_allocate_and_set_costs): Change aclass argument type form
	'enum reg_class' to reg_class_t.
	* ira-build.c (ira_allocate_cost_vector, ira_free_cost_vector): 
	Change aclass argument type to reg_class_t.
	(update_conflict_hard_reg_costs): Change type aclass and pref vars
	to reg_class_t.
	* gcc/ira.c (setup_class_subset_and_memory_move_costs): Adjust
	memory_move_cost call.

	* config/ia64/ia64.c (ia64_register_move_cost): Remove 'from' and
	'to' local var. Rename from_i and to_i arguments to 'from' and 'to'.
	Change type tmp var to reg_class_t.

From-SVN: r173232
2011-05-01 16:33:13 +04:00
Jerry DeLisle
7c4f44cd60 re PR libfortran/48787 (Invalid UP/DOWN rounding with F editing)
2011-05-01  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	PR libgfortran/48787
	* io/write_float.def (output_float): Gather up integer declarations and
	add new 'p' for scale factor. Use 'p' in place of the 'dtp' reference
	everywhere. For ROUND_UP scan the digit string and only perform
	rounding if something other than '0' is found.

From-SVN: r173231
2011-05-01 12:32:18 +00:00
GCC Administrator
5a76c853a8 Daily bump.
From-SVN: r173229
2011-05-01 00:18:21 +00:00
Eric Botcazou
4fb87d2b24 gnatvsn.ads (Library_Version): Bump to 4.7.
* gnatvsn.ads (Library_Version): Bump to 4.7.
	(Current_Year): Bump to 2011.

From-SVN: r173224
2011-04-30 21:16:34 +00:00
Thomas Koenig
03cf983766 dump-prase-tree.c (show_code_node): Set the current namespace to the BLOCK before displaying it; restore afterwards.
2011-04-30  Thomas Koenig  <tkoenig@gcc.gnu.org>

	* dump-prase-tree.c (show_code_node):  Set the current
	namespace to the BLOCK before displaying it; restore
	afterwards.

From-SVN: r173223
2011-04-30 21:13:44 +00:00
Paolo Carlini
2c7a09d774 [multiple changes]
2011-04-30  Daniel Krugler  <daniel.kruegler@googlemail.com>

	* include/std/type_traits (__is_default_constructible_atom,
	__is_default_constructible_safe<, true>,
	__is_direct_constructible_new_safe,
	__is_base_to_derived_ref<,, true>, __is_lvalue_to_rvalue_ref<,, true>,
	__is_direct_constructible_ref_cast, __is_direct_constructible,
	__is_nary_constructible): Simplify; add comments throughout.

2011-04-30  Paolo Carlini  <paolo.carlini@oracle.com>

	* testsuite/20_util/make_signed/requirements/typedefs_neg.cc:
	Adjust dg-error line numbers.
	* testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
	Likewise.
	* testsuite/20_util/declval/requirements/1_neg.cc: Likewise.

From-SVN: r173222
2011-04-30 19:40:06 +00:00
Tobias Burnus
2ad7ae18f4 re PR fortran/48821 (IMPORT :: dummy_arg is rejected, while "IMPORT" imports it)
2011-04-30  Tobias Burnus  <burnus@net-b.de>
 
       PR fortran/48821
       * gfortran.dg/import9.f90: New, proper test.
       * gfortran.dg/interface_37.f90: Remove bogus
       test (bogus copy of interface_36.f90).

From-SVN: r173221
2011-04-30 18:33:47 +02:00
Doug Kwan
d5e8e6a873 Makefile.am (install-freestanding-headers): Also install cxxabi_tweaks.h.
2011-04-30  Doug Kwan  <dougkwan@google.com>

	* include/Makefile.am (install-freestanding-headers): Also install
	cxxabi_tweaks.h.
	* include/Makefile.in: Regenerate.

From-SVN: r173220
2011-04-30 16:26:23 +00:00
Tobias Burnus
4e2cf5f5f6 re PR fortran/48800 (ICE with non-allocatable/pointer deferred-shape array)
2011-04-30  Tobias Burnus  <burnus@net-b.de>

        PR fortran/48800
        * decl.c (gfc_match_import): Don't try to find the
        symbol if already found.

2011-04-30  Tobias Burnus  <burnus@net-b.de>

        PR fortran/48800
        * gfortran.dg/interface_37.f90: New.

From-SVN: r173219
2011-04-30 17:54:49 +02:00
Diego Novillo
2e1df0f00b cp-tree.h (LOOKUP_EXPLICIT_TMPL_ARGS): Define.
cp/ChangeLog
2011-04-29  Le-Chun Wu  <lcwu@google.com>

	* cp-tree.h (LOOKUP_EXPLICIT_TMPL_ARGS): Define.
	* call.c (build_new_function_call): Set it for TEMPLATE_ID_EXPRs.
	(build_over_call): Use it to determine whether to emit a NULL
	warning for template function instantiations.
	(build_new_method_call): Set LOOKUP_EXPLICIT_TMPL_ARGS if
	EXPLICIT_TARGS is set.

2011-04-29  Diego Novillo  <dnovillo@google.com>
	    Le-Chun Wu  <lcwu@google.com>

	* call.c (conversion_null_warnings): Also handle assignments
	when warning about NULL conversions.

testsuite/ChangeLog
2011-04-29  Le-Chun Wu  <lcwu@google.com>

	* g++.dg/warn/Wnull-conversion-1.C: New.
	* g++.dg/warn/Wnull-conversion-2.C: New.

2011-04-29  Le-Chun Wu  <lcwu@google.com>

	* g++.dg/warn/Wconversion-null-2.C: Do not expect a NULL
	  warning in implicitly instantiated templates.

2011-04-29  Diego Novillo  <dnovillo@google.com>

	* g++.old-deja/g++.other/null3.C: Expect warning about converting
	boolean to a pointer.

From-SVN: r173217
2011-04-30 11:20:58 -04:00
Jan Hubicka
9a4ac625f1 ipa-inline.c (can_inline_edge_p): Disregard limits when inlining into function with flatten attribute.
* ipa-inline.c (can_inline_edge_p): Disregard limits when
	inlining into function with flatten attribute.
	(want_inline_small_function_p): Be more realistic about inlining
	cold calls where callee size grows.

From-SVN: r173216
2011-04-30 14:08:03 +00:00
Jan Hubicka
dd8352ee7a cgraph.c (cgraph_create_virtual_clone): Clear constructor/destructor flags.
* cgraph.c (cgraph_create_virtual_clone): Clear constructor/destructor
	flags.

From-SVN: r173215
2011-04-30 14:07:06 +00:00
Paul Thomas
b972d95b2c re PR fortran/48746 (Matmul with allocate on assignment)
2011-04-30  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/48746
	* trans-expr.c (fcncall_realloc_result): Set the bounds and the
	offset so that the lbounds are one.
	(gfc_trans_arrayfunc_assign): Add rank to arguments of above.

2011-04-30  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/48746
	* gfortran.dg/realloc_on_assign_7.f03: Test bounds.

From-SVN: r173213
2011-04-30 11:46:31 +00:00
Anatoly Sokolov
46e43d2b55 sparc.h (PRINT_OPERAND, [...]): Remove.
* config/sparc/sparc.h (PRINT_OPERAND, PRINT_OPERAND_ADDRESS,
	PRINT_OPERAND_PUNCT_VALID_P): Remove.
	* config/sparc/sparc-protos.h (print_operand): Remove declaration.
	* config/sparc/sparc.c (TARGET_PRINT_OPERAND_PUNCT_VALID_P,
	TARGET_PRINT_OPERAND, TARGET_PRINT_OPERAND_ADDRESS): Define.
	(print_operand): Rename to...
	(sparc_print_operand): ...this. Make static. Adjust
	sparc_print_operand function call.
	(sparc_print_operand_punct_valid_p, sparc_print_operand_address): New
	functions.

From-SVN: r173212
2011-04-30 15:17:56 +04:00
Jan Hubicka
ecb6256367 re PR middle-end/48752 (ICE in evaulate_conditions_for_edge at ipa-inline-analysis.c:466)
PR middle-end/48752 
	* ipa-inline.c (early_inliner): Disable when doing late
	addition of function.

From-SVN: r173211
2011-04-30 11:01:26 +00:00
Jakub Jelinek
be80a87ee5 dwarf2.h (DW_OP_GNU_const_type, [...]): New.
* dwarf2.h (DW_OP_GNU_const_type, DW_OP_GNU_regval_type,
	DW_OP_GNU_deref_type, DW_OP_GNU_convert, DW_OP_GNU_reinterpret): New.

	* dwarf2out.c (get_address_mode): New inline.
	(mem_loc_descriptor): Add MEM_MODE parameter, adjust recursive calls,
	if not dwarf_strict emit
	DW_OP_GNU_{{const,regval,deref}_type,convert,reinterpret} when
	desirable.  Handle FLOAT_EXTEND, FLOAT_TRUNCATE, FLOAT,
	UNSIGNED_FLOAT, FIX and UNSIGNED_FIX.  Just return NULL for
	FMA, STRICT_LOW_PART, CONST_VECTOR and CONST_FIXED.
	(dwarf2out_frame_debug_cfa_expression, reg_loc_descriptor,
	dw_loc_list_1, cst_pool_loc_descr, loc_list_from_tree): Adjust
	mem_loc_descriptor callers.
	(dwarf_stack_op_name, size_of_loc_descr, output_loc_operands,
	output_loc_operands_raw, hash_loc_operands, compare_loc_operands):
	Handle DW_OP_GNU_const_type, DW_OP_GNU_regval_type,
	DW_OP_GNU_deref_type, DW_OP_GNU_convert and DW_OP_GNU_reinterpret.
	(base_types): New variable.
	(get_base_type_offset, calc_base_type_die_sizes,
	base_type_for_mode, mark_base_types, base_type_cmp,
	move_marked_base_types): New functions.
	(calc_die_sizes): Assert that die_offset is 0 or equal to
	next_die_offset.
	(loc_descriptor): Only handle here lowpart SUBREGs of REG, for
	others defer to mem_loc_descriptor.  Adjust mem_loc_descriptor
	callers.  If not dwarf_strict, call mem_loc_descriptor even for
	non-MODE_INT modes or MODE_INT modes larger than DWARF2_ADDR_SIZE.
	(gen_subprogram_die): Don't give up on call site parameters
	with non-integral or large integral modes.  Adjust
	mem_loc_descriptor callers.
	(prune_unused_types): Call prune_unused_types_mark on base_types
	vector entries.
	(resolve_addr): Call mark_base_types.
	(dwarf2out_finish): Call move_marked_base_types.

From-SVN: r173210
2011-04-30 12:06:18 +02:00
Jakub Jelinek
edb9b69e57 re PR testsuite/48809 (switch statement optimization error)
PR tree-optimization/48809
	* tree-switch-conversion.c (build_arrays): Compute tidx in unsigned
	type.
	(gen_inbound_check): Don't compute index_expr - range_min in utype
	again, instead reuse SSA_NAME initialized in build_arrays.
	Remove two useless gsi_for_stmt calls.

	* gcc.c-torture/execute/pr48809.c: New test.

From-SVN: r173207
2011-04-30 08:54:02 +02:00
Jeff Law
a6545a3d94 tree-ssa-threadedge.c (thread_across_edge): Add missing return.
* tree-ssa-threadedge.c (thread_across_edge): Add missing return.

 	* gcc.dg/tree-ssa/ssa-dom-thread-4.c: New test.

From-SVN: r173206
2011-04-29 21:46:17 -06:00