Commit Graph

109681 Commits

Author SHA1 Message Date
Jason Merrill
8288cc7387 re PR c++/49260 ([C++0x] lambda-eh2.C fails execution)
PR c++/49260
	* call.c (build_call_a): Set cp_function_chain->can_throw here.
	(build_cxx_call): Not here.

From-SVN: r175296
2011-06-22 11:55:22 -04:00
H.J. Lu
3b4c46d711 Check TARGET_PARTIAL_REG_STALL in imul to lea peepholes.
2011-06-22  H.J. Lu  <hongjiu.lu@intel.com>

	PR target/49497
	* config/i386/i386.md (*lea_general_2): Always allow SImode.
	(*lea_general_2_zext): Likewise.
	(imul to lea peepholes): Use const359_operand and check
	TARGET_PARTIAL_REG_STALL.

	* config/i386/predicates.md (const359_operand): New.

From-SVN: r175295
2011-06-22 08:29:43 -07:00
Michael Matz
4399cf590f * cgraphunit.c (assemble_thunk): Use correct return type.
From-SVN: r175294
2011-06-22 13:59:03 +00:00
Dmitry Plotnikov
31a0c8251b arm.c (neon_immediate_valid_for_shift): New function.
2011-06-22  Dmitry Plotnikov  <dplotnikov@ispras.ru>
	Dmitry Melnik  <dm@ispras.ru>

	* config/arm/arm.c (neon_immediate_valid_for_shift): New function.
	(neon_output_shift_immediate): Ditto.
	* config/arm/arm-protos.h (neon_immediate_valid_for_shift): New
	prototype.
	(neon_output_shift_immediate): Ditto.
	* config/arm/neon.md (vashl<mode>3): Modified constraint.
	(vashr<mode>3_imm): New insn pattern.
	(vlshr<mode>3_imm): Ditto.
	(vashr<mode>3): Modified constraint.
	(vlshr<mode>3): Ditto.
	* config/arm/predicates.md (imm_for_neon_lshift_operand): New
	predicate.
	(imm_for_neon_rshift_operand): Ditto.
	(imm_lshift_or_reg_neon): Ditto.
	(imm_rshift_or_reg_neon): Ditto.

	* optabs.c (init_optabs): Init optab codes for vashl, vashr, vlshr.

testsuite:

	* gcc.target/arm/neon-vshr-imm-1.c: New testcase.
	* gcc.target/arm/neon-vshl-imm-1.c: New testcase.
	* gcc.target/arm/neon-vlshr-imm-1.c: New testcase.


Co-Authored-By: Dmitry Melnik <dm@ispras.ru>

From-SVN: r175293
2011-06-22 15:57:52 +04:00
Uros Bizjak
1da9434b4b enable-execute-stack-empty.c (__enable_execute_stack): Add prototype.
* enable-execute-stack-empty.c (__enable_execute_stack): Add prototype.

From-SVN: r175292
2011-06-22 13:20:07 +02:00
Uros Bizjak
070387a43c run-le.c: Skip for -pie on alpha*-*-linux*.
* gcc.dg/torture/tls/run-le.c: Skip for -pie on alpha*-*-linux*.
	* gcc.dg/torture/tls/tls-test.c: Ditto.
	* gcc.dg/torture/tls/thr-init-1.c: Ditto.
	* gcc.dg/torture/tls/thr-init-1.c: Ditto.

From-SVN: r175291
2011-06-22 13:16:16 +02:00
Jakub Jelinek
36dc1a88ff tree-ssa-ccp.c (evaluate_stmt): Try bitwise tracking for builtin calls even if likelyvalue is not CONSTANT.
* tree-ssa-ccp.c (evaluate_stmt): Try bitwise tracking for
	builtin calls even if likelyvalue is not CONSTANT.
	Handle BUILT_IN_STRDUP and BUILT_IN_STRNDUP like BUILT_IN_MALLOC.
	Return get_value_for_expr of first operand
	for BUILT_IN_{MEM{CPY,MOVE,SET},STR{,N}CPY}{,_CHK}.
	* tree-ssa-alias.c (ref_maybe_used_by_call_p_1): Handle
	BUILT_IN_{MEM{{,P}CPY,MOVE,SET},STR{,N}C{PY,AT},STPCPY}_CHK like
	their non-checking counterparts.
	(call_may_clobber_ref_p_1): Likewise.
	(stmt_kills_ref_p_1): Handle BUILT_IN_MEM{{,P}CPY,MOVE,SET}_CHK
	like their non-checking counterparts.
	* tree-ssa-structalias.c (find_func_aliases_for_builtin_call):
	Handle BUILT_IN_{MEM{{,P}CPY,MOVE,SET},STR{,N}C{PY,AT},STPCPY}_CHK
	like their non-checking counterparts.
	(find_func_clobbers): Likewise.
	* tree-ssa-dce.c (propagate_necessity): Handle BUILT_IN_MEMSET_CHK
	like BUILT_IN_MEMSET and BUILT_IN_CALLOC like BUILT_IN_MALLOC.

From-SVN: r175290
2011-06-22 12:46:36 +02:00
Jakub Jelinek
41cd495729 dwarf2out.c (size_of_loc_descr, [...]): Allow DW_OP_GNU_convert and DW_OP_GNU_reinterpret to use constant instead of...
* dwarf2out.c (size_of_loc_descr, output_loc_operands,
	mark_base_types, hash_loc_operands, compare_loc_operands): Allow
	DW_OP_GNU_convert and DW_OP_GNU_reinterpret to use constant instead
	of base type reference as argument.
	(resolve_addr_in_expr): Likewise.  Fix keep computation.
	(convert_descriptor_to_signed): Renamed to...
	(convert_descriptor_to_mode): ... this.  For wider types convert
	to unsigned instead of signed, for <= DWARF2_ADDR_SIZE convert to
	untyped.
	(typed_binop): New function.
	(scompare_loc_descriptor, ucompare_loc_descriptor,
	minmax_loc_descriptor, mem_loc_descriptor): For wider integer modes
	default to unsigned type instead of signed.

From-SVN: r175289
2011-06-22 12:44:56 +02:00
Jakub Jelinek
ddb555ed51 re PR debug/47858 (IPA-SRA decreases quality of debug info)
PR debug/47858
	* gimple.h (enum gimple_debug_subcode): Add GIMPLE_DEBUG_SOURCE_BIND.
	(gimple_build_debug_source_bind_stat): New prototype.
	(gimple_build_debug_source_bind): Define.
	(gimple_debug_source_bind_p, gimple_debug_source_bind_get_var,
	gimple_debug_source_bind_get_value,
	gimple_debug_source_bind_get_value_ptr,
	gimple_debug_source_bind_set_var,
	gimple_debug_source_bind_set_value): New inlines.
	* gimple.c (gimple_build_debug_source_bind_stat): New function.
	* gimple-pretty-print.c (dump_gimple_debug): Handle
	GIMPLE_DEBUG_SOURCE_BIND.
	* sese.c (rename_uses): Handle gimple_debug_source_bind_p.
	* tree-ssa-dce.c (mark_stmt_if_obviously_necessary): Likewise.
	* tree-parloops.c (eliminate_local_variables,
	separate_decls_in_region): Likewise.
	(separate_decls_in_region_debug): Renamed from
	separate_decls_in_region_debug_bind.  Handle
	gimple_debug_source_bind_p.
	* tree.h (decl_debug_args_lookup, decl_debug_args_insert): New
	prototypes.
	(DECL_HAS_DEBUG_ARGS_P): Define.
	(struct tree_function_decl): Add has_debug_args_flag field.
	* tree.c (debug_args_for_decl): New variable.
	(decl_debug_args_lookup, decl_debug_args_insert): New functions.
	* tree-into-ssa.c (mark_def_sites): Handle uses in debug stmts.
	(rewrite_debug_stmt_uses): New function.
	(rewrite_stmt): Use it to rewrite debug stmt uses.
	* rtl.def (DEBUG_PARAMETER_REF): New.
	* rtl.h (DEBUG_PARAMETER_REF_DECL): Define.
	* cselib.c (rtx_equal_for_cselib_1, cselib_hash_rtx): Handle
	DEBUG_PARAMETER_REF.
	* rtl.c (rtx_equal_p_cb, rtx_equal_p, iterative_hash_rtx): Likewise.
	* print-rtl.c (print_rtx): Likewise.
	* tree-sra.c (sra_ipa_reset_debug_stmts): Prefer replacing of
	SSA_NAMEs with DEBUG_EXPR_DECLs initialized in source bind
	debug stmts in the first bb.
	* tree-inline.c (remap_ssa_name): If remapping default def
	of a PARM_DECL fails, map to a DEBUG_EXPR_DECL set in
	a source bind debug stmt.
	(remap_gimple_stmt): Handle gimple_debug_source_bind_p.
	(maybe_move_debug_stmts_to_successors): Likewise.
	(copy_debug_stmt): Likewise.  Avoid shadowing a variable.
	(tree_function_versioning): If DECL_HAS_DEBUG_ARGS_P, copy
	debug args vector from old_decl to new_decl.
	* ipa-prop.c (ipa_modify_call_arguments): For optimized away
	or modified parameters, add debug bind stmts before call
	setting DEBUG_EXPR_DECL which is remembered in debug args
	vector.
	* cfgexpand.c (expand_call_stmt): Call expand_debug_expr
	on DECL_DEBUG_EXPRs from debug args vector.
	(expand_debug_source_expr): New function.
	(expand_debug_locations): Use it for source bind insns.
	(expand_gimple_basic_block): Handle gimple_debug_source_bind_p.
	* var-tracking.c (prepare_call_arguments): Add debug args
	to call_arguments if any.
	* dwarf2out.c (dwarf_stack_op_name, size_of_loc_descr,
	output_loc_operands, output_loc_operands_raw,
	resolve_addr_in_expr, compare_loc_operands): Handle
	DW_OP_GNU_parameter_ref.
	(get_ref_die_offset, parameter_ref_descriptor): New functions.
	(mem_loc_descriptor): Handle DEBUG_PARAMETER_REF.
	(gen_subprogram_die): Handle parameters identified by
	DEBUG_PARAMETER_REF.

	* dwarf2.h (enum dwarf_location_atom): Add DW_OP_GNU_parameter_ref.

From-SVN: r175288
2011-06-22 12:41:58 +02:00
Nathan Sidwell
ccdc216414 invoke.texi (ARM Options): Document -mtls-dialect option.
* doc/invoke.texi (ARM Options): Document -mtls-dialect option.
	* doc/install.texi (Configuration): Document --with-tls.
	* config.gcc (arm*-*-linux*): Default to gnu tls.
	(arm*-*-*): Add --with-tls option.
	(all_defaults): Add 'tls'.
	* config/arm/arm.c (enum tls_reloc): Add TLS_DESCSEQ.
	(arm_call_tls_get_addr): Clean up. Assert not tls descriptor.
	(arm_tls_descseq_addr): New.
	(legitimize_tls_address): Add tlsdesc support.
	(arm_cannot_copy_insn_p): Check for tlscall.
	(arm_emit_tls_decoration): Likewise.
	* config/arm/arm.h (TARGET_GNU2_TLS): New.
	(OPTION_DEFAULT_SPECS): Add with-tls support.
	* config/arm/arm.md (R1_REGNUM): Define.
	(tlscall): New.
	* config/arm/arm.opt (tls_type): New enumeration type and values.
	(mtls-dialect): New switch.
	* config/arm/arm-opts.h (enum tls_type): New.

	testsuite/
	* gcc.target/arm/tlscall.c: New.

From-SVN: r175287
2011-06-22 09:57:02 +00:00
Nicola Pero
70e41a6a27 In gcc/: 2011-06-21 Nicola Pero <nicola.pero@meta-innovation.com>
In gcc/:
2011-06-21  Nicola Pero  <nicola.pero@meta-innovation.com>

	* attribs.c (register_attribute): Added assert to check that all
	attribute specs are registered with a name that is not empty and
	does not start with '_'.
	(decl_attributes): Avoid the lookup of the "naked" attribute spec
	if the function has no attributes.
	* tree.c (is_attribute_with_length_p): Removed.
	(is_attribute_p): Removed.
	(private_is_attribute_p): New.  
	(private_lookup_attribute): New.
	(lookup_attribute): Removed.
	(lookup_ident_attribute): New.
	(remove_attribute): Require the first argument to be in the form
	'text', not '__text__'.  Updated asserts.
	(merge_attributes): Use lookup_ident_attributes instead of
	lookup_attribute.
	(merge_dllimport_decl_attributes): Use remove_attribute.
	(attribute_list_contained): Likewise.
	(attribute_list_equal): Immediately return 1 if the arguments are
	identical pointers.
	* tree.h (is_attribute_p): Made inline.  Return a 'bool', not an
	'int'.  Require the first argument to be in the form 'text', not
	'__text__'.  Require the second argument to be an identifier.
	(lookup_attribute): Made inline.  Require the first argument to be
	in the form 'text', not '__text__'.
	(private_is_attribute_p, private_lookup_attribute): New.
	Updated comments.

From-SVN: r175286
2011-06-22 09:52:55 +00:00
Uros Bizjak
637c11bd16 ChangeLog: Fix formatting.
* ChangeLog: Fix formatting.
	* testsuite/ChangeLog: Ditto.

From-SVN: r175285
2011-06-22 08:22:40 +02:00
Jason Merrill
da7d921819 re PR c++/49172 ([C++0x][constexpr] References should be declarable with constexpr)
PR c++/49172
	* decl.c (cp_finish_decl): Adjust init_const_expr_p for refs.
	(grokdeclarator): constexpr doesn't apply const for refs.
	* parser.c (cp_parser_initializer_clause): Don't call
	maybe_constant_value here.
	* call.c (initialize_reference): Handle constexpr.

From-SVN: r175284
2011-06-22 00:18:02 -04:00
GCC Administrator
584dd70075 Daily bump.
From-SVN: r175283
2011-06-22 00:18:06 +00:00
Andrew MacLeod
cb9a7db01d gogo-tree.cc (Gogo::define_builtin_function_trees): Change BUILT_IN_ADD_AND_FETCH to BUILT_IN_SYNC_ADD_AND_FETCH.
* gogo-tree.cc (Gogo::define_builtin_function_trees): Change
	BUILT_IN_ADD_AND_FETCH to BUILT_IN_SYNC_ADD_AND_FETCH.

From-SVN: r175278
2011-06-21 23:03:09 +00:00
Daniel Krugler
ccb4f5a707 move.h (__is_nothrow_swappable): Add.
2011-06-22  Daniel Krugler  <daniel.kruegler@googlemail.com>
	    Paolo Carlini  <paolo.carlini@oracle.com>

	* include/bits/move.h (__is_nothrow_swappable): Add.
	(swap(_Tp(&)[_Nm], _Tp(&)[_Nm])): Use noexcept.
	* include/bits/algorithmfwd.h: Adjust.
	* testsuite/25_algorithms/swap/noexcept.cc: New.


Co-Authored-By: Paolo Carlini <paolo.carlini@oracle.com>

From-SVN: r175277
2011-06-21 23:01:03 +00:00
Jason Merrill
358bb337a5 re PR c++/49482 ([C++0x] unused parameter warning on lambda in function template)
PR c++/49482
	* semantics.c (maybe_add_lambda_conv_op): Call mark_exp_read for
	static fn parameters.

From-SVN: r175273
2011-06-21 16:07:45 -04:00
Jason Merrill
ccaff498ac call.c (add_builtin_candidates): Use cv_unqualified rather than TYPE_MAIN_VARIANT.
* call.c (add_builtin_candidates): Use cv_unqualified rather than
	TYPE_MAIN_VARIANT.
	* pt.c (tsubst_arg_types): Likewise.
	* except.c (build_throw): Use cv_unqualified.

From-SVN: r175272
2011-06-21 15:05:33 -04:00
Jason Merrill
293678445f re PR c++/49418 (G++ discards cv-quals from template parameter types)
PR c++/49418
	* call.c (cxx_type_promotes_to): Don't strip cv-quals.
	* semantics.c (lambda_return_type): Strip them here.

From-SVN: r175271
2011-06-21 15:05:25 -04:00
Andrew MacLeod
e0a8ecf2a2 cosmetic. Add sync_ to all the expand_builtin defines which do not match the actual builtin_sync_ names.
2011-06-21  Andrew MacLeod  <amacleod@redhat.com>

	* builtins.c: Add sync_ or SYNC__ to builtin names.
	* sync-builtins.def: Add sync_ or SYNC__ to builtin names.
	* omp-low.c: Add sync_ or SYNC__ to builtin names.
	* c-family/c-common.c: Add sync_ or SYNC__ to builtin names.
	* c-family/c-omp.c: Add sync_ or SYNC__ to builtin names.
	* java/builtins.c: Add sync_ or SYNC__ to builtin names.
	* java/expr.c: Add sync_ or SYNC__ to builtin names.
	* cp/semantics.c: Add sync_ or SYNC__ to builtin names.
	* fortran/trans-openmp.c: Add sync_ or SYNC__ to builtin names.
	* fortran/trans-stmt.c: Add sync_ or SYNC__ to builtin names.
	* fortran/trans-decl.c: Add sync_ or SYNC__ to builtin names.

From-SVN: r175270
2011-06-21 19:04:33 +00:00
Georg-Johann Lay
663827d3e5 re PR target/33049 ([avr] bit extraction non optimal, inversing logic solves problem)
PR target/33049
	* config/avr/avr.md (extzv): New expander.
	(*extzv): New insn.
	(*extzv.qihi1, *extzv.qihi2): New insn-and-split.
	* config/avr/constraints.md (C04): New constraint.
	* doc/md.texi (Machine Constraints): Document it.

From-SVN: r175269
2011-06-21 17:30:54 +00:00
Rainer Orth
61d2c24233 re PR libgcj/49314 (md5test, shatest output FAILs on Tru64 UNIX)
PR libgcj/49314
	* gnu/gcj/convert/natIconv.cc (iconv_init): Pad in[] with NUL byte.

From-SVN: r175266
2011-06-21 17:09:57 +00:00
Jakub Jelinek
146aef0b39 re PR middle-end/49489 (gcc.c-torture/execute/builtin-bitops-1.c fails on x86_64-linux)
PR middle-end/49489
	* builtins.c (expand_builtin_unop): Call expand_unop with 0 as
	unsignedp argument instead of 1 for clrsb_optab.
	(fold_builtin_bitop): Fix masking for width > HOST_BITS_PER_WIDE_INT
	and < 2 * HOST_BITS_PER_WIDE_INT.  Optimize BUILT_IN_CLRSB*.
	(fold_builtin_1): Call fold_builtin_binop for BUILT_IN_CLRSB*.
	* optabs.c (widen_leading): Call widen_operand and expand_unop
	with 0 as unsignedp argument instead of 1 for clrsb_optab.
	(expand_unop): Subtract difference of mode sizes also for
	clrsb_optab.

From-SVN: r175265
2011-06-21 18:25:57 +02:00
Georg-Johann Lay
c0503294bc * config/avr/avr.md (*jcindirect_jump): Fix build warning.
From-SVN: r175264
2011-06-21 16:16:11 +00:00
Bernd Schmidt
0bddee8e54 gensupport.c (add_define_attr): New static function.
* gensupport.c (add_define_attr): New static function.
	(is_predicable): Allow multi-alternative lists for the "predicable"
	attribute.
	(modify_attr_enabled_ce, alter_attrs_for_insn): New static functions.
	(process_one_cond_exec): Call alter_attrs_for_insn.
	* doc/md.texi (Defining Attributes): Mention some standard names.
	(Conditional Execution): Update documentation for "predicable".

From-SVN: r175263
2011-06-21 14:38:38 +00:00
Rainer Orth
e4d48a4dd5 shared-object.mk (c_flags-$o): Save c_flags.
* shared-object.mk (c_flags-$o): Save c_flags.
	($(base)$(objext)): Use it.
	($(base)_s$(objext)): Likewise.

From-SVN: r175262
2011-06-21 14:26:13 +00:00
Bernd Schmidt
3801c801f3 Makefile.in (lib2funcs): Add _clrsbsi2 and _clrsbdi2.
libgcc/
	* Makefile.in (lib2funcs): Add _clrsbsi2 and _clrsbdi2.
	* libgcc-std.ver.in (GCC_4.7.0): New section.

	gcc/
	* doc/extend.texi (__builtin_clrsb, __builtin_clrsbl,
	__builtin_clrsbll): Document.
	* doc/rtl.texi (clrsb): New entry.
	* optabs.c (widen_leading): Renamed from widen_clz.  New argument
	UNOPTAB.  All callers changed.  Use UNOPTAB instead of clz_optab.
	(expand_unop): Handle clrsb_optab.
	(init_optabs): Initialize it.
	* optabs.h (enum optab_index): New entry OTI_clrsb.
	(clrsb_optab): Define.
	* genopinit.c (optabs): Add an entry for it.
	* builtins.c (expand_builtin): Handle clrsb builtin functions.
	* builtins.def (BUILT_IN_CLRSB, BUILT_IN_CLRSBIMAX, BUILT_IN_CLRSBL,
	BUILT_IN_CLRSBLL): New.
	* rtl.def (CLRSB): New code.
	* dwarf2out.c (mem_loc_descriptor): Handle it.
	* simplify-rtx.c (simplify_const_unary_operation): Likewise.
	Use op_mode rather than mode when optimizing ffs, clz, ctz, parity
	and popcount.
	* libgcc2.c (__clrsbSI2, __clrsbDI2): New functions.
	* libgcc2.h (__clrsbSI2, __clrsbDI2): Define and declare.
	(__ctzDI2): Move declaration.
	* config/bfin/bfin.md (clrsbsi2): New expander.
	(signbitssi2): Use the CLRSB rtx.
	(clrsbhi2): Renamed from signbitshi2.  Use the CLRSB rtx.
	* config/bfin/bfin.c (bdesc_1arg): Changed accordingly.

	gcc/testsuite/
	* gcc.c-torture/excute/builtin-bitops-1.c (MAKE_FUNS): Make
	my_clrsb test functions.
	(main): Test clrsb.
	* gcc.dg/builtin-protos-1.c (test_s, test_u, test_sl, test_ul,
	test_sll, test_ull): Add clrsb tests.
	* gcc.dg/torture/builtin-attr-1.c: Add tests for clrsb, clrsbl,
	clrsbll.

From-SVN: r175261
2011-06-21 14:16:39 +00:00
Janus Weil
95f5c7757f re PR fortran/49112 ([OOP] Missing type-bound procedure, "duplicate save" warnings and internal compiler error)
2011-06-21  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/49112
	* class.c (gfc_find_derived_vtab): Make vtab and default initialization
	symbols SAVE_IMPLICIT.

2011-06-21  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/49112
	* gfortran.dg/class_44.f03: New.

From-SVN: r175257
2011-06-21 14:12:51 +02:00
Richard Guenther
55f01229f0 ipa-inline-transform.c (inline_transform): Fix previous change.
2011-06-21  Richard Guenther  <rguenther@suse.de>

	* ipa-inline-transform.c (inline_transform): Fix previous
	change.

From-SVN: r175256
2011-06-21 12:07:19 +00:00
Ira Rosen
5181cd6a44 re PR tree-optimization/49478 (ice in expand_widen_pattern_expr with -O3)
PR tree-optimization/49478
        * tree-vect-loop.c (vectorizable_reduction): Handle DOT_PROD_EXPR
        with constant operand.

From-SVN: r175255
2011-06-21 11:58:33 +00:00
Richard Guenther
e4ee3d702b ipa-inline-transform.c (inline_transform): Fix typo.
2011-06-21  Richard Guenther  <rguenther@suse.de>

	* ipa-inline-transform.c (inline_transform): Fix typo.

From-SVN: r175253
2011-06-21 11:13:08 +00:00
Richard Guenther
7b7ec6c51e re PR tree-optimization/49483 (unable to vectorize code equivalent to "scalbnf")
2011-06-21  Richard Guenther  <rguenther@suse.de>

	PR tree-optimization/49483
	* tree-vect-stmts.c (vectorizable_assignment): Also handle
	VIEW_CONVERT_EXPR conversions.

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

From-SVN: r175252
2011-06-21 11:02:38 +00:00
Joseph Myers
ced4d0e333 gcc.pot: Regenerate.
gcc/po:
	* gcc.pot: Regenerate.

libcpp/po:
	* cpplib.pot: Regenerate.

From-SVN: r175251
2011-06-21 11:33:57 +01:00
Rainer Orth
34a0d11c18 Fixed several pathnames to be relative to gcc/testsuite.
From-SVN: r175250
2011-06-21 10:32:38 +00:00
Joseph Myers
1b916ca624 gcc_update (gcc/config/avr/avr-tables.opt): New dependencies.
contrib:
	* gcc_update (gcc/config/avr/avr-tables.opt): New dependencies.

gcc:
	* config/avr/avr-mcus.def, config/avr/genopt.sh: New files.
	* config/avr/avr-tables.opt: New file (generated).
	* config.gcc (avr-*-*): Use avr/avr-tables.opt.
	* config/avr/avr-devices.c (avr_mcu_types): Move contents to
	avr-mcus.def.
	* config/avr/avr.c (avr_help, TARGET_HELP): Remove.
	(avr_option_override): Don't process -mmcu= argument here.  Set
	avr_current_device using avr_mcu_index.
	(avr_file_start): Use avr_current_device->name instead of
	avr_mcu_name.
	* config/avr/avr.opt (mmcu=): Use Enum.
	* config/avr/t-avr (avr-devices.o): Update dependencies.
	($(srcdir)/config/avr/avr-tables.opt): New.
	* target.def (help): Remove.
	* doc/tm.texi.in (TARGET_HELP): Remove.
	* doc/tm.texi: Regenerate.
	* opts.c: Don't include target.h.
	(common_handle_option): Don't call targetm.help.
	* system.h (TARGET_HELP): Poison.
	* Makefile.in (opts.o): Update dependencies.

From-SVN: r175248
2011-06-21 11:22:19 +01:00
Ira Rosen
fce37f711a re PR testsuite/49443 (gcc.dg/vect/vect-peel-3.c and vect-peel-4.c fail on IA64 after testsuite change)
PR testsuite/49443
        * gcc.dg/vect/vect-peel-3.c: Expect to fail on vect_no_align
        targets.
        * gcc.dg/vect/vect-peel-4.c: Likewise.

From-SVN: r175246
2011-06-21 09:01:23 +00:00
Rainer Orth
7ecfa34f84 usegld.h: New file.
* config/usegld.h: New file.
	* config/sol2.h (PREFERRED_DEBUGGING_TYPE): Remove.
	(CPP_SUBTARGET_SPEC): Remove -compat-bsd support.
	(LIB_SPEC): Likewise.
	Search /lib.
	(LINK_ARCH32_SPEC_BASE): Remove -compat-bsd support.
	(RDYNAMIC_SPEC): Handle GNU ld.
	[HAVE_LD_EH_FRAME_HDR && TARGET_DL_ITERATE_PHDR] (LINK_EH_SPEC): Define.
	(SUPPORTS_INIT_PRIORITY): Only disable for Sun ld.
	(SUBTARGET_INSERT_ATTRIBUTES, SUBTARGET_ATTRIBUTE_TABLE): Define.
	[!USE_GAS] (NO_DBX_BNSYM_ENSYM): Redefine.
	(STACK_CHECK_STATIC_BUILTIN): Define.
	* config/sol2.opt (compat-bsd): Remove.
	* config/sol2-10.h (TARGET_C99_FUNCTIONS): Remove undef.
	* config/sol2-bi.h: New file.
	* config/sol2-gld.h: Remove.
	* config/i386/sol2.h (TLS_COMMON_ASM_OP): Only define if !USE_GAS.
	(NO_DBX_BNSYM_ENSYM): Remove.
	(SUBTARGET_INSERT_ATTRIBUTES, SUBTARGET_ATTRIBUTE_TABLE): Remove.
	(STACK_CHECK_STATIC_BUILTIN): Remove.
	Test USE_GLD instead of TARGET_GNU_LD.
	* config/i386/sol2-10.h: Rename to ...
	* config/i386/sol2-bi.h .. this.
	(SUBTARGET_EXTRA_SPECS): Redefine.
	(WCHAR_TYPE, WCHAR_TYPE_SIZE, WINT_TYPE, WINT_TYPE_SIZE): Remove.
	(MULTILIB_DEFAULTS): Remove.
	(DEFAULT_ARCH32_P): Define.
	(LINK_ARCH64_SPEC_BASE, LINK_ARCH64_SPEC): Remove.
	(ARCH64_SUBDIR): Define.
	Test USE_GLD instead of TARGET_GNU_LD.
	(I386_EMULATION): Rename to ...
	(ARCH32_EMULATION): ... this.
	(X86_64_EMULATION): Rename to ...
	(ARCH64_EMULATION): ... this.
	(TARGET_LD_EMULATION): Remove.
	(LINK_ARCH_SPEC): Remove.
	* config/i386/sol2-gas.h: Remove.
	* config/i386/t-sol2-10: Rename to ...
	* config/i386/t-sol2-64: ... this.
	* config/sparc/sol2.h (SPARC_DEFAULT_CMODEL): Redefine.
	(AS_SPARC64_FLAG): Define.
	(ASM_CPU32_DEFAULT_SPEC, ASM_CPU64_DEFAULT_SPEC): Redefine.
	(CPP_CPU64_DEFAULT_SPEC, ASM_CPU32_DEFAULT_SPEC): Redefine
	depending on TARGET_CPU_DEFAULT.
	(CPP_CPU_SPEC): Redefine.
	(ASM_CPU_SPEC): Handle DEFAULT_ARCH32_P.
	(CPP_CPU_DEFAULT_SPEC, ASM_CPU_DEFAULT_SPEC): Redefine.
	(CPP_ARCH32_SPEC, CPP_ARCH64_SPEC, CPP_ARCH_SPEC): Redefine.
	(ASM_ARCH_SPEC, ASM_ARCH32_SPEC, ASM_ARCH64_SPEC,
	ASM_ARCH_DEFAULT_SPEC): Redefine.
	(SUBTARGET_EXTRA_SPECS): Add LINK_ARCH32_SPEC, LINK_ARCH64_SPEC,
	LINK_ARCH_DEFAULT_SPEC.
	[USE_GLD] (ARCH32_EMULATION, ARCH64_EMULATION): Define.
	[USE_GLD] (LINK_ARCH32_SPEC, LINK_ARCH64_SPEC): Redefine.
	(ARCH64_SUBDIR): Define.
	(LINK_ARCH64_SPEC): Redefine.
	(CC1_SPEC): Redefine.
	(OPTION_DEFAULT_SPECS): Redefine.
	(MULTILIB_DEFAULTS): Define.
	(WCHAR_TYPE, WCHAR_TYPE_SIZE, WINT_TYPE, WINT_TYPE_SIZE): Redefine.
	[USE_GAS && HAVE_AS_TLS] (TARGET_SUN_TLS, TARGET_GNU_TLS): Redefine.
	[USE_GLD] (CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP): Undef.
	(NO_DBX_BNSYM_ENSYM): Remove.
	(SUBTARGET_INSERT_ATTRIBUTES, SUBTARGET_ATTRIBUTE_TABLE): Remove.
	(ASM_OUTPUT_ALIGN_WITH_NOP): Only define if !USE_GAS.
	(TARGET_ASM_NAMED_SECTION): Likewise.
	(STACK_CHECK_STATIC_BUILTIN): Remove.
	* config/sparc/sol2-bi.h: Remove.
	* config/sparc/sol2-gas-bi.h: Remove.
	* config/sparc/sol2-gas.h: Remove.
	* config/sparc/sol2-gld-bi.h: Remove.
	* config.gcc (i[34567]86-*-solaris2*, sparc*-*-solaris2*): Move
	common parts ...
	(*-*-solaris2*): ... here.

From-SVN: r175245
2011-06-21 08:53:06 +00:00
Jakub Jelinek
1795c28e17 Remove >>>> marker.
From-SVN: r175243
2011-06-21 10:15:36 +02:00
Christian Bruel
2ad97a1e8d PR middle-end/49139 fix always_inline diagnostics
From-SVN: r175242
2011-06-21 08:48:45 +02:00
Christian Bruel
4b583c4361 PR middle-end/49139 PR other/43564 make sure the inline function is inlined
From-SVN: r175241
2011-06-21 08:45:05 +02:00
Christian Bruel
3bb556ad60 PR middle-end/49139 fix always_inline diagnostics
From-SVN: r175240
2011-06-21 08:43:26 +02:00
Christian Bruel
c9fc06dcdd PR middle-end/49139 fix always_inline diagnostics
From-SVN: r175239
2011-06-21 08:42:05 +02:00
Jakub Jelinek
f1ee724ceb Makefile.in (dg_target_exps): Set.
* Makefile.in (dg_target_exps): Set.
	(check_gcc_parallelize): Parallelize gcc testing into 10 jobs
	instead of 7, try to divide it more evenly.

	* Make-lang.in (check_gfortran_parallelize): Parallelize dg.exp
	into 6 jobs instead of 3.

	* testsuite/Makefile.am (check_DEJAGNU_normal_targets): Add
	check-DEJAGNUnormal[4-9].
	(check-DEJAGNU): Split into 10 jobs for parallel testing instead of 4.
	* testsuite/Makefile.in: Regenerated.

From-SVN: r175238
2011-06-21 08:27:35 +02:00
Jason Merrill
fe7eb484d3 re PR c++/49216 ([C++0x] ICE on compiling new-expression with braced-init-list for arrays)
PR c++/49216
	* init.c (build_vec_init): Don't try to use a CONSTRUCTOR when
	base is a pointer.
	* typeck2.c (process_init_constructor_array): Use {} for classes,
	too.
	* call.c (convert_like_real): Handle substitution failure.

From-SVN: r175237
2011-06-20 22:24:17 -04:00
Jason Merrill
344bf2e1a2 re PR c++/48138 (__attribute__((aligned)) should give an error when applied to a typedef or template parameter, at least in C++0x mode.)
PR c++/48138
	* pt.c (canonicalize_type_argument): New.
	(convert_template_argument, unify): Use it.

From-SVN: r175236
2011-06-20 22:24:09 -04:00
GCC Administrator
7bd1611898 Daily bump.
From-SVN: r175235
2011-06-21 00:18:46 +00:00
Changpeng Fang
97ef5ae607 pr49089: enable avx256 splitting unaligned load/store only when beneficial
* config/i386/i386.c (avx256_split_unaligned_load): New definition.
	(avx256_split_unaligned_store): New definition.
	(ix86_option_override_internal): Enable avx256 unaligned load/store
	splitting only when avx256_split_unaligned_load/store is set.

From-SVN: r175230
2011-06-20 21:52:32 +00:00
Tobias Burnus
fea549356d re PR fortran/18918 (Eventually support Fortran 2008's coarrays [co-arrays])
2011-06-20  Tobias Burnus  <burnus@net-b.de>

        PR fortran/18918
        * gfortran.h (gfc_check_vardef_context): Update prototype.
        (iso_fortran_env_symbol): Handle derived types.
        (symbol_attribute): Add lock_comp.
        * expr.c (gfc_check_vardef_context): Add LOCK_TYPE check.
        * interface.c (compare_parameter, gfc_procedure_use): Handle
        LOCK_TYPE.
        (compare_actual_formal): Update
        gfc_check_vardef_context call.
        * check.c (gfc_check_atomic_def, gfc_check_atomic_ref): Ditto.
        * intrinsic.c (check_arglist): Ditto.
        * io.c (resolve_tag, gfc_resolve_dt, gfc_resolve_inquire):
        * Ditto.
        * iso-fortran-env.def (ISOFORTRAN_LOCK_TYPE): Add.
        * intrinsic.texi (ISO_FORTRAN_ENV): Document LOCK_TYPE.
        * module.c (mio_symbol_attribute): Handle lock_comp.
        (create_derived_type): New function.
        (use_iso_fortran_env_module): Call it to handle LOCK_TYPE.
        * parse.c (parse_derived): Add constraint check for LOCK_TYPE.
        * resolve.c (resolve_symbol, resolve_lock_unlock): Add
        * constraint
        checks for LOCK_TYPE.
        (gfc_resolve_iterator, resolve_deallocate_expr,
        resolve_allocate_expr, resolve_code, resolve_transfer): Update
        gfc_check_vardef_context call.
        * trans-stmt.h (gfc_trans_lock_unlock): New prototype.
        * trans-stmt.c (gfc_trans_lock_unlock): New function.
        * trans.c (trans_code): Handle LOCK and UNLOCK.

2011-06-20  Tobias Burnus  <burnus@net-b.de>

        PR fortran/18918
        * gfortran.dg/coarray_lock_1.f90: Update dg-error.
        * gfortran.dg/coarray_lock_3.f90: New.
        * gfortran.dg/coarray/lock_1.f90: New.

From-SVN: r175228
2011-06-20 23:12:39 +02:00
Bernd Schmidt
998c75b661 regrename.c (scan_rtx_reg): Handle the case where we write to an open chain in a smaller mode without...
* regrename.c (scan_rtx_reg): Handle the case where we write to an
	open chain in a smaller mode without failing the entire block.

From-SVN: r175225
2011-06-20 17:16:10 +00:00
Janis Johnson
222d3b39a6 scandump.exp (scan-dump, [...]): Treat a missing dump file as unresolved and report the reason to the log file.
* lib/scandump.exp (scan-dump, scan-dump-times, scan-dump-not,
	scan-dump-dem, scan-dump-dem-not): Treat a missing dump file as
	unresolved and report the reason to the log file.

From-SVN: r175224
2011-06-20 17:08:37 +00:00