platform/upstream/gcc.git
13 years agore PR c++/49260 ([C++0x] lambda-eh2.C fails execution)
Jason Merrill [Wed, 22 Jun 2011 15:55:22 +0000 (11:55 -0400)]
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

13 years agoCheck TARGET_PARTIAL_REG_STALL in imul to lea peepholes.
H.J. Lu [Wed, 22 Jun 2011 15:29:43 +0000 (15:29 +0000)]
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

13 years ago* cgraphunit.c (assemble_thunk): Use correct return type.
Michael Matz [Wed, 22 Jun 2011 13:59:03 +0000 (13:59 +0000)]
* cgraphunit.c (assemble_thunk): Use correct return type.

From-SVN: r175294

13 years agoarm.c (neon_immediate_valid_for_shift): New function.
Dmitry Plotnikov [Wed, 22 Jun 2011 11:57:52 +0000 (11:57 +0000)]
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

13 years agoenable-execute-stack-empty.c (__enable_execute_stack): Add prototype.
Uros Bizjak [Wed, 22 Jun 2011 11:20:07 +0000 (13:20 +0200)]
enable-execute-stack-empty.c (__enable_execute_stack): Add prototype.

* enable-execute-stack-empty.c (__enable_execute_stack): Add prototype.

From-SVN: r175292

13 years agorun-le.c: Skip for -pie on alpha*-*-linux*.
Uros Bizjak [Wed, 22 Jun 2011 11:16:16 +0000 (13:16 +0200)]
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

13 years agotree-ssa-ccp.c (evaluate_stmt): Try bitwise tracking for builtin calls even if likely...
Jakub Jelinek [Wed, 22 Jun 2011 10:46:36 +0000 (12:46 +0200)]
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

13 years agodwarf2out.c (size_of_loc_descr, [...]): Allow DW_OP_GNU_convert and DW_OP_GNU_reinter...
Jakub Jelinek [Wed, 22 Jun 2011 10:44:56 +0000 (12:44 +0200)]
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

13 years agore PR debug/47858 (IPA-SRA decreases quality of debug info)
Jakub Jelinek [Wed, 22 Jun 2011 10:41:58 +0000 (12:41 +0200)]
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

13 years agoinvoke.texi (ARM Options): Document -mtls-dialect option.
Nathan Sidwell [Wed, 22 Jun 2011 09:57:02 +0000 (09:57 +0000)]
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

13 years agoIn gcc/: 2011-06-21 Nicola Pero <nicola.pero@meta-innovation.com>
Nicola Pero [Wed, 22 Jun 2011 09:52:55 +0000 (09:52 +0000)]
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

13 years agoChangeLog: Fix formatting.
Uros Bizjak [Wed, 22 Jun 2011 06:22:40 +0000 (08:22 +0200)]
ChangeLog: Fix formatting.

* ChangeLog: Fix formatting.
* testsuite/ChangeLog: Ditto.

From-SVN: r175285

13 years agore PR c++/49172 ([C++0x][constexpr] References should be declarable with constexpr)
Jason Merrill [Wed, 22 Jun 2011 04:18:02 +0000 (00:18 -0400)]
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

13 years agoDaily bump.
GCC Administrator [Wed, 22 Jun 2011 00:18:06 +0000 (00:18 +0000)]
Daily bump.

From-SVN: r175283

13 years agogogo-tree.cc (Gogo::define_builtin_function_trees): Change BUILT_IN_ADD_AND_FETCH...
Andrew MacLeod [Tue, 21 Jun 2011 23:03:09 +0000 (23:03 +0000)]
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

13 years agomove.h (__is_nothrow_swappable): Add.
Daniel Krugler [Tue, 21 Jun 2011 23:01:03 +0000 (23:01 +0000)]
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

13 years agore PR c++/49482 ([C++0x] unused parameter warning on lambda in function template)
Jason Merrill [Tue, 21 Jun 2011 20:07:45 +0000 (16:07 -0400)]
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

13 years agocall.c (add_builtin_candidates): Use cv_unqualified rather than TYPE_MAIN_VARIANT.
Jason Merrill [Tue, 21 Jun 2011 19:05:33 +0000 (15:05 -0400)]
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

13 years agore PR c++/49418 (G++ discards cv-quals from template parameter types)
Jason Merrill [Tue, 21 Jun 2011 19:05:25 +0000 (15:05 -0400)]
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

13 years agocosmetic. Add sync_ to all the expand_builtin defines which do not match the actual...
Andrew MacLeod [Tue, 21 Jun 2011 19:04:33 +0000 (19:04 +0000)]
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

13 years agore PR target/33049 ([avr] bit extraction non optimal, inversing logic solves problem)
Georg-Johann Lay [Tue, 21 Jun 2011 17:30:54 +0000 (17:30 +0000)]
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

13 years agore PR libgcj/49314 (md5test, shatest output FAILs on Tru64 UNIX)
Rainer Orth [Tue, 21 Jun 2011 17:09:57 +0000 (17:09 +0000)]
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

13 years agore PR middle-end/49489 (gcc.c-torture/execute/builtin-bitops-1.c fails on x86_64...
Jakub Jelinek [Tue, 21 Jun 2011 16:25:57 +0000 (18:25 +0200)]
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

13 years ago* config/avr/avr.md (*jcindirect_jump): Fix build warning.
Georg-Johann Lay [Tue, 21 Jun 2011 16:16:11 +0000 (16:16 +0000)]
* config/avr/avr.md (*jcindirect_jump): Fix build warning.

From-SVN: r175264

13 years agogensupport.c (add_define_attr): New static function.
Bernd Schmidt [Tue, 21 Jun 2011 14:38:38 +0000 (14:38 +0000)]
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

13 years agoshared-object.mk (c_flags-$o): Save c_flags.
Rainer Orth [Tue, 21 Jun 2011 14:26:13 +0000 (14:26 +0000)]
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

13 years agoMakefile.in (lib2funcs): Add _clrsbsi2 and _clrsbdi2.
Bernd Schmidt [Tue, 21 Jun 2011 14:16:39 +0000 (14:16 +0000)]
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

13 years agore PR fortran/49112 ([OOP] Missing type-bound procedure, "duplicate save" warnings...
Janus Weil [Tue, 21 Jun 2011 12:12:51 +0000 (14:12 +0200)]
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

13 years agoipa-inline-transform.c (inline_transform): Fix previous change.
Richard Guenther [Tue, 21 Jun 2011 12:07:19 +0000 (12:07 +0000)]
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

13 years agore PR tree-optimization/49478 (ice in expand_widen_pattern_expr with -O3)
Ira Rosen [Tue, 21 Jun 2011 11:58:33 +0000 (11:58 +0000)]
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

13 years agoipa-inline-transform.c (inline_transform): Fix typo.
Richard Guenther [Tue, 21 Jun 2011 11:13:08 +0000 (11:13 +0000)]
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

13 years agore PR tree-optimization/49483 (unable to vectorize code equivalent to "scalbnf")
Richard Guenther [Tue, 21 Jun 2011 11:02:38 +0000 (11:02 +0000)]
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

13 years agogcc.pot: Regenerate.
Joseph Myers [Tue, 21 Jun 2011 10:33:57 +0000 (11:33 +0100)]
gcc.pot: Regenerate.

gcc/po:
* gcc.pot: Regenerate.

libcpp/po:
* cpplib.pot: Regenerate.

From-SVN: r175251

13 years agoFixed several pathnames to be relative to gcc/testsuite.
Rainer Orth [Tue, 21 Jun 2011 10:32:38 +0000 (10:32 +0000)]
Fixed several pathnames to be relative to gcc/testsuite.

From-SVN: r175250

13 years agogcc_update (gcc/config/avr/avr-tables.opt): New dependencies.
Joseph Myers [Tue, 21 Jun 2011 10:22:19 +0000 (11:22 +0100)]
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

13 years agore PR testsuite/49443 (gcc.dg/vect/vect-peel-3.c and vect-peel-4.c fail on IA64 after...
Ira Rosen [Tue, 21 Jun 2011 09:01:23 +0000 (09:01 +0000)]
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

13 years agousegld.h: New file.
Rainer Orth [Tue, 21 Jun 2011 08:53:06 +0000 (08:53 +0000)]
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

13 years agoRemove >>>> marker.
Jakub Jelinek [Tue, 21 Jun 2011 08:15:36 +0000 (10:15 +0200)]
Remove >>>> marker.

From-SVN: r175243

13 years agoPR middle-end/49139 fix always_inline diagnostics
Christian Bruel [Tue, 21 Jun 2011 06:48:45 +0000 (08:48 +0200)]
PR middle-end/49139 fix always_inline diagnostics

From-SVN: r175242

13 years agoPR middle-end/49139 PR other/43564 make sure the inline function is inlined
Christian Bruel [Tue, 21 Jun 2011 06:45:05 +0000 (08:45 +0200)]
PR middle-end/49139 PR other/43564 make sure the inline function is inlined

From-SVN: r175241

13 years agoPR middle-end/49139 fix always_inline diagnostics
Christian Bruel [Tue, 21 Jun 2011 06:43:26 +0000 (08:43 +0200)]
PR middle-end/49139 fix always_inline diagnostics

From-SVN: r175240

13 years agoPR middle-end/49139 fix always_inline diagnostics
Christian Bruel [Tue, 21 Jun 2011 06:42:05 +0000 (08:42 +0200)]
PR middle-end/49139 fix always_inline diagnostics

From-SVN: r175239

13 years agoMakefile.in (dg_target_exps): Set.
Jakub Jelinek [Tue, 21 Jun 2011 06:27:35 +0000 (08:27 +0200)]
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

13 years agore PR c++/49216 ([C++0x] ICE on compiling new-expression with braced-init-list for...
Jason Merrill [Tue, 21 Jun 2011 02:24:17 +0000 (22:24 -0400)]
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

13 years agore PR c++/48138 (__attribute__((aligned)) should give an error when applied to a...
Jason Merrill [Tue, 21 Jun 2011 02:24:09 +0000 (22:24 -0400)]
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

13 years agoDaily bump.
GCC Administrator [Tue, 21 Jun 2011 00:18:46 +0000 (00:18 +0000)]
Daily bump.

From-SVN: r175235

13 years agopr49089: enable avx256 splitting unaligned load/store only when beneficial
Changpeng Fang [Mon, 20 Jun 2011 21:52:32 +0000 (21:52 +0000)]
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

13 years agore PR fortran/18918 (Eventually support Fortran 2008's coarrays [co-arrays])
Tobias Burnus [Mon, 20 Jun 2011 21:12:39 +0000 (23:12 +0200)]
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

13 years agoregrename.c (scan_rtx_reg): Handle the case where we write to an open chain in a...
Bernd Schmidt [Mon, 20 Jun 2011 17:16:10 +0000 (17:16 +0000)]
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

13 years agoscandump.exp (scan-dump, [...]): Treat a missing dump file as unresolved and report...
Janis Johnson [Mon, 20 Jun 2011 17:08:37 +0000 (17:08 +0000)]
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

13 years agoscanasm.exp (object-size): Move argument processing earlier to report errors before...
Janis Johnson [Mon, 20 Jun 2011 17:07:24 +0000 (17:07 +0000)]
scanasm.exp (object-size): Move argument processing earlier to report errors before verifying that the...

* lib/scanasm.exp (object-size): Move argument processing earlier
to report errors before verifying that the file exists.  Report
problems detected at runtime as unresolved instead of error and
report their reasons to the log file.

From-SVN: r175223

13 years agoDon't check zero/sign extended hard registers.
H.J. Lu [Mon, 20 Jun 2011 17:03:16 +0000 (17:03 +0000)]
Don't check zero/sign extended hard registers.

2011-06-20  H.J. Lu  <hongjiu.lu@intel.com>

PR middle-end/47725
* combine.c (cant_combine_insn_p): Don't check zero/sign
extended hard registers.

From-SVN: r175222

13 years agors6000.c (rs6000_cannot_force_const_mem): Match CONST high part large-toc address.
Alan Modra [Mon, 20 Jun 2011 15:05:05 +0000 (00:35 +0930)]
rs6000.c (rs6000_cannot_force_const_mem): Match CONST high part large-toc address.

* config/rs6000/rs6000.c (rs6000_cannot_force_const_mem): Match
CONST high part large-toc address.
(rs6000_tls_referenced_p): Make static.
* config/rs6000/rs6000-protos.h (rs6000_tls_referenced_p): Delete.

From-SVN: r175219

13 years agoCheck zero/sign extended hard registers.
H.J. Lu [Mon, 20 Jun 2011 14:53:48 +0000 (14:53 +0000)]
Check zero/sign extended hard registers.

2011-06-20  H.J. Lu  <hongjiu.lu@intel.com>

PR middle-end/47725
* combine.c (cant_combine_insn_p): Check zero/sign extended
hard registers.

From-SVN: r175218

13 years agore PR c++/47080 ([C++0x] explicit conversion function return conversions not restrict...
Jason Merrill [Mon, 20 Jun 2011 14:40:38 +0000 (10:40 -0400)]
re PR c++/47080 ([C++0x] explicit conversion function return conversions not restricted to qualifications)

PR c++/47080
* call.c (rejection_reason_code): Add rr_explicit_conversion.
(print_z_candidate): Handle it.
(explicit_conversion_rejection): New.
(build_user_type_conversion_1): Reject an explicit conversion
function that requires more than a qualification conversion.

From-SVN: r175217

13 years agore PR c++/47635 ([C++0x] ICE on invalid code in constructor_name_p, at cp/name-lookup...
Jason Merrill [Mon, 20 Jun 2011 14:40:29 +0000 (10:40 -0400)]
re PR c++/47635 ([C++0x] ICE on invalid code in constructor_name_p, at cp/name-lookup.c:1809)

PR c++/47635
* decl.c (grokdeclarator): Don't set ctype to an ENUMERAL_TYPE.

From-SVN: r175216

13 years agore PR c++/48138 (__attribute__((aligned)) should give an error when applied to a...
Jason Merrill [Mon, 20 Jun 2011 14:40:19 +0000 (10:40 -0400)]
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
* tree.c (strip_typedefs): Use build_aligned_type.

From-SVN: r175215

13 years agore PR c++/49205 ([C++0x] Default constructor with pack expansion parameter not detected)
Jason Merrill [Mon, 20 Jun 2011 14:40:10 +0000 (10:40 -0400)]
re PR c++/49205 ([C++0x] Default constructor with pack expansion parameter not detected)

PR c++/49205
* call.c (sufficient_parms_p): Allow parameter packs too.

From-SVN: r175214

13 years agore PR c++/37089 ([C++0x] rvalue/lvalue reference collapsing not performed in error...
Jason Merrill [Mon, 20 Jun 2011 14:40:01 +0000 (10:40 -0400)]
re PR c++/37089 ([C++0x] rvalue/lvalue reference collapsing not performed in error ouput thus printing "&&&")

PR c++/37089
* cp-demangle.c (d_print_comp): Handle reference smashing.

From-SVN: r175213

13 years agore PR c++/43321 ([c++0x] ICE on valid auto)
Jason Merrill [Mon, 20 Jun 2011 14:39:53 +0000 (10:39 -0400)]
re PR c++/43321 ([c++0x] ICE on valid auto)

PR c++/43321
* semantics.c (describable_type): Remove.
* cp-tree.h: Likewise.
* decl.c (cp_finish_decl): Don't call it.
* init.c (build_new): Likewise.
* parser.c (cp_parser_omp_for_loop): Likewise.
* pt.c (tsubst_decl): Likewise.
(do_auto_deduction): If we fail in a template, try again
at instantiation time.

From-SVN: r175212

13 years agore PR c++/43831 ([C++0x] gcc-4.5.0 does not fail invalid lambda captures (against...
Jason Merrill [Mon, 20 Jun 2011 14:39:44 +0000 (10:39 -0400)]
re PR c++/43831 ([C++0x] gcc-4.5.0 does not fail invalid lambda captures (against n3092 5.1.2/8))

PR c++/43831
* parser.c (cp_parser_lambda_introducer): Complain about redundant
captures.
* semantics.c (add_capture): Likewise.
(register_capture_members): Clear IDENTIFIER_MARKED.

From-SVN: r175211

13 years agore PR target/49385 (Invalid RTL intstruction for ARM)
Ramana Radhakrishnan [Mon, 20 Jun 2011 12:15:58 +0000 (12:15 +0000)]
re PR target/49385 (Invalid RTL intstruction for ARM)

Fix PR target/49385

2011-06-20  Ramana Radhakrishnan  <ramana.radhakrishnan@linaro.org>

PR target/49385
* config/arm/thumb2.md (*thumb2_movhi_insn): Make sure atleast
one of the operands is a register.

From-SVN: r175208

13 years agoChangeLog gcc/
Kai Tietz [Mon, 20 Jun 2011 11:49:27 +0000 (13:49 +0200)]
ChangeLog gcc/

2011-06-20  Kai Tietz  <ktietz@redhat.com>

* fold-const.c (fold_binary_loc): Add missing
folding for truth-not operations in combination
with binary and.

ChangeLog gcc/testsuite/

2011-06-20  Kai Tietz  <ktietz@redhat.com>

* gcc.dg/binop-notand1.c: New test.
* gcc.dg/binop-notand2.c: New test.
* gcc.dg/binop-notand3.c: New test.
* gcc.dg/binop-notand4.c: New test.
* gcc.dg/binop-notand5.c: New test.
* gcc.dg/binop-notand6.c: New test.

From-SVN: r175206

13 years agotuple (__conv_types, [...]): Add.
Daniel Krugler [Mon, 20 Jun 2011 11:05:45 +0000 (11:05 +0000)]
tuple (__conv_types, [...]): Add.

2011-06-20  Daniel Krugler  <daniel.kruegler@googlemail.com>
    Paolo Carlini  <paolo.carlini@oracle.com>

* include/std/tuple (__conv_types, __one_by_one_convertible,
__all_convertible): Add.
(tuple): Use the latter.
(tuple<_T1>): Remove.
* testsuite/20_util/uses_allocator/cons_neg.cc: Adjust dg-error
line number.
* testsuite/20_util/weak_ptr/comparison/cmp_neg.cc: Likewise.

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

13 years ago* regrename.c (do_replace): Don't update notes.
Bernd Schmidt [Mon, 20 Jun 2011 10:29:46 +0000 (10:29 +0000)]
* regrename.c (do_replace): Don't update notes.

From-SVN: r175203

13 years agoc-pragma.h (pragma_handler_1arg, [...]): New handler.
Pierre Vittet [Mon, 20 Jun 2011 08:05:02 +0000 (08:05 +0000)]
c-pragma.h (pragma_handler_1arg, [...]): New handler.

2011-06-20  Pierre Vittet  <piervit@pvittet.com>

* c-pragma.h (pragma_handler_1arg, pragma_handler_2arg): New
handler.
(gen_pragma_handler): New union.
(internal_pragma_handler): New type.
(c_register_pragma_with_data)
(c_register_pragma_with_expansion_and_data): New functions.

* c-pragma.c (registered_pragmas, c_register_pragma_1)
(c_register_pragma, c_register_pragma_with_expansion)
(c_invoke_pragma_handler): Changed to work with
internal_pragma_handler.
(c_register_pragma_with_data)
(c_register_pragma_with_expansion_and_data): New functions.

From-SVN: r175202

13 years agors6000.c (create_TOC_reference): Wrap high part of toc-relative address in CONST.
Alan Modra [Mon, 20 Jun 2011 05:12:10 +0000 (14:42 +0930)]
rs6000.c (create_TOC_reference): Wrap high part of toc-relative address in CONST.

* config/rs6000/rs6000.c (create_TOC_reference): Wrap high part
of toc-relative address in CONST.
(rs6000_delegitimize_address): Recognize changed address.
(rs6000_legitimize_reload_address): Likewise.
(rs6000_emit_move): Don't force these constants to memory.
* config/rs6000/rs6000.md (tls_gd, tls_gd_high): Wrap high part of
toc-relative address in CONST.
(tls_ld, tls_ld_high, tls_got_dtprel, tls_got_dtprel_high): Likewise.
(tls_got_tprel, tls_got_tprel_high, largetoc_high): Likewise.

From-SVN: r175200

13 years agoDaily bump.
GCC Administrator [Mon, 20 Jun 2011 00:18:32 +0000 (00:18 +0000)]
Daily bump.

From-SVN: r175199

13 years agore PR target/49461 (boehm-gc and gcj incompatible with pie)
Mike Stump [Sun, 19 Jun 2011 17:54:24 +0000 (17:54 +0000)]
re PR target/49461 (boehm-gc and gcj incompatible with pie)

PR target/49461
  * mh-darwin: Turn off -pie on darwin11 and later.

From-SVN: r175192

13 years agoDaily bump.
GCC Administrator [Sun, 19 Jun 2011 00:18:00 +0000 (00:18 +0000)]
Daily bump.

From-SVN: r175188

13 years agoUse long long builtins of zero counting for x86-64.
H.J. Lu [Sat, 18 Jun 2011 15:35:10 +0000 (15:35 +0000)]
Use long long builtins of zero counting for x86-64.

2011-06-18  H.J. Lu  <hongjiu.lu@intel.com>

* longlong.h (count_leading_zeros): Use long long builtin for
x86-64.
(count_trailing_zeros): Likewise.

From-SVN: r175183

13 years agore PR target/49461 (boehm-gc and gcj incompatible with pie)
Jack Howarth [Sat, 18 Jun 2011 15:06:26 +0000 (15:06 +0000)]
re PR target/49461 (boehm-gc and gcj incompatible with pie)

PR target/49461
* libjava/configure.ac (SYSTEMSPEC): Pass -no_pie for darwin11.
* libjava/configure: Regenerate.

From-SVN: r175182

13 years agoProperly check if .init_array can be used with .ctors on targets.
H.J. Lu [Sat, 18 Jun 2011 14:48:14 +0000 (14:48 +0000)]
Properly check if .init_array can be used with .ctors on targets.

2011-06-18  H.J. Lu  <hongjiu.lu@intel.com>

PR other/49325
* acinclude.m4 (gcc_AC_INITFINI_ARRAY): Properly check if
.init_array can be used with .ctors on targets.
* configure: Regenerated.

From-SVN: r175181

13 years agore PR testsuite/49432 (FAIL: obj-c++.dg/invalid-type-1.mm)
Jakub Jelinek [Sat, 18 Jun 2011 12:56:56 +0000 (14:56 +0200)]
re PR testsuite/49432 (FAIL: obj-c++.dg/invalid-type-1.mm)

PR testsuite/49432
* obj-c++.dg/invalid-type-1.mm: Adjust for new error wording.

From-SVN: r175178

13 years agore PR fortran/49400 ([F08] Proc-pointer declaration in BLOCK construct)
Janus Weil [Sat, 18 Jun 2011 12:36:45 +0000 (14:36 +0200)]
re PR fortran/49400 ([F08] Proc-pointer declaration in BLOCK construct)

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

PR fortran/49400
* decl.c (gfc_match_procedure): Allow PROCEDURE declarations inside
BLOCK constructs.

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

PR fortran/49400
* gfortran.dg/proc_ptr_31.f90: New.

From-SVN: r175177

13 years agotree-sra.c (type_internals_preclude_sra_p): Return true if the element type is volatile.
Eric Botcazou [Sat, 18 Jun 2011 11:02:45 +0000 (11:02 +0000)]
tree-sra.c (type_internals_preclude_sra_p): Return true if the element type is volatile.

* tree-sra.c (type_internals_preclude_sra_p) <ARRAY_TYPE>: Return true
if the element type is volatile.
ada/
* gcc-interface/decl.c (gnat_to_gnu_component_type): Use GNAT_TYPE
local variable throughout.  Remove useless call to Base_Type.
(gnat_to_gnu_field): Use GNAT_FIELD_TYPE local variable throughout.
Take it also into account for the volatileness of the field.  Set the
TREE_SIDE_EFFECTS flag as well in this case.  Reorder some warnings.

From-SVN: r175176

13 years agooops, comitted with wrong PR# :( PR lto/48246
Jan Hubicka [Sat, 18 Jun 2011 10:51:43 +0000 (10:51 +0000)]
oops, comitted with wrong PR# :( PR lto/48246

oops, comitted with wrong PR# :(
PR lto/48246
* lto.c (lto_1_to_1_map): Don't create empty partitions.
(lto_balanced_map): Likewise.

From-SVN: r175175

13 years agore PR lto/48246 (ICE in lto_wpa_write_files)
Jan Hubicka [Sat, 18 Jun 2011 10:48:08 +0000 (12:48 +0200)]
re PR lto/48246 (ICE in lto_wpa_write_files)

PR lto/23754
* lto.c (lto_1_to_1_map): Don't create empty partitions.
(lto_balanced_map): Likewise.

From-SVN: r175174

13 years agotrans.c (Identifier_to_gnu): Don't set TREE_THIS_NOTRAP on a dereference built for...
Eric Botcazou [Sat, 18 Jun 2011 10:31:26 +0000 (10:31 +0000)]
trans.c (Identifier_to_gnu): Don't set TREE_THIS_NOTRAP on a dereference built for a by-ref object if...

* gcc-interface/trans.c (Identifier_to_gnu): Don't set TREE_THIS_NOTRAP
on a dereference built for a by-ref object if it has an address clause.

From-SVN: r175172

13 years agoeinfo.ads (Address_Taken): Document use for the second argument of Asm_Input and...
Eric Botcazou [Sat, 18 Jun 2011 10:18:38 +0000 (10:18 +0000)]
einfo.ads (Address_Taken): Document use for the second argument of Asm_Input and Asm_Output attributes.

* einfo.ads (Address_Taken): Document use for the second argument of
Asm_Input and Asm_Output attributes.
* sem_attr.adb (Analyze_Attribute) <Attribute_Asm_Input>: If the second
argument is an entity name, then set Address_Taken on it.
<Attribute_Asm_Output>: Likewise.
* gcc-interface/trans.c (lvalue_required_for_attribute_p): Handle the
Attr_Asm_Input and Attr_Asm_Output attributes explicitly.
(gnat_to_gnu) <N_Code_Statement>: If an operand is going to end up in
memory and is a CONST_DECL, retrieve its corresponding VAR_DECL.

From-SVN: r175171

13 years agolto-symtab.c (lto_varpool_replace_node): Remove code handling extra name aliases.
Jan Hubicka [Sat, 18 Jun 2011 08:33:47 +0000 (08:33 +0000)]
lto-symtab.c (lto_varpool_replace_node): Remove code handling extra name aliases.

* lto-symtab.c (lto_varpool_replace_node): Remove code handling
extra name aliases.
(lto_symtab_resolve_can_prevail_p): Likewise.
(lto_symtab_merge_cgraph_nodes): Update alias_of pointers.
* cgraphbuild.c (record_reference): Remove extra body alias code.
(mark_load): Likewise.
(mark_store): Likewise.
* cgraph.h (varpool_node): Remove extra_name filed;
add alias_of and extraname_alias.
(varpool_create_variable_alias, varpool_for_node_and_aliases): Declare.
(varpool_alias_aliased_node): New inline function.
(varpool_variable_node): New function.
* cgraphunit.c (handle_alias_pairs): Handle also variable aliases.
* ipa-ref.c (ipa_record_reference): Allow aliases on variables.
* lto-cgraph.c (lto_output_varpool_node): Update streaming.
(input_varpool_node): Likewise.
* lto-streamer-out.c (produce_symtab): Remove extra name aliases.
(varpool_externally_visible_p): Remove extra body alias code.
(function_and_variable_visibility): Likewise.
* tree-ssa-structalias.c (associate_varinfo_to_alias_1): New function.
(ipa_pta_execute): Use it.
* varpool.c (varpool_remove_node): Remove extra name alias code.
(varpool_mark_needed_node): Likewise.
(varpool_analyze_pending_decls): Analyze aliases.
(assemble_aliases): New functoin.
(varpool_assemble_decl): Use it.
(varpool_create_variable_alias): New function.
(varpool_extra_name_alias): Rewrite.
(varpool_for_node_and_aliases): New function.

From-SVN: r175169

13 years agolto-symtab.c (lto_varpool_replace_node): Remove code handling extra name aliases.
Jan Hubicka [Sat, 18 Jun 2011 08:33:10 +0000 (08:33 +0000)]
lto-symtab.c (lto_varpool_replace_node): Remove code handling extra name aliases.

* lto-symtab.c (lto_varpool_replace_node): Remove code handling
extra name aliases.
(lto_symtab_resolve_can_prevail_p): Likewise.
(lto_symtab_merge_cgraph_nodes): Update alias_of pointers.
* cgraphbuild.c (record_reference): Remove extra body alias code.
(mark_load): Likewise.
(mark_store): Likewise.
* cgraph.h (varpool_node): Remove extra_name filed;
add alias_of and extraname_alias.
(varpool_create_variable_alias, varpool_for_node_and_aliases): Declare.
(varpool_alias_aliased_node): New inline function.
(varpool_variable_node): New function.
* cgraphunit.c (handle_alias_pairs): Handle also variable aliases.
* ipa-ref.c (ipa_record_reference): Allow aliases on variables.
* lto-cgraph.c (lto_output_varpool_node): Update streaming.
(input_varpool_node): Likewise.
* lto-streamer-out.c (produce_symtab): Remove extra name aliases.
(varpool_externally_visible_p): Remove extra body alias code.
(function_and_variable_visibility): Likewise.
* tree-ssa-structalias.c (associate_varinfo_to_alias_1): New function.
(ipa_pta_execute): Use it.
* varpool.c (varpool_remove_node): Remove extra name alias code.
(varpool_mark_needed_node): Likewise.
(varpool_analyze_pending_decls): Analyze aliases.
(assemble_aliases): New functoin.
(varpool_assemble_decl): Use it.
(varpool_create_variable_alias): New function.
(varpool_extra_name_alias): Rewrite.
(varpool_for_node_and_aliases): New function.

From-SVN: r175168

13 years agolto-symtab.c (lto_varpool_replace_node): Remove code handling extra name aliases.
Jan Hubicka [Sat, 18 Jun 2011 08:31:03 +0000 (10:31 +0200)]
lto-symtab.c (lto_varpool_replace_node): Remove code handling extra name aliases.

* lto-symtab.c (lto_varpool_replace_node): Remove code handling
extra name aliases.
(lto_symtab_resolve_can_prevail_p): Likewise.
(lto_symtab_merge_cgraph_nodes): Update alias_of pointers.
* cgraphbuild.c (record_reference): Remove extra body alias code.
(mark_load): Likewise.
(mark_store): Likewise.
* cgraph.h (varpool_node): Remove extra_name filed;
add alias_of and extraname_alias.
(varpool_create_variable_alias, varpool_for_node_and_aliases): Declare.
(varpool_alias_aliased_node): New inline function.
(varpool_variable_node): New function.
* cgraphunit.c (handle_alias_pairs): Handle also variable aliases.
* ipa-ref.c (ipa_record_reference): Allow aliases on variables.
* lto-cgraph.c (lto_output_varpool_node): Update streaming.
(input_varpool_node): Likewise.
* lto-streamer-out.c (produce_symtab): Remove extra name aliases.
(varpool_externally_visible_p): Remove extra body alias code.
(function_and_variable_visibility): Likewise.
* tree-ssa-structalias.c (associate_varinfo_to_alias_1): New function.
(ipa_pta_execute): Use it.
* varpool.c (varpool_remove_node): Remove extra name alias code.
(varpool_mark_needed_node): Likewise.
(varpool_analyze_pending_decls): Analyze aliases.
(assemble_aliases): New functoin.
(varpool_assemble_decl): Use it.
(varpool_create_variable_alias): New function.
(varpool_extra_name_alias): Rewrite.
(varpool_for_node_and_aliases): New function.

From-SVN: r175167

13 years agoPR 49296 List directed read of string ending in EOF.
Janne Blomqvist [Sat, 18 Jun 2011 07:53:09 +0000 (10:53 +0300)]
PR 49296 List directed read of string ending in EOF.

libgfortran ChangeLog entry:

2011-06-18  Janne Blomqvist  <jb@gcc.gnu.org>

        PR libfortran/49296
        * io/list_read.c (read_character): Accept EOF as a separator when
        reading string.

testsuite ChangeLog entry:

2011-06-18  Janne Blomqvist  <jb@gcc.gnu.org>

        PR libfortran/48296
* gfortran.dg/read_list_eof_1.f90: New test.

From-SVN: r175166

13 years agore PR target/49411 ([4.6/4.7] ICE: unrecognizable insn with -mxop in _mm_roti_epi8...
Jakub Jelinek [Sat, 18 Jun 2011 06:43:38 +0000 (08:43 +0200)]
re PR target/49411 ([4.6/4.7] ICE: unrecognizable insn with -mxop in _mm_roti_epi8 with negative number)

PR target/49411
* config/i386/i386.c (ix86_expand_multi_arg_builtins): If
last_arg_constant and last argument doesn't match its predicate,
for xop_vpermil2<mode>3 error out and for xop_rotl<mode>3
if it is CONST_INT, mask it, otherwise expand using rotl<mode>3.
(ix86_expand_sse_pcmpestr, ix86_expand_sse_pcmpistr): Fix
spelling of error message.
* config/i386/sse.md (sse4a_extrqi, sse4a_insertqi,
vcvtps2ph, *vcvtps2ph, *vcvtps2ph_store, vcvtps2ph256): Use
const_0_to_255_operand instead of const_int_operand.

Revert:
2011-05-09  Uros Bizjak  <ubizjak@gmail.com>

* config/i386/sse.md (blendbits): Remove mode attribute.
(<sse4_1>_blend<ssemodesuffix><avxsizesuffix>): Use const_int_operand
instead of const_0_to_<blendbits>_operand for operand 3 predicate.
Check integer value of operand 3 in insn constraint.

* gcc.target/i386/testimm-1.c: New test.
* gcc.target/i386/testimm-2.c: New test.
* gcc.target/i386/testimm-3.c: New test.
* gcc.target/i386/testimm-4.c: New test.
* gcc.target/i386/testimm-5.c: New test.
* gcc.target/i386/testimm-6.c: New test.
* gcc.target/i386/testimm-7.c: New test.
* gcc.target/i386/testimm-8.c: New test.
* gcc.target/i386/xop-vpermil2px-2.c: New test.
* gcc.target/i386/xop-rotate1-int.c: New test.
* gcc.target/i386/xop-rotate2-int.c: New test.

From-SVN: r175165

13 years agore PR c++/49458 ([C++0x][DR 1328] Obvious candidate for conversion to function lvalue...
Jason Merrill [Sat, 18 Jun 2011 05:58:38 +0000 (01:58 -0400)]
re PR c++/49458 ([C++0x][DR 1328] Obvious candidate for conversion to function lvalue rejected)

PR c++/49458
* call.c (convert_class_to_reference_1): Allow binding function
lvalue to rvalue reference.

From-SVN: r175164

13 years agoDaily bump.
GCC Administrator [Sat, 18 Jun 2011 00:18:47 +0000 (00:18 +0000)]
Daily bump.

From-SVN: r175163

13 years agore PR c++/43912 ([C++0x] lambda debug info does not describe captured variables)
Jason Merrill [Fri, 17 Jun 2011 20:08:01 +0000 (16:08 -0400)]
re PR c++/43912 ([C++0x] lambda debug info does not describe captured variables)

PR c++/43912
Generate proxy VAR_DECLs for better lambda debug info.
* cp-tree.h (FUNCTION_NEEDS_BODY_BLOCK): Add lambda operator().
(LAMBDA_EXPR_PENDING_PROXIES): New.
(struct tree_lambda_expr): Add pending_proxies.
* name-lookup.c (pushdecl_maybe_friend_1): Handle capture shadowing.
(qualify_lookup): Use is_lambda_ignored_entity.
* parser.c (cp_parser_lambda_expression): Don't adjust field names.
Call insert_pending_capture_proxies.
(cp_parser_lambda_introducer): Use this_identifier.
(cp_parser_lambda_declarator_opt): Call the object parameter
of the op() "__closure" instead of "this".
(cp_parser_lambda_body): Call build_capture_proxy.
* semantics.c (build_capture_proxy, is_lambda_ignored_entity): New.
(insert_pending_capture_proxies, insert_capture_proxy): New.
(is_normal_capture_proxy, is_capture_proxy): New.
(add_capture): Add __ to field names here, return capture proxy.
(add_default_capture): Use this_identifier, adjust to expect
add_capture to return a capture proxy.
(outer_lambda_capture_p, thisify_lambda_field): Remove.
(finish_id_expression, lambda_expr_this_capture): Adjust.
(build_lambda_expr): Initialize LAMBDA_EXPR_PENDING_PROXIES.
* pt.c (tsubst_copy_and_build): Check that LAMBDA_EXPR_PENDING_PROXIES
is null.

From-SVN: r175158

13 years agoname-lookup.c (pushdecl_maybe_friend_1): Do check for shadowing of artificial locals.
Jason Merrill [Fri, 17 Jun 2011 20:07:53 +0000 (16:07 -0400)]
name-lookup.c (pushdecl_maybe_friend_1): Do check for shadowing of artificial locals.

* name-lookup.c (pushdecl_maybe_friend_1): Do check for shadowing
of artificial locals.

From-SVN: r175157

13 years agoparser.c (cp_parser_lambda_expression): Clear LAMBDA_EXPR_THIS_CAPTURE after parsing.
Jason Merrill [Fri, 17 Jun 2011 20:07:45 +0000 (16:07 -0400)]
parser.c (cp_parser_lambda_expression): Clear LAMBDA_EXPR_THIS_CAPTURE after parsing.

* parser.c (cp_parser_lambda_expression): Clear
LAMBDA_EXPR_THIS_CAPTURE after parsing.
* pt.c (tsubst_copy_and_build): Make sure it isn't set.

From-SVN: r175156

13 years agocp-tree.h (struct tree_lambda_expr): Change common to typed.
Jason Merrill [Fri, 17 Jun 2011 20:07:33 +0000 (16:07 -0400)]
cp-tree.h (struct tree_lambda_expr): Change common to typed.

* cp-tree.h (struct tree_lambda_expr): Change common to typed.
Move non-pointers to end of struct.

From-SVN: r175155

13 years agopushdecl_with_scope comment
Jason Merrill [Fri, 17 Jun 2011 20:07:26 +0000 (16:07 -0400)]
pushdecl_with_scope comment

From-SVN: r175154

13 years agopt.c (tsubst_decl): Handle DECL_VALUE_EXPR on reference.
Jason Merrill [Fri, 17 Jun 2011 20:07:20 +0000 (16:07 -0400)]
pt.c (tsubst_decl): Handle DECL_VALUE_EXPR on reference.

* pt.c (tsubst_decl): Handle DECL_VALUE_EXPR on reference.
* decl.c (check_initializer): Handle DECL_VALUE_EXPR_P.

From-SVN: r175153

13 years agosemantics.c (finish_non_static_data_member): Preserve dereference in template.
Jason Merrill [Fri, 17 Jun 2011 20:07:13 +0000 (16:07 -0400)]
semantics.c (finish_non_static_data_member): Preserve dereference in template.

* semantics.c (finish_non_static_data_member): Preserve dereference
in template.

From-SVN: r175152

13 years agore PR fortran/48699 ([OOP] MOVE_ALLOC inside SELECT TYPE)
Janus Weil [Fri, 17 Jun 2011 20:03:04 +0000 (22:03 +0200)]
re PR fortran/48699 ([OOP] MOVE_ALLOC inside SELECT TYPE)

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

PR fortran/48699
* check.c (gfc_check_move_alloc): If 'TO' argument is polymorphic,
make sure the vtab is present.

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

PR fortran/48699
* gfortran.dg/move_alloc_5.f90: New.

From-SVN: r175151

13 years agore PR libgcj/49315 (Throw_2 SEGVs on Tru64 UNIX)
Rainer Orth [Fri, 17 Jun 2011 08:33:13 +0000 (08:33 +0000)]
re PR libgcj/49315 (Throw_2 SEGVs on Tru64 UNIX)

PR libgcj/49315
* include/solaris-signal.h: Rename to ...
* include/posix-signal.h: ... this.
(SA_FLAGS): Define.
(SIGNAL_HANDLER): Handle non-SA_SIGINFO case.
(sa_signal_handler): Define.
(_INIT_SIG_HANDLER): New macro.
(INIT_SEGV, INIT_FPE): Use it.
* configure.ac (SIGNAL_HANDLER): Use it on alpha*-dec-osf*,
mips-sgi-irix*, *-*-solaris2*
* configure: Regenerate.
* include/aix-signal.h: Refer to AIX.
* configure.host (alpha*-dec-osf*): Enable can_unwind_signal.
(mips-sgi-irix6*): Likewise.

From-SVN: r175138

13 years agore PR rtl-optimization/48542 (unchanged variables in code which calls setjmp may...
Hans-Peter Nilsson [Fri, 17 Jun 2011 02:20:11 +0000 (02:20 +0000)]
re PR rtl-optimization/48542 (unchanged variables in code which calls setjmp may be clobbered (including the return-address))

PR rtl-optimization/48542
* gcc.dg/torture/pr48542.c: New test.

From-SVN: r175133

13 years agore PR rtl-optimization/48542 (unchanged variables in code which calls setjmp may...
Hans-Peter Nilsson [Fri, 17 Jun 2011 02:18:24 +0000 (02:18 +0000)]
re PR rtl-optimization/48542 (unchanged variables in code which calls setjmp may be clobbered (including the return-address))

PR rtl-optimization/48542
* reload.c (find_equiv_reg): Stop looking when finding a
setjmp-type call.
* reload1.c (reload_as_needed): Invalidate all reload
registers when crossing a setjmp-type call.

From-SVN: r175132

13 years agoDaily bump.
GCC Administrator [Fri, 17 Jun 2011 00:19:24 +0000 (00:19 +0000)]
Daily bump.

From-SVN: r175129

13 years agosingle.c (_gfortran_caf_register): Store the address of all static coarrays in a...
Daniel Carrera [Thu, 16 Jun 2011 23:09:36 +0000 (23:09 +0000)]
single.c (_gfortran_caf_register): Store the address of all static coarrays in a linked list.

2011-06-17  Daniel Carrera  <dcarrera@gmail.com>

        * caf/single.c (_gfortran_caf_register): Store the address
        of all static coarrays in a linked list.
        (_gfortran_caf_finalize): Free memory of staic coarrays.
        * caf/mpi.c (_gfortran_caf_register): Store the address
        of all static coarrays in a linked list. Initialize MPI
        if necessary.
        (_gfortran_caf_finalize): Free memory of staic coarrays.
        (_gfortran_caf_init): Check if MPI is already initialized
        before initializing again.
        * caf/libcaf.h: Add a type to caf_register_t to distinguish
        static coarrays and add the type caf_static_t to make the
        linked list of static coarrays.

From-SVN: r175124