gcc.git
11 years agore PR tree-optimization/56817 (ICE in hide_evolution_in_other_loops_than_loop)
Richard Biener [Wed, 3 Apr 2013 13:41:13 +0000 (13:41 +0000)]
re PR tree-optimization/56817 (ICE in hide_evolution_in_other_loops_than_loop)

2013-04-03  Richard Biener  <rguenther@suse.de>

PR tree-optimization/56817
* tree-ssa-loop-ivcanon.c (tree_unroll_loops_completely):
Split out ...
(tree_unroll_loops_completely_1): ... new function to manually
walk the loop tree, properly defering outer loops of unrolled
loops to later iterations.

* g++.dg/torture/pr56817.C: New testcase.

From-SVN: r197411

11 years agotree-vect-stmts.c (vectorizable_store): Accept BIT_FIELD_REF.
Marc Glisse [Wed, 3 Apr 2013 12:59:46 +0000 (14:59 +0200)]
tree-vect-stmts.c (vectorizable_store): Accept BIT_FIELD_REF.

2013-04-03  Marc Glisse  <marc.glisse@inria.fr>

gcc/
* tree-vect-stmts.c (vectorizable_store): Accept BIT_FIELD_REF.
(vectorizable_load): Likewise.
* tree-vect-slp.c (vect_build_slp_tree): Likewise.
* tree-vect-data-refs.c (vect_create_data_ref_ptr): Handle VECTOR_TYPE.

gcc/testsuite/
* gcc.dg/vect/bb-slp-31.c: New file.

From-SVN: r197410

11 years agotree-flow-inline.h (get_addr_base_and_unit_offset_1): Handle BIT_FIELD_REF.
Marc Glisse [Wed, 3 Apr 2013 12:54:50 +0000 (14:54 +0200)]
tree-flow-inline.h (get_addr_base_and_unit_offset_1): Handle BIT_FIELD_REF.

2013-04-03  Marc Glisse  <marc.glisse@inria.fr>

* tree-flow-inline.h (get_addr_base_and_unit_offset_1): Handle
BIT_FIELD_REF.

From-SVN: r197409

11 years agore PR c++/34949 (Dead code in empty destructors.)
Jason Merrill [Wed, 3 Apr 2013 12:53:39 +0000 (08:53 -0400)]
re PR c++/34949 (Dead code in empty destructors.)

PR c++/34949
* g++.dg/tree-ssa/ehcleanup-1.C: Adjust unreachable count.

From-SVN: r197408

11 years agoslp-pr56812.cc: Use dg-additional-options.
Richard Biener [Wed, 3 Apr 2013 12:31:26 +0000 (12:31 +0000)]
slp-pr56812.cc: Use dg-additional-options.

2013-04-03  Richard Biener  <rguenther@suse.de>

* g++.dg/vect/slp-pr56812.cc: Use dg-additional-options.

From-SVN: r197407

11 years ago* config/spu/spu.c (emit_nop_for_insn): Handle JUMP_TABLE_DATA.
Ulrich Weigand [Wed, 3 Apr 2013 12:14:03 +0000 (12:14 +0000)]
* config/spu/spu.c (emit_nop_for_insn): Handle JUMP_TABLE_DATA.

From-SVN: r197406

11 years agore PR tree-optimization/55964 (Segmentation fault with -O -ftree-loop-distribution...
Richard Biener [Wed, 3 Apr 2013 10:36:49 +0000 (10:36 +0000)]
re PR tree-optimization/55964 (Segmentation fault with -O -ftree-loop-distribution -funswitch-loops)

2013-04-03  Richard Biener  <rguenther@suse.de>

PR tree-optimization/55964
* gcc.dg/torture/pr55964-2.c: New testcase.

From-SVN: r197403

11 years agore PR tree-optimization/56501 (gcc 4.6 ICE on noreturn function at -Os and above)
Richard Biener [Wed, 3 Apr 2013 10:28:27 +0000 (10:28 +0000)]
re PR tree-optimization/56501 (gcc 4.6 ICE on noreturn function at -Os and above)

2013-04-03  Richard Biener  <rguenther@suse.de>

PR tree-optimization/56501
* gcc.dg/torture/pr56501.c: New testcase.

From-SVN: r197401

11 years agore PR tree-optimization/56407 (Optimizations (-O2 -O3) make comparison of arrays...
Richard Biener [Wed, 3 Apr 2013 10:25:23 +0000 (10:25 +0000)]
re PR tree-optimization/56407 (Optimizations (-O2 -O3) make comparison of arrays of ints to fail)

2013-04-03  Richard Biener  <rguenther@suse.de>

PR tree-optimization/56407
* gcc.dg/torture/pr56407.c: New testcase.

From-SVN: r197399

11 years ago* rtl.h (AUTO_INC_DEC): Fix typo of HAVE_POST_MODIFY_DISP.
Bin Cheng [Wed, 3 Apr 2013 10:25:08 +0000 (10:25 +0000)]
* rtl.h (AUTO_INC_DEC): Fix typo of HAVE_POST_MODIFY_DISP.

From-SVN: r197398

11 years agore PR tree-optimization/56790 (VEC_COND_EXPR not constant folded)
Marc Glisse [Wed, 3 Apr 2013 09:49:44 +0000 (11:49 +0200)]
re PR tree-optimization/56790 (VEC_COND_EXPR not constant folded)

2013-04-03  Marc Glisse  <marc.glisse@inria.fr>

PR tree-optimization/56790
gcc/
* fold-const.c (fold_ternary_loc) <VEC_COND_EXPR>: Add constant folding.

gcc/testsuite/
* g++.dg/ext/pr56790-1.C: New testcase.

From-SVN: r197395

11 years agosimplify-rtx.c (simplify_binary_operation_1): Handle VEC_MERGE.
Marc Glisse [Wed, 3 Apr 2013 09:44:28 +0000 (11:44 +0200)]
simplify-rtx.c (simplify_binary_operation_1): Handle VEC_MERGE.

2013-04-03  Marc Glisse  <marc.glisse@inria.fr>

gcc/
* simplify-rtx.c (simplify_binary_operation_1) <VEC_SELECT>:
Handle VEC_MERGE.
(simplify_ternary_operation) <VEC_MERGE>: Use unsigned HOST_WIDE_INT
for masks. Test for side effects. Handle nested VEC_MERGE. Handle
equal arguments.

gcc/testsuite/
* gcc.target/i386/merge-1.c: New testcase.
* gcc.target/i386/avx2-vpblendd128-1.c: Make it non-trivial.

From-SVN: r197394

11 years agore PR c/19449 (__builtin_constant_p cannot resolve to const when optimizing)
Jakub Jelinek [Wed, 3 Apr 2013 09:17:44 +0000 (11:17 +0200)]
re PR c/19449 (__builtin_constant_p cannot resolve to const when optimizing)

PR c/19449
* tree.h (force_folding_builtin_constant_p): New decl.
* builtins.c (force_folding_builtin_constant_p): New variable.
(fold_builtin_constant_p): Fold immediately also if
force_folding_builtin_constant_p.

* c-parser.c (c_parser_get_builtin_args): Add choose_expr_p
argument.  If set, or it temporarily for parsing of the first
argument into force_folding_builtin_constant_p.
(c_parser_postfix_expression): Adjust callers.

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

From-SVN: r197393

11 years agore PR tree-optimization/56812 (Simple loop is not SLP-vectorized after r196872)
Richard Biener [Wed, 3 Apr 2013 08:03:33 +0000 (08:03 +0000)]
re PR tree-optimization/56812 (Simple loop is not SLP-vectorized after r196872)

2013-04-03  Richard Biener  <rguenther@suse.de>

PR tree-optimization/56812
* tree-vect-data-refs.c (vect_slp_analyze_data_ref_dependence):
DRs of the same interleaving chain are independent.

* g++.dg/vect/slp-pr56812.cc: New testcase.

From-SVN: r197390

11 years agore PR fortran/56284 ([OOP] ICE with alternate return in type-bound procedure)
Janus Weil [Wed, 3 Apr 2013 07:31:23 +0000 (09:31 +0200)]
re PR fortran/56284 ([OOP] ICE with alternate return in type-bound procedure)

2013-04-03  Janus Weil  <janus@gcc.gnu.org>

PR fortran/56284
PR fortran/40881
* decl.c (gfc_match_formal_arglist): Warn about alternate-return
arguments.
* interface.c (check_dummy_characteristics): Return if symbols are NULL.

2013-04-03  Janus Weil  <janus@gcc.gnu.org>

PR fortran/56284
PR fortran/40881
* gfortran.dg/altreturn_8.f90: New.
* gfortran.dg/altreturn_2.f90: Add -std=legacy.
* gfortran.dg/intrinsic_actual_3.f90: Ditto.
* gfortran.dg/invalid_interface_assignment.f90: Ditto.

From-SVN: r197389

11 years agore PR c++/56821 (Unable to overload with references to 'this'.)
Jason Merrill [Wed, 3 Apr 2013 03:11:02 +0000 (23:11 -0400)]
re PR c++/56821 (Unable to overload with references to 'this'.)

PR c++/56821
* mangle.c (write_function_type): Mangle ref-qualifier.
(write_nested_name): Likewise.
(canonicalize_for_substitution): Preserve ref-qualifier.
(write_type): Likewise.

From-SVN: r197386

11 years agoDaily bump.
GCC Administrator [Wed, 3 Apr 2013 00:16:21 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r197384

11 years agoexception (get_terminate(), [...]): Declare.
Jonathan Wakely [Wed, 3 Apr 2013 00:08:54 +0000 (00:08 +0000)]
exception (get_terminate(), [...]): Declare.

* libsupc++/exception (get_terminate(), get_unexpected()): Declare.
* libsupc++/eh_terminate.cc (get_terminate() , set_unexpected()):
Define.
(set_terminate(terminate_handler)): Set atomically.
(set_unexpected(terminate_handler)): Likewise.
* libsupc++/new (get_new_handler()): Declare.
* libsupc++/new_handler.cc (get_new_handler()): Define.
(set_new_handler(new_handler)): Set atomically.
(__new_handler): Use internal linkage.
* libsupc++/new_op.cc (operator new): Use get_new_handler().
* libsupc++/new_opnt.cc (operator new): Likewise.
* acinclude.m4: Bump libtool_VERSION to 6:19:0.
* configure: Regenerate.
* libsupc++/Makefile.am: Compile above files with -std=gnu++11.
* libsupc++/Makefile.in: Regenerate.
* config/abi/pre/gnu.ver: Add new exports.
* doc/xml/manual/status_cxx2011.xml: Update.
* testsuite/18_support/headers/exception/synopsis.cc: Check accessors
for handlers.
* testsuite/18_support/headers/new/synopsis.cc: Likewise.
* testsuite/18_support/new_handler.cc: New.
* testsuite/18_support/terminate_handler.cc: New.
* testsuite/18_support/unexpected_handler.cc: New.

From-SVN: r197380

11 years ago* de.po: Update.
Joseph Myers [Tue, 2 Apr 2013 22:47:43 +0000 (23:47 +0100)]
* de.po: Update.

From-SVN: r197377

11 years ago* gdbinit.in (pbb): Use debug fn.
Jason Merrill [Tue, 2 Apr 2013 21:09:52 +0000 (17:09 -0400)]
* gdbinit.in (pbb): Use debug fn.

From-SVN: r197376

11 years agore PR c++/34949 (Dead code in empty destructors.)
Jason Merrill [Tue, 2 Apr 2013 21:09:38 +0000 (17:09 -0400)]
re PR c++/34949 (Dead code in empty destructors.)

PR c++/34949
* decl.c (begin_destructor_body): Clobber the object in a cleanup.

From-SVN: r197375

11 years agoRemove unused symbols related to ivtype_map.
Lawrence Crowl [Tue, 2 Apr 2013 20:13:46 +0000 (20:13 +0000)]
Remove unused symbols related to ivtype_map.

Remove unused symbols related to ivtype_map.  This map does not appear to
exist and I see no evidence of its removal in the ChangeLog.

Tested on x86_64.

Index: gcc/ChangeLog

2013-04-02  Lawrence Crowl  <crowl@google.com>

* sese.h (struct ivtype_map_elt_s): Remove unused.
(extern debug_ivtype_map): Remove unused.
(extern eq_ivtype_map_elts): Remove unused.
* sese.c (debug_ivtype_map): Removed unused.
(debug_ivtype_map_1): Removed unused.
(debug_ivtype_elt): Remove unused.
(eq_ivtype_map_elts): Remove unused.

From-SVN: r197374

11 years agore PR target/52790 (Problems using x86_64-w64-mingw-w32-gfortran with mcmodel=large...
Kai Tietz [Tue, 2 Apr 2013 18:34:32 +0000 (20:34 +0200)]
re PR target/52790 (Problems using x86_64-w64-mingw-w32-gfortran with mcmodel=large and medium)

PR target/52790
* config/i386/cygming.h (SUB_TARGET_RECORD_STUB): New sub-target macro.
* config/i386/i386-protos.h (i386_pe_record_stub): Add new prototype.
* config/i386/i386.c (legitimize_pe_coff_extern_decl): New static
function.
(legitimize_pe_coff_symbol): Likewise.
(is_imported_p): New helper-function.
(ix86_option_override_internal): Make MEDIUM_PIC the default code-model
for Windows x64 targets.
(ix86_expand_prologue): Optimize for pe-coff targets.
(ix86_expand_split_stack_prologue): Adjust for pe-coff targets.
(legitimate_pic_address_disp_p): Adjust for x64 pe-coff to support
medium/large code-model.
(legitimize_pic_address): Likewise.
(legitimize_tls_address): Likewise.
(ix86_expand_call): Likewise.
(x86_output_mi_thunk): Likewise.
(get_dllimport_decl): Add new beimport argument.
(construct_plt_address): Don't assert for x64 pe-coff targets.
* config/i386/i386.h (PIC_OFFSET_TABLE_REGNUM): Adjust for x64 pe-coff
targets.
(SYMBOL_FLAG_STUBVAR): New macro.
(SYMBOL_REF_STUBVAR_P): Likewise.
* config/i386/winnt.c (stub_list): New structure.
(stub_head): New local variable.
(i386_pe_record_stub): New function.
(i386_pe_file_end): Emit refptr-stubs.

From-SVN: r197373

11 years agore PR rtl-optimization/56745 (ICE in merge_if_block)
Jakub Jelinek [Tue, 2 Apr 2013 18:29:18 +0000 (20:29 +0200)]
re PR rtl-optimization/56745 (ICE in merge_if_block)

PR rtl-optimization/56745
* ifcvt.c (cond_exec_find_if_block): Don't try to optimize
if then_bb has no successors and else_bb is EXIT_BLOCK_PTR.

* gcc.c-torture/compile/pr56745.c: New test.

From-SVN: r197371

11 years agore PR c++/34949 (Dead code in empty destructors.)
Jakub Jelinek [Tue, 2 Apr 2013 18:27:45 +0000 (20:27 +0200)]
re PR c++/34949 (Dead code in empty destructors.)

PR c++/34949
* tree-ssa-alias.c (stmt_kills_ref_p_1): If base != ref->base
and both of them are MEM_REFs, just compare first argument for
equality and attempt to deal even with differing offsets.

From-SVN: r197370

11 years agore PR c++/34949 (Dead code in empty destructors.)
Jakub Jelinek [Tue, 2 Apr 2013 18:25:36 +0000 (20:25 +0200)]
re PR c++/34949 (Dead code in empty destructors.)

PR c++/34949
* tree-cfg.c (verify_gimple_assign_single): Allow lhs
of gimple_clobber_p to be MEM_REF.
* gimplify.c (gimplify_modify_expr): Gimplify *to_p of
an assignment from TREE_CLOBBER_P.  Allow it to be MEM_REF
after gimplification.
* asan.c (get_mem_ref_of_assignment): Don't instrument
gimple_clobber_p stmts.
* tree-ssa-dse.c (dse_optimize_stmt): Allow DSE of
gimple_clobber_p stmt if they have MEM_REF lhs and
are dead because of another gimple_clobber_p stmt.
* tree-ssa-live.c (clear_unused_block_pointer): Treat
gimple_clobber_p stmts like debug stmts.
(remove_unused_locals): Remove clobbers with MEM_REF lhs
that refer to unused VAR_DECLs or uninitialized values.
* tree-sra.c (sra_ipa_reset_debug_stmts): Also remove
gimple_clobber_p stmts if they refer to removed parameters.
(get_repl_default_def_ssa_name, sra_ipa_modify_expr): Fix up
formatting.

From-SVN: r197369

11 years agoi386.md (*testqi_ext_3): Merge with *testqi_ext_3_rex64 using SWI48 mode attribute.
Uros Bizjak [Tue, 2 Apr 2013 17:21:55 +0000 (19:21 +0200)]
i386.md (*testqi_ext_3): Merge with *testqi_ext_3_rex64 using SWI48 mode attribute.

* config/i386/i386.md (*testqi_ext_3): Merge with *testqi_ext_3_rex64
using SWI48 mode attribute.

From-SVN: r197367

11 years agosra-13.c: Fix for 16 bit int.
Pitchumani Sivanupandi [Tue, 2 Apr 2013 17:19:48 +0000 (17:19 +0000)]
sra-13.c: Fix for 16 bit int.

2013-04-02  Pitchumani Sivanupandi <pitchumani.s@atmel.com>

    * gcc.dg/tree-ssa/sra-13.c: Fix for 16 bit int.

From-SVN: r197366

11 years agoi386.c (ix86_rtx_costs): Set proper rtx cost for ashl<mode>3_mask...
Wei Mi [Tue, 2 Apr 2013 16:53:49 +0000 (16:53 +0000)]
i386.c (ix86_rtx_costs): Set proper rtx cost for ashl<mode>3_mask...

2013-04-02  Wei Mi  <wmi@google.com>

* config/i386/i386.c (ix86_rtx_costs): Set proper rtx cost for
ashl<mode>3_mask, *<shift_insn><mode>3_mask and
*<rotate_insn><mode>3_mask in i386.md.

From-SVN: r197362

11 years agoconfig.gcc (arm*-*-linux-*): Remove duplicate t-linux-android.
Alexander Ivchenko [Tue, 2 Apr 2013 14:32:37 +0000 (14:32 +0000)]
config.gcc (arm*-*-linux-*): Remove duplicate t-linux-android.

* config.gcc (arm*-*-linux-*): Remove duplicate t-linux-android.

From-SVN: r197358

11 years agofriend.c (do_friend): Use COMPLETE_OR_OPEN_TYPE_P.
Paolo Carlini [Tue, 2 Apr 2013 14:04:53 +0000 (14:04 +0000)]
friend.c (do_friend): Use COMPLETE_OR_OPEN_TYPE_P.

2013-04-02  Paolo Carlini  <paolo.carlini@oracle.com>

* friend.c (do_friend): Use COMPLETE_OR_OPEN_TYPE_P.
* pt.c (find_parameter_packs_r): Use TYPE_ALIAS_P and TYPE_TI_ARGS.
(for_each_template_parm_r): Use TYPE_TI_ARGS.

From-SVN: r197356

11 years agore PR tree-optimization/56778 (ICE on several benchmarks after r196775.)
Richard Biener [Tue, 2 Apr 2013 13:31:05 +0000 (13:31 +0000)]
re PR tree-optimization/56778 (ICE on several benchmarks after r196775.)

2013-04-02  Richard Biener  <rguenther@suse.de>

PR tree-optimization/56778
* tree-vect-data-refs.c (vect_analyze_data_ref_dependence):
Runtime alias tests are not supported for gather loads.
* tree-vect-loop-manip.c (vect_loop_versioning): Insert
stmts referenced from SSA operands before updating SSA form.

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

From-SVN: r197355

11 years agore PR c++/56768 ([4.7] ICE in make_decl_rtl, at varasm.c:1147)
Richard Biener [Tue, 2 Apr 2013 12:23:13 +0000 (12:23 +0000)]
re PR c++/56768 ([4.7] ICE in make_decl_rtl, at varasm.c:1147)

2013-04-02  Richard Biener  <rguenther@suse.de>

PR middle-end/56768
* g++.dg/torture/pr56768.C: New testcase.

From-SVN: r197349

11 years agocp-tree.h (TAGGED_TYPE_P): Remove.
Paolo Carlini [Tue, 2 Apr 2013 11:45:31 +0000 (11:45 +0000)]
cp-tree.h (TAGGED_TYPE_P): Remove.

2013-04-02  Paolo Carlini  <paolo.carlini@oracle.com>

* cp-tree.h (TAGGED_TYPE_P): Remove.
(IS_OVERLOAD_TYPE): Rename to OVERLOAD_TYPE_P, adjust.
(TYPE_ANONYMOUS_P): Adjust.
* call.c (build_new_op_1): Likewise.
* class.c (find_abi_tags_r): Likewise.
* decl.c (warn_misplaced_attr_for_class_type, start_decl,
type_is_deprecated): Likewise.
* decl2.c (grokfield, min_vis_r): Likewise.
* pt.c (get_template_info): Likewise.
* tree.c (handle_abi_tag_attribute): Likewise.

From-SVN: r197347

11 years agoAdd support for Cortex-A53.
Ian Caulfield [Tue, 2 Apr 2013 11:25:50 +0000 (11:25 +0000)]
Add support for Cortex-A53.

2013-04-02  Ian Caulfield  <ian.caulfield@arm.com>
    Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>

* config/arm/arm-arches.def (armv8-a): Default to cortex-a53.
        * config/arm/t-arm (MD_INCLUDES): Depend on cortex-a53.md.
        * config/arm/cortex-a53.md: New file.
        * config/arm/bpabi.h (BE8_LINK_SPEC): Handle cortex-a53.
        * config/arm/arm.md (generic_sched, generic_vfp): Handle cortex-a53.
        * config/arm/arm.c (arm_issue_rate): Likewise.
        * config/arm/arm-tune.md: Regenerate
        * config/arm/arm-tables.opt: Regenerate.
        * config/arm/arm-cores.def: Add cortex-a53.

From-SVN: r197346

11 years agore PR c++/56725 (extra spaces in error message)
Paolo Carlini [Tue, 2 Apr 2013 10:20:03 +0000 (10:20 +0000)]
re PR c++/56725 (extra spaces in error message)

2013-04-02  Paolo Carlini  <paolo.carlini@oracle.com>

* obj-c++.dg/try-catch-13.mm: Update per PR56725.

From-SVN: r197345

11 years agouclinux-elf.h: Add %L to LINK_GCC_C_SEQUENCE_SPEC for non-static link.
Zhenqiang Chen [Tue, 2 Apr 2013 09:35:22 +0000 (09:35 +0000)]
uclinux-elf.h: Add %L to LINK_GCC_C_SEQUENCE_SPEC for non-static link.

2013-04-02  Zhenqiang Chen  <zhenqiang.chen@arm.com>

* config/arm/uclinux-elf.h: Add %L to LINK_GCC_C_SEQUENCE_SPEC for
non-static link.

From-SVN: r197344

11 years agoFix whitespace in MAINTAINERS.
Tom de Vries [Tue, 2 Apr 2013 09:32:43 +0000 (09:32 +0000)]
Fix whitespace in MAINTAINERS.

From-SVN: r197343

11 years agoaarch64.md (*mov<mode>_aarch64): Add variants for scalar load/store operations using...
Sofiane Naci [Tue, 2 Apr 2013 09:30:02 +0000 (09:30 +0000)]
aarch64.md (*mov<mode>_aarch64): Add variants for scalar load/store operations using B/H registers.

* config/aarch64/aarch64.md (*mov<mode>_aarch64): Add variants for scalar
load/store operations using B/H registers.
(*zero_extend<SHORT:mode><GPI:mode>2_aarch64): Likewise.

From-SVN: r197342

11 years agoaarch64.md (*mov<mode>_aarch64): Add alternatives for scalar move.
Sofiane Naci [Tue, 2 Apr 2013 09:02:17 +0000 (09:02 +0000)]
aarch64.md (*mov<mode>_aarch64): Add alternatives for scalar move.

* config/aarch64/aarch64.md (*mov<mode>_aarch64): Add alternatives for
scalar move.
* config/aarch64/aarch64.c
(aarch64_simd_scalar_immediate_valid_for_move): New.
* config/aarch64/aarch64-protos.h
(aarch64_simd_scalar_immediate_valid_for_move): New.
* config/aarch64/constraints.md (Dh, Dq): New.
* config/aarch64/iterators.md (hq): New.

From-SVN: r197341

11 years agoreorg.c (get_branch_condition): Deal with conditional returns.
Eric Botcazou [Tue, 2 Apr 2013 07:14:12 +0000 (07:14 +0000)]
reorg.c (get_branch_condition): Deal with conditional returns.

* reorg.c (get_branch_condition): Deal with conditional returns.
(fill_simple_delay_slots): Remove dead code dealing with jumps.

From-SVN: r197340

11 years agoDaily bump.
GCC Administrator [Tue, 2 Apr 2013 00:16:33 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r197338

11 years agoappendix_contributing.xml: Remove broken link and defer to general documentation...
Jonathan Wakely [Tue, 2 Apr 2013 00:09:44 +0000 (01:09 +0100)]
appendix_contributing.xml: Remove broken link and defer to general documentation on contributing to GCC.

* doc/xml/manual/appendix_contributing.xml: Remove broken link and
defer to general documentation on contributing to GCC.
* doc/html/*: Regenerate.

From-SVN: r197334

11 years agosemantics.c (maybe_constant_value): Check instantiation_dependent_expression_p.
Jason Merrill [Mon, 1 Apr 2013 21:18:33 +0000 (17:18 -0400)]
semantics.c (maybe_constant_value): Check instantiation_dependent_expression_p.

* semantics.c (maybe_constant_value): Check
instantiation_dependent_expression_p.
* pt.c (build_non_dependent_expr): Don't check it here.

From-SVN: r197327

11 years agore PR c++/56772 (placement new operator does not work inside function template for...
Jason Merrill [Mon, 1 Apr 2013 21:18:23 +0000 (17:18 -0400)]
re PR c++/56772 (placement new operator does not work inside function template for array types.)

PR c++/56772
* init.c (build_new): Don't try to process an array initializer
at template definition time.

From-SVN: r197326

11 years agore PR c++/56793 (ICE with scoped enum)
Jason Merrill [Mon, 1 Apr 2013 21:18:11 +0000 (17:18 -0400)]
re PR c++/56793 (ICE with scoped enum)

PR c++/56793
* typeck.c (finish_class_member_access_expr): Handle enum scope.

From-SVN: r197325

11 years agore PR c++/56794 (C++11 Error in range-based for with parameter pack array)
Jason Merrill [Mon, 1 Apr 2013 21:18:05 +0000 (17:18 -0400)]
re PR c++/56794 (C++11 Error in range-based for with parameter pack array)

PR c++/56794
* parser.c (cp_parser_range_for): Don't try to do auto deduction
in a template if the type of the range is incomplete.

From-SVN: r197324

11 years agore PR fortran/56660 (Fails to read NAMELIST with certain form array syntax)
Jerry DeLisle [Mon, 1 Apr 2013 20:59:34 +0000 (20:59 +0000)]
re PR fortran/56660 (Fails to read NAMELIST with certain form array syntax)

2013-04-01  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

PR fortran/56660
* gfortran.dg/namelist_82.f90:  New test.

From-SVN: r197322

11 years agore PR fortran/56660 (Fails to read NAMELIST with certain form array syntax)
Jerry DeLisle [Mon, 1 Apr 2013 20:30:41 +0000 (20:30 +0000)]
re PR fortran/56660 (Fails to read NAMELIST with certain form array syntax)

2013-04-01  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

PR libfortran/56660
* io/list_read.c (nml_read_obj): Do not reset the read error flag
inside nml_read_obj. If the read error flag is found set just exit.
Fix some whitespace on comments.
(nml_read_obj_data): Reset the read error flag before the first call
to nml_read_object.

From-SVN: r197321

11 years agocall.c (add_function_candidate): Take the address of 'this' here.
Jason Merrill [Mon, 1 Apr 2013 19:05:12 +0000 (15:05 -0400)]
call.c (add_function_candidate): Take the address of 'this' here.

* call.c (add_function_candidate): Take the address of 'this' here.
(build_over_call): And here.
(build_new_method_call_1, build_op_call_1): Not here.
(build_user_type_conversion_1): Or here.
(add_candidates): Adjust.

From-SVN: r197317

11 years agocxx-pretty-print.h (pp_cxx_cv_qualifiers): New.
Jason Merrill [Mon, 1 Apr 2013 19:05:06 +0000 (15:05 -0400)]
cxx-pretty-print.h (pp_cxx_cv_qualifiers): New.

* cxx-pretty-print.h (pp_cxx_cv_qualifiers): New.
* class.c (same_signature_p): Use type_memfn_quals.
* cp-tree.h (TYPE_RAISES_EXCEPTIONS): Use
FUNCTION_OR_METHOD_TYPE_CHECK.
* error.c (dump_type_suffix): Add padding before cv-qualifiers.
* pt.c (unify): Use static_fn_type.

From-SVN: r197316

11 years agoImplement N2439 (ref-qualifiers for 'this')
Bronek Kozicki [Mon, 1 Apr 2013 19:04:59 +0000 (19:04 +0000)]
Implement N2439 (ref-qualifiers for 'this')

Implement N2439 (ref-qualifiers for 'this')
* cp-tree.h (FUNCTION_REF_QUALIFIED): New.
(FUNCTION_RVALUE_QUALIFIED): New.
(FUNCTION_OR_METHOD_TYPE_CHECK): New.
(cpp0x_warn_str): Add CPP0X_REF_QUALIFIER.
(cp_ref_qualifier): New enum.
(cp_declarator): Add ref_qualifier.
* parser.c (cp_parser_ref_qualifier_seq_opt): New.
(cp_parser_direct_declarator): Use it.
(make_call_declarator): Adjust.
(cp_parser_lambda_declarator_opt): Adjust.
* call.c (add_function_candidate): Handle ref-qualifier overload
resolution semantics.
(standard_conversion): Adjust.
* class.c (add_method, same_signature_p): Compare ref-qualifiers.
* decl.c (grokdeclarator): Handle ref-qualifiers.
(grokfndecl): Check for invalid ref-qualifiers.
(static_fn_type, revert_static_member_fn): Adjust.
* decl2.c (build_memfn_type): Handle ref-qualifiers.
(check_classfn): Check them.
(cp_reconstruct_complex_type): Retain them.
* error.c (dump_ref_qualifier): New.
(dump_type_suffix, dump_function_decl): Use it.
(maybe_warn_cpp0x): Handle CPP0X_REF_QUALIFIER.
* pt.c (tsubst, tsubst_function_type): Instantiate ref-quals.
(unify): Retain them.
* tree.c (cp_check_qualified_type): New.
(cp_build_qualified_type_real): Keep exception spec and ref-qual.
(build_ref_qualified_type): New.
(strip_typedefs, build_exception_variant): Keep ref-qualifier.
(cp_build_type_attribute_variant): Keep ref-qualifier.
* typeck.c (merge_types): Keep ref-qualifier.
(structural_comptypes): Compare ref-qualifier.
(type_memfn_rqual): New.
(apply_memfn_quals): Take ref-qual argument.
* typeck2.c (build_m_component_ref): Check ref-qualifier.

Co-Authored-By: Jason Merrill <jason@redhat.com>
From-SVN: r197315

11 years agocp-tree.h (DECL_UNBOUND_CLASS_TEMPLATE_P): Remove.
Paolo Carlini [Mon, 1 Apr 2013 17:33:27 +0000 (17:33 +0000)]
cp-tree.h (DECL_UNBOUND_CLASS_TEMPLATE_P): Remove.

2013-04-01  Paolo Carlini  <paolo.carlini@oracle.com>

* cp-tree.h (DECL_UNBOUND_CLASS_TEMPLATE_P): Remove.
(DECL_FUNCTION_TEMPLATE_P): Adjust.

* cxx-pretty-print.c (pp_cxx_nested_name_specifier,
pp_cxx_qualified_id): Use get_containing_scope.
* parser.c (cp_parser_class_head): Likewise.
* pt.c (push_template_decl_real): Likewise.

* decl2.c (import_export_decl): Use DECL_TEMPLOID_INSTANTIATION.
* pt.c (unify): Use CP_INTEGRAL_TYPE_P.

From-SVN: r197309

11 years agoi386.md (*ashl<mode>3_mask): Rewrite as define_insn.
Wei Mi [Mon, 1 Apr 2013 17:27:46 +0000 (17:27 +0000)]
i386.md (*ashl<mode>3_mask): Rewrite as define_insn.

2013-04-01  Wei Mi  <wmi@google.com>

        * config/i386/i386.md (*ashl<mode>3_mask): Rewrite as define_insn.
        Truncate operand 2 using %b asm operand modifier.
        (*<shift_insn><mode>3_mask): Ditto.
        (*<rotate_insn><mode>3_mask): Ditto.

From-SVN: r197308

11 years agore PR middle-end/56798 (ICE in patch_jump_insn, at cfgrtl.c:1238)
Steven Bosscher [Mon, 1 Apr 2013 15:49:47 +0000 (15:49 +0000)]
re PR middle-end/56798 (ICE in patch_jump_insn, at cfgrtl.c:1238)

PR middle-end/56798
* cfgbuild.c (inside_basic_block_p): Restore check broken at r197234.

From-SVN: r197307

11 years agore PR fortran/56500 ([OOP] "IMPLICIT CLASS(...)" wrongly rejected)
Janus Weil [Mon, 1 Apr 2013 15:11:01 +0000 (17:11 +0200)]
re PR fortran/56500 ([OOP] "IMPLICIT CLASS(...)" wrongly rejected)

2013-04-01  Janus Weil  <janus@gcc.gnu.org>

PR fortran/56500
* symbol.c (gfc_set_default_type): Build class container for
IMPLICIT CLASS.

2013-04-01  Janus Weil  <janus@gcc.gnu.org>

PR fortran/56500
* gfortran.dg/implicit_class_1.f90: New.

From-SVN: r197306

11 years agoDaily bump.
GCC Administrator [Mon, 1 Apr 2013 00:16:46 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r197295

11 years agore PR libfortran/56786 (Namelist read fails with designators containing embedded...
Jerry DeLisle [Sun, 31 Mar 2013 20:37:19 +0000 (20:37 +0000)]
re PR libfortran/56786 (Namelist read fails with designators containing embedded spaces)

2013-03-31  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

PR fortran/56786
* gfortran.dg/namelist_81.f90:  New test.

From-SVN: r197291

11 years agore PR libfortran/56786 (Namelist read fails with designators containing embedded...
Jerry DeLisle [Sun, 31 Mar 2013 20:32:33 +0000 (20:32 +0000)]
re PR libfortran/56786 (Namelist read fails with designators containing embedded spaces)

2013-03-31  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

PR libfortran/56786
* io/list_read.c (nml_parse_qualifier): Remove spurious next_char call
when checking for EOF. Use error return mechanism when EOF detected.
Do not return false unless parse_err_msg and parse_err_msg_size have
been set. Use hit_eof.
(nml_get_obj_data): Likewise use the correct error mechanism.
* io/transfer.c (hit_eof): Do not set AFTER_ENDFILE if in namelist
mode.

From-SVN: r197290

11 years ago* de.po: Update.
Joseph Myers [Sun, 31 Mar 2013 16:09:50 +0000 (17:09 +0100)]
* de.po: Update.

From-SVN: r197287

11 years agosh.md (casesi_worker_1): Use next_active_insn instead of next_real_insn.
Kaz Kojima [Sun, 31 Mar 2013 13:12:31 +0000 (13:12 +0000)]
sh.md (casesi_worker_1): Use next_active_insn instead of next_real_insn.

* config/sh/sh.md (casesi_worker_1): Use next_active_insn instead
of next_real_insn.
(casesi_worker_2, casesi_shift_media, casesi_load_media): Likewise.

From-SVN: r197285

11 years agoallocator.xml: Adjust link to Dr.Dobb's article.q
Gerald Pfeifer [Sun, 31 Mar 2013 12:35:20 +0000 (12:35 +0000)]
allocator.xml: Adjust link to Dr.Dobb's article.q

* doc/xml/manual/allocator.xml: Adjust link to Dr.Dobb's article.q

* doc/xml/manual/appendix_contributing.xml: Adjust link to GNU
Coding Standards.

* doc/xml/manual/debug.xml: Adjust link for ThreadSanitizer.

* doc/xml/manual/debug_mode.xml: Adjust link for SafeSTL.

* doc/xml/manual/documentation_hacking.xml: Adjust Doxygen link.

* doc/xml/manual/messages.xml: Adjust link to Java API specs.

* doc/xml/manual/policy_data_structures: Remove direct link to
IBM Haifa Research Labs.

* doc/xml/manual/policy_data_structures_biblio.xml: Adjust links
for biblio.maverik_lowerbounds and biblio.nelson96stlpq.
Remove direct link to IBM Haifa Research Labs.

* doc/xml/manual/profile_mode.xml: Adjust two links to acm.org
papers.

* doc/xml/manual/shared_ptr.xml: Use canonical address for
www.boost.org.

From-SVN: r197284

11 years agodecl2.c (collect_candidates_for_java_method_aliases): Use DECL_CLASS_SCOPE_P.
Paolo Carlini [Sun, 31 Mar 2013 11:15:46 +0000 (11:15 +0000)]
decl2.c (collect_candidates_for_java_method_aliases): Use DECL_CLASS_SCOPE_P.

2013-03-31  Paolo Carlini  <paolo.carlini@oracle.com>

* decl2.c (collect_candidates_for_java_method_aliases): Use
DECL_CLASS_SCOPE_P.
* name-lookup.c (pushtag_1) Use TYPE_FUNCTION_SCOPE_P.
(pushdecl_maybe_friend_1): Use DECL_DECLARES_FUNCTION_P.
* decl.c (duplicate_decls): Likewise.
* parser.c (cp_parser_template_declaration_after_export): Likewise,
also DECL_DECLARES_TYPE_P.
* pt.c (instantiate_class_template_1): Likewise.
* search.c (lookup_field_1): Use DECL_DECLARES_TYPE_P.
(lookup_field_r): Likewise.
(friend_accessible_p): Use DECL_DECLARES_FUNCTION_P.
(lookup_fnfields_slot_nolazy): Likewise.
* semantics.c (finish_member_declaration): Likewise.
* typeck.c (convert_for_initialization): Use TYPE_REFFN_P.

From-SVN: r197283

11 years ago2013-03-31 Tobias Burnus <burnus@net-b.de>
Tobias Burnus [Sun, 31 Mar 2013 09:52:01 +0000 (11:52 +0200)]
2013-03-31  Tobias Burnus  <burnus@net-b.de>

        * class.c (finalization_scalarizer,
        * finalizer_insert_packed_call,
        generate_finalization_wrapper): Avoid segfault with absent SIZE=
        argment to TRANSFER and use correct result kind for SIZE.
        * intrinsic.c (gfc_isym_id_by_intmod): Also handle ids of
        nonmodules.
        * trans.c (gfc_build_final_call): Handle coarrays.

From-SVN: r197281

11 years agoDaily bump.
GCC Administrator [Sun, 31 Mar 2013 00:16:47 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r197276

11 years agoIn dse.c, remove alias hash tables that are never set.
Lawrence Crowl [Sat, 30 Mar 2013 23:34:22 +0000 (23:34 +0000)]
In dse.c, remove alias hash tables that are never set.

Remove conditions that are then never true.
Remove functions that are then never called.
Remove variables that are then never read.

Index: gcc/ChangeLog

2013-03-29  Lawrence Crowl  <crowl@google.com>

* dse.c (clear_alias_sets): Remove never set.
(disqualified_clear_alias_sets): Remove never set.
(clear_alias_mode_pool): Remove never set.
(dse_step0): Remove condition that is never true.
(canon_address): Remove condition that is never true.
(dse_step7): Remove condition that is never true.
(rest_of_handle_dse): Remove condition that is never true.
(rest_of_handle_dse::did_global): Remove never read from above.
(dse_step2_spill): Remove never called from above.
(dse_step5_spill): Remove never called from above.

From-SVN: r197272

11 years ago* vi.po: Update.
Joseph Myers [Sat, 30 Mar 2013 22:12:28 +0000 (22:12 +0000)]
* vi.po: Update.

From-SVN: r197270

11 years agomd.texi (Standard Names): Update documentation for JUMP_TABLE_DATA changes.
Steven Bosscher [Sat, 30 Mar 2013 14:54:34 +0000 (14:54 +0000)]
md.texi (Standard Names): Update documentation for JUMP_TABLE_DATA changes.

* doc/md.texi (Standard Names) <casesi>: Update documentation for
JUMP_TABLE_DATA changes.
* doc/tm.texi.in (Dispatch Tables) <ASM_OUTPUT_CASE_LABEL>: Likewise.
* doc/rtl.texi (Flags) <INSN_DELETED_P, SCHED_GROUP_P>: Likewise.
(Insns) <jump_table_data>: New entry.
* doc/tm.texi: Regenerate.

From-SVN: r197267

11 years agocfgrtl.c (fixup_reorder_chain): Do not emit barriers to BB_FOOTER.
Steven Bosscher [Sat, 30 Mar 2013 14:26:42 +0000 (14:26 +0000)]
cfgrtl.c (fixup_reorder_chain): Do not emit barriers to BB_FOOTER.

* cfgrtl.c (fixup_reorder_chain): Do not emit barriers to BB_FOOTER.

* postreload-gcse.c (bb_has_well_behaved_predecessors): Correct test
for table jump at the end of a basic block using tablejump_p.
* targhooks.c (default_invalid_within_doloop): Likewise.
* config/rs6000/rs6000.c (TARGET_INVALID_WITHIN_DOLOOP): Remove
target hook implementation that is identical to the default hook.
(rs6000_invalid_within_doloop): Remove.

* bb-reorder.c (fix_crossing_unconditional_branches): Remove set but
unused variable from tablejump_p call.

* rtl.def (JUMP_TABLE_DATA): New RTX_INSN object.
* rtl.h (RTX_PREV, RTX_NEXT): Adjust for new JUMP_TABLE_DATA.
(INSN_DELETED_P): Likewise.
(emit_jump_table_data): New prototype.
* gengtype.c (adjust_field_rtx_def): Handle JUMP_TABLE_DATA fields
after 4th as unused.
* print-rtl.c (print_rtl): Handle JUMP_TABLE_DATA.
* sched-vis.c (print_insn): Likewise.
* emit-rtl.c (active_insn_p): Consider JUMP_TABLE_DATA an active
insn for compatibility with back ends that use next_active_insn to
identify jump table data.
(set_insn_deleted): Remove no longer useful JUMP_TABLE_DATA_P check.
(remove_insn): Likewise.
(emit_insn): Do not accept JUMP_TABLE_DATA objects in insn chains
to be emitted.
(emit_debug_insn, emit_jump_insn, emit_call_insn, emit_label): Idem.
(emit_jump_table_data): New function.

* cfgbuild.c (inside_basic_block_p): A JUMP_INSN is always inside a
basic block, a JUMP_TABLE_DATA never is.
(control_flow_insn_p): JUMP_TABLE_DATA is not a control flow insn.
* cfgrtl.c (duplicate_insn_chain): Split handling of JUMP_TABLE_DATA
off from code handling real insns.
* final.c (get_attr_length_1): Simplify for JUMP_INSNs.
* function.c (instantiate_virtual_regs): Remove JUMP_TABLE_DATA_P
test, now redundant because JUMP_TABLE_DATA is not an INSN_P insn.
* gcse.c (insert_insn_end_basic_block): Likewise, JUMP_TABLE_DATA_P
is not a NONDEBUG_INSN_P.
* ira-costs.c (scan_one_insn): Likewise.
* jump.c (mark_all_labels): Likewise.
(mark_jump_label_1): Likewise.
* lra-eliminations.c (eliminate_regs_in_insn): Likewise.
* lra.c (get_insn_freq): Expect all insns reaching here to be in
a basic block.
(check_rtl): Remove JUMP_TABLE_DATA_P test, not a NONDEBUG_INSN_P insn.
* predict.c (expensive_function_p): Use FOR_BB_INSNS.
* reload1.c (calculate_needs_all_insns): Call set_label_offsets for
JUMP_TABLE_DATA_P insns.
(calculate_elim_costs_all_insns): Likewise.
(set_label_offsets): Recurse on the PATTERN of JUMP_TABLE_DATA insns.
(elimination_costs_in_insn): Remove redundant JUMP_TABLE_DATA_P test.
(delete_output_reload): Code style fixups.
* reorg.c (dbr_schedule): Move JUMP_TABLE_DATA_P up to avoid setting
insn flags on this non-insn.
* sched-rgn.c (add_branch_dependences): Treat JUMP_TABLE_DATA insns
as scheduling barriers, for pre-change compatibility.
* stmt.c (emit_case_dispatch_table): Emit jump table data not as
JUMP_INSN objects but instead as JUMP_TABLE_DATA objects.

* config/alpha/alpha.c (alpha_does_function_need_gp): Remove
redundant JUMP_TABLE_DATA_P test.
* config/arm/arm.c (thumb_far_jump_used_p): Likewise.
* config/frv/frv.c (frv_function_contains_far_jump): Likewise.
(frv_for_each_packet): Likewise.
* config/i386/i386.c (min_insn_size): Likewise.
(ix86_avoid_jump_mispredicts): Likewise.
* config/m32r/m32r.c (m32r_is_insn): Likewise.
* config/mep/mep.c (mep_reorg_erepeat): Likewise.
* config/mips/mips.c (USEFUL_INSN_P): Likewise.
(mips16_insn_length): Robustify.
(mips_has_long_branch_p): Remove redundant JUMP_TABLE_DATA_P test.
(mips16_split_long_branches): Likewise.
* config/pa/pa.c (pa_combine_instructions): Likewise.
* config/rs6000/rs6000.c (get_next_active_insn): Treat
JUMP_TABLE_DATA objects as active insns, like in active_insn_p.
* config/s390/s390.c (s390_chunkify_start): Treat JUMP_TABLE_DATA
as contributing to pool range lengths.
* config/sh/sh.c (find_barrier): Restore check for ADDR_DIFF_VEC.
Remove redundant JUMP_TABLE_DATA_P test.
(sh_loop_align): Likewise.
(split_branches): Likewise.
(sh_insn_length_adjustment): Likewise.
* config/spu/spu.c (get_branch_target): Likewise.

From-SVN: r197266

11 years agoMakefile.def (target_modules): Don't install libffi.
Matthias Klose [Sat, 30 Mar 2013 11:22:02 +0000 (11:22 +0000)]
Makefile.def (target_modules): Don't install libffi.

2013-03-30  Matthias Klose  <doko@ubuntu.com>

        * Makefile.def (target_modules): Don't install libffi.
        * Makefile.in: Regenerate.

From-SVN: r197264

11 years agoChangeLog: Add commit message from rev.
Thomas Koenig [Sat, 30 Mar 2013 10:23:09 +0000 (10:23 +0000)]
ChangeLog: Add commit message from rev.

2013-03-30  Thomas Koenig  <tkoenig@gcc.gnu.org>

* fortran/ChangeLog:  Add commit message from rev. 197261
* testsuite/ChangeLog:  Likewise.

From-SVN: r197262

11 years agotrans-expr.c (build_memcmp_call): New function.
Thomas Koenig [Sat, 30 Mar 2013 10:19:02 +0000 (10:19 +0000)]
trans-expr.c (build_memcmp_call): New function.

2013-03-30  Thomas Koenig  <tkoenig@gcc.gnu.org>

* trans-expr.c (build_memcmp_call):  New function.
(gfc_build_compare_string):  If the strings
compared have constant and equal lengths and
the strings are kind=1, or, for kind=4 strings,
the test is for (in)equality, use memcmp().

2013-03-30  Thomas Koenig  <tkoenig@gcc.gnu.org>

* gfortran.dg/character_comparison_3.f90:  Adjust for use of memcmp
for constant and equal string lengths.
* gfortran.dg/character_comparison_5.f90:  Likewise.
* gfortran.dg/character_comparison_9.f90:  New test.

From-SVN: r197261

11 years agopt.c (template_parms_to_args): Fix typo in comment.
Gabriel Dos Reis [Sat, 30 Mar 2013 02:35:41 +0000 (02:35 +0000)]
pt.c (template_parms_to_args): Fix typo in comment.

* pt.c (template_parms_to_args): Fix typo in comment.

From-SVN: r197259

11 years agoDaily bump.
GCC Administrator [Sat, 30 Mar 2013 00:16:32 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r197257

11 years agocall.c (build_op_call_1): Use TYPE_PTRFN_P and TYPE_REFFN_P.
Paolo Carlini [Fri, 29 Mar 2013 23:12:33 +0000 (23:12 +0000)]
call.c (build_op_call_1): Use TYPE_PTRFN_P and TYPE_REFFN_P.

2013-03-29  Paolo Carlini  <paolo.carlini@oracle.com>

* call.c (build_op_call_1): Use TYPE_PTRFN_P and TYPE_REFFN_P.

From-SVN: r197253

11 years agore PR fortran/35203 (OPTIONAL, VALUE actual argument cannot be an INTEGER 0)
Tobias Burnus [Fri, 29 Mar 2013 22:26:17 +0000 (23:26 +0100)]
re PR fortran/35203 (OPTIONAL, VALUE actual argument cannot be an INTEGER 0)

2013-03-29  Tobias Burnus  <burnus@net-b.de>

        PR fortran/35203
        * trans-decl.c (create_function_arglist): Pass hidden argument
        for passed-by-value optional+value dummies.
        * trans-expr.c (gfc_conv_expr_present,
        gfc_conv_procedure_call): Handle those.

2013-03-29  Tobias Burnus  <burnus@net-b.de>

        PR fortran/35203
        * gfortran.dg/optional_absent_3.f90: New.

From-SVN: r197252

11 years agocall.c (add_builtin_candidate): Use TYPE_PTR_P and VOID_TYPE_P.
Paolo Carlini [Fri, 29 Mar 2013 20:29:26 +0000 (20:29 +0000)]
call.c (add_builtin_candidate): Use TYPE_PTR_P and VOID_TYPE_P.

2013-03-29  Paolo Carlini  <paolo.carlini@oracle.com>

* call.c (add_builtin_candidate): Use TYPE_PTR_P and VOID_TYPE_P.
(build_op_call_1): Likewise.
(build_over_call): Likewise.
(compare_ics): Likewise.
* class.c (build_base_path): Likewise.
(resolve_address_of_overloaded_function): Likewise.
* cp-tree.h: Likewise.
* cvt.c (cp_convert_to_pointer): Likewise.
(convert_to_reference): Likewise.
(ocp_convert): Likewise.
(convert_force): Likewise, tidy.
* cxx-pretty-print.c (pp_cxx_postfix_expression): Likewise.
(pp_cxx_ptr_operator): Likewise.
* decl.c (duplicate_decls): Likewise.
(start_decl): Likewise.
(grok_op_properties): Likewise.
(start_preparsed_function): Likewise.
(store_parm_decls): Likewise.
(finish_function): Likewise.
* decl2.c (delete_sanity): Likewise.
(acceptable_java_type): Likewise.
(grokbitfield): Likewise.
(cp_reconstruct_complex_type): Likewise.
* error.c (dump_type_prefix): Likewise.
(dump_expr): Likewise.
* except.c (push_eh_cleanup): Likewise.
(complete_ptr_ref_or_void_ptr_p): Likewise.
(can_convert_eh): Likewise.
* init.c (build_new_1): Likewise.
(build_delete): Likewise.
(build_vec_delete): Likewise.
* mangle.c (write_type): Likewise.
* parser.c (lookup_literal_operator): Likewise.
* pt.c (convert_nontype_argument_function): Likewise.
(convert_nontype_argument): Likewise.
(tsubst): Likewise.
(unify): Likewise.
(dependent_type_p_r): Likewise.
* rtti.c (build_headof): Likewise.
(build_typeid): Likewise.
(build_dynamic_cast_1): Likewise.
(target_incomplete_p): Likewise.
(typeinfo_in_lib_p): Likewise.
* semantics.c (finish_omp_for): Likewise.
(cxx_eval_call_expression): Likewise.
(maybe_resolve_dummy): Likewise.
* tree.c (build_target_expr): Likewise.
(cp_build_qualified_type_real): Likewise.
* typeck.c (composite_pointer_type_r): Likewise.
(composite_pointer_type): Likewise.
(comp_except_types): Likewise.
(cxx_sizeof_nowarn): Likewise.
(string_conv_p): Likewise.
(cp_build_array_ref): Likewise.
(cp_build_function_call_vec): Likewise, also use TYPE_PTRFN_P.
(pointer_diff): Likewise.
(cp_build_addr_expr_1): Likewise.
(cp_build_unary_op): Likewise.
(build_static_cast_1): Likewise.
(cp_build_c_cast): Likewise.
(comp_ptr_ttypes_real): Likewise.
(ptr_reasonably_similar): Likewise.
(comp_ptr_ttypes_const): Likewise.
(casts_away_constness): Likewise.
(check_literal_operator_args): Likewise.
* typeck2.c (build_x_arrow): Likewise.
(add_exception_specifier): Likewise.

From-SVN: r197249

11 years agocp-tree.h (AUTO_IS_DECLTYPE): New.
Jason Merrill [Fri, 29 Mar 2013 19:51:36 +0000 (15:51 -0400)]
cp-tree.h (AUTO_IS_DECLTYPE): New.

N3582
* cp-tree.h (AUTO_IS_DECLTYPE): New.
* parser.c (cp_parser_decltype): Handle decltype(auto).
(cp_parser_type_id_1): Allow auto without a late-specified
return in C++1y.
(cp_parser_primary_expression): Use the return value of
finish_parenthesized_expr.
(cp_parser_transaction_expression): Likewise.
* semantics.c (force_paren_expr): New.
(finish_parenthesized_expr): Use it.
* call.c (build_conditional_expr_1): Likewise.
* pt.c (do_auto_deduction): Handle decltype(auto).
(tsubst_copy): Handle PAREN_EXPR.
(tsubst_copy_and_build): Likewise.
* error.c (dump_expr): Handle PAREN_EXPR.
* cxx-pretty-print.c (pp_cxx_expression): Likewise.
* mangle.c (write_expression): Ignore PAREN_EXPR.

* parser.c (cp_parser_decltype_expr): Split out...
(cp_parser_decltype): ...from here.

From-SVN: r197248

11 years agoparser.c (cp_parser_decltype_expr): Split out...
Jason Merrill [Fri, 29 Mar 2013 19:51:29 +0000 (15:51 -0400)]
parser.c (cp_parser_decltype_expr): Split out...

* parser.c (cp_parser_decltype_expr): Split out...
(cp_parser_decltype): ...from here.

From-SVN: r197247

11 years agore PR c++/56774 (G++ 4.8 reverses variadic template types during unpacking)
Jason Merrill [Fri, 29 Mar 2013 18:59:09 +0000 (14:59 -0400)]
re PR c++/56774 (G++ 4.8 reverses variadic template types during unpacking)

PR c++/56774
PR c++/35722
* pt.c (unify_pack_expansion): Fix indexing.

From-SVN: r197244

11 years agolto-cgraph.c (output_profile_summary, [...]): Use gcov streaming; stream hot bb thres...
Jan Hubicka [Fri, 29 Mar 2013 18:07:34 +0000 (19:07 +0100)]
lto-cgraph.c (output_profile_summary, [...]): Use gcov streaming; stream hot bb threshold to ltrans.

* lto-cgraph.c (output_profile_summary, input_profile_summary): Use
gcov streaming; stream hot bb threshold to ltrans.
* predict.c (get_hot_bb_threshold): Break out from ....
(maybe_hot_count_p): ... here.
(set_hot_bb_threshold): New function.
* lto-section-in.c (lto_section_name): Add profile.
* profile.h (get_hot_bb_threshold, set_hot_bb_threshold): Declare.
* ipa.c: Include hash-table.h, tree-inline.h, profile.h, lto-streamer.h
and data-streamer.h
(histogram_entry): New structure.
(histogram, histogram_pool): New global vars.
(histogram_hash): New structure.
(histogram_hash::hash): New method.
(histogram_hash::equal): Likewise.
(account_time_size): New function.
(cmp_counts): New function.
(dump_histogram): New function.
(ipa_profile_generate_summary): New function.
(ipa_profile_write_summary): New function.
(ipa_profile_read_summary): New function.
(ipa_profile): Decide on threshold.
(pass_ipa_profile): Add ipa_profile_write_summary and ipa_profile_read_summary.
* Makefile.in (ipa.o): Update dependencies.
* lto-streamer.h (LTO_section_ipa_profile): New section.

From-SVN: r197243

11 years agotree.h (VAR_P): New.
Gabriel Dos Reis [Fri, 29 Mar 2013 16:09:35 +0000 (16:09 +0000)]
tree.h (VAR_P): New.

* tree.h (VAR_P): New.
cp/
* call.c (build_java_interface_fn_ref): Likewise.
(make_temporary_var_for_ref_to_temp): Likewise.
* class.c (check_field_decls): Likewise.
(layout_class_type): Likewise.
(finish_struct_1): Likewise.
(fixed_type_or_null): Likewise.
(get_vtbl_decl_for_binfo): Likewise.
* cp-gimplify.c (omp_var_to_track): Likewise.
(cp_genericize_r): Likewise.
* cp-objcp-common.c (cxx_warn_unused_global_decl): Likewise.
* cp-tree.h (LANG_DECL_HAS_MIN): Likewise.
(DECL_DISCRIMINATOR_P): Likewise.
* decl.c (poplevel): Likewise.
(decls_match): Likewise.
(duplicate_decls): Likewise.
(decl_jump_unsafe): Likewise.
(start_decl): Likewise.
(check_for_uninitialized_const_var): Likewise.
(make_rtl_for_nonlocal_decl): Likewise.
(cp_finish_decl): Likewise.
(expand_static_init): Likewise.
(local_variable_p): Likewise.
(maybe_register_incomplete_var): Likewise.
* decl2.c (grokfield): Likewise.
(comdat_linkage): Likewise.
(determine_visibility): Likewise.
(import_export_decl): Likewise.
(prune_vars_needing_no_initialization): Likewise.
(decl_maybe_constant_var_p): Likewise.
* error.c (dump_simple_decl): Likewise.
(dump_template_decl): Likewise.
(cp_printer): Likewise.
* except.c (build_throw): Likewise.
* init.c (build_vtbl_address): Likewise.
(member_init_ok_or_else): Likewise.
(build_aggr_init): Likewise.
(expand_aggr_init_1): Likewise.
(build_offset_ref): Likewise.
(constant_value_1): Likewise.
* mangle.c (write_mangled_name): Likewise.
(write_prefix): Likewise.
* name-lookup.c (supplement_binding_1): Likewise.
(add_decl_to_level): Likewise.
(pushdecl_maybe_friend_1): Likewise.
(check_for_out_of_scope_variable): Likewise.
(validate_nonmember_using_decl): Likewise.
(lookup_name_innermost_nonclass_level_1): Likewise.
(lookup_arg_dependent_1): Likewise.
* parser.c (cp_parser_lambda_introducer): Likewise.
(cp_parser_template_argument): Likewise.
(cp_parser_single_declaration): Likewise.
* pt.c (convert_nontype_argument): Likewise.
(instantiate_class_template_1): Likewise.
(tsubst_decl): Likewise.
(tsubst_expr): Likewise.
(do_decl_instantiation): Likewise.
(do_type_instantiation): Likewise.
(regenerate_decl_from_template): Likewise.
(always_instantiate_p): Likewise.
(instantiate_decl): Likewise.
(type_dependent_expression_p): Likewise.
(build_non_dependent_expr): Likewise.
* repo.c (repo_emit_p): Likewise.
* rtti.c (build_dynamic_cast_1): Likewise.
* search.c (shared_member_p): Likewise.
* semantics.c (outer_var_p): Likewise.
(finish_id_expression): Likewise.
(finish_omp_clauses): Likewise.
(finish_decltype_type): Likewise.
(ensure_literal_type_for_constexpr_object): Likewise.
* tree.c (lvalue_kind): Likewise.
(bot_replace): Likewise.
(cp_tree_equal): Likewise.
(handle_init_priority_attribute): Likewise.
(decl_storage_duration): Likewise.
* typeck.c (cxx_sizeof_expr): Likewise.
(cxx_alignof_expr): Likewise.
(decay_conversion): Likewise.
(build_class_member_access_expr): Likewise.
(cp_build_array_ref): Likewise.
(cxx_mark_addressable): Likewise.
(maybe_warn_about_returning_address_of_local): Likewise.
(check_return_expr): Likewise.
* typeck2.c (cxx_readonly_error): Likewise.
(abstract_virtuals_error_sfinae): Likewise.
(cxx_incomplete_type_diagnostic): Likewise.

From-SVN: r197240

11 years agore PR lto/56777 (bad grammar in fwhole-program documentation)
Paolo Carlini [Fri, 29 Mar 2013 13:41:14 +0000 (13:41 +0000)]
re PR lto/56777 (bad grammar in fwhole-program documentation)

2013-03-29  Paolo Carlini  <paolo.carlini@oracle.com>

PR lto/56777
* doc/invoke.texi ([-fwhole-program]): Fix typo.

From-SVN: r197237

11 years agocfgbuild.c (inside_basic_block_p): Use JUMP_TABLE_DATA_P in lieu of tests for JUMP_P...
Steven Bosscher [Fri, 29 Mar 2013 12:11:10 +0000 (12:11 +0000)]
cfgbuild.c (inside_basic_block_p): Use JUMP_TABLE_DATA_P in lieu of tests for JUMP_P and a ADDR_DIFF_VEC or...

* cfgbuild.c (inside_basic_block_p): Use JUMP_TABLE_DATA_P in lieu
of tests for JUMP_P and a ADDR_DIFF_VEC or ADDR_VEC pattern.
(control_flow_insn_p): Likewise.
* cfgrtl.c (duplicate_insn_chain): Likewise.
* final.c (get_attr_length_1): Likewise.
(shorten_branches): Likewise.
(final_scan_insn): Likewise.
* function.c (instantiate_virtual_regs): Likewise.
* gcse.c (insert_insn_end_basic_block): Likewise.
* ira-costs.c (scan_one_insn): Likewise.
* lra-eliminations.c (eliminate_regs_in_insn): Likewise.
* lra.c (check_rtl): Likewise.
* reload1.c (elimination_costs_in_insn): Likewise.
* reorg.c (follow_jumps): Likewise.

* config/arm/arm.c (is_jump_table): Use JUMP_TABLE_DATA_P in lieu
of tests for JUMP_P and a ADDR_DIFF_VEC or ADDR_VEC pattern.
(thumb_far_jump_used_p): Likewise.
* config/bfin/bfin.c (workaround_rts_anomaly): Likewise.
(workaround_speculation): Likewise.
(add_sched_insns_for_speculation): Likewise.
* config/c6x/c6x.c (reorg_emit_nops): Likewise.
* config/frv/frv.c (frv_function_contains_far_jump): Likewise.
(frv_for_each_packet): Likewise.
* config/i386/i386.c (ix86_avoid_jump_mispredicts): Likewise.
* config/ia64/ia64.c (emit_all_insn_group_barriers): Likewise.
(final_emit_insn_group_barriers): Likewise.
* config/m32r/m32r.c (m32r_is_insn): Likewise.
* config/mips/mips.c (USEFUL_INSN_P): Likewise.
(mips16_insn_length): Likewise.
* config/pa/pa.c (pa_reorg): Likewise.
(pa_combine_instructions): Likewise.
* config/rs6000/rs6000.c (rs6000_invalid_within_doloop): Likewise.
* config/sh/sh.c (fixup_addr_diff_vecs): Likewise.
(sh_reorg): Likewise.
(split_branches): Likewise.
* config/spu/spu.c (get_branch_target): Likewise.

* config/s390/s390.c (s390_chunkify_start): Simplify logic using
JUMP_TABLE_DATA_P.

From-SVN: r197234

11 years agoavx2intrin.h (_mm256_broadcastsi128_si256): Fix declaration name.
Kirill Yukhin [Fri, 29 Mar 2013 10:39:12 +0000 (10:39 +0000)]
avx2intrin.h (_mm256_broadcastsi128_si256): Fix declaration name.

ChangeLog:
* gcc/config/i386/avx2intrin.h (_mm256_broadcastsi128_si256):
Fix declaration name.

testsuite/ChangeLog:
* gcc.target/i386/avx2-vbroadcastsi128-1.c: Fix intrinsic name.
* gcc.target/i386/avx2-vbroadcastsi128-1.c: Ditto.

From-SVN: r197231

11 years agore PR libfortran/56737 (Wrong I/O result with format cache for Hollerith strings)
Tobias Burnus [Fri, 29 Mar 2013 09:39:47 +0000 (10:39 +0100)]
re PR libfortran/56737 (Wrong I/O result with format cache for Hollerith strings)

2012-03-29  Tobias Burnus  <burnus@net-b.de>

        PR fortran/56737
        * io/format.c (parse_format_list): Also cache FMT_STRING.
        (parse_format): Update call.

From-SVN: r197230

11 years agore PR libfortran/56737 (Wrong I/O result with format cache for Hollerith strings)
Tobias Burnus [Fri, 29 Mar 2013 09:37:37 +0000 (10:37 +0100)]
re PR libfortran/56737 (Wrong I/O result with format cache for Hollerith strings)

2013-03-29  Tobias Burnus  <burnus@net-b.de>

        PR fortran/56737
        * io/format.c (parse_format): With caching, copy
        dtp->format string.
        (save_parsed_format): Use dtp->format directy without
        copying.

2013-03-29  Tobias Burnus  <burnus@net-b.de>

        PR fortran/56737
        * testsuite/gfortran.dg/fmt_cache_3.f90: New.

(Plus: Move fortran/ChangeLog item to libgfortran/ChangeLog)

From-SVN: r197229

11 years agore PR fortran/56735 (Namelist Read Error with question marks)
Tobias Burnus [Fri, 29 Mar 2013 09:32:57 +0000 (10:32 +0100)]
re PR fortran/56735 (Namelist Read Error with question marks)

2013-03-29  Tobias Burnus  <burnus@net-b.de>

        PR fortran/56735
        * io/list_read.c (nml_query): Only abort when
        an error occured.
        (namelist_read): Add goto instead of falling through.

2013-03-29  Tobias Burnus  <burnus@net-b.de>

        PR fortran/56735
        * gfortran.dg/namelist_80.f90: New.

From-SVN: r197228

11 years agoRemove various unused items.
Lawrence Crowl [Fri, 29 Mar 2013 07:09:33 +0000 (07:09 +0000)]
Remove various unused items.

2013-03-28  Lawrence Crowl  <crowl@google.com>

Index: gcc/ChangeLog

* graphds.h (struct graph.indicies): Remove unused.
* graphite-poly.h (struct graph.original_pddrs): Remove unused.
(SCOP_ORIGINAL_PDDRS): Remove unused.
* sese.h (extern insert_loop_close_phis): Removed unused.
(extern insert_guard_phis): Removed unused.
(extern ivtype_map_elt_info): Removed unused.
(new_ivtype_map_elt): Removed unused.
* sese.c (ivtype_map_elt_info): Removed unused.

From-SVN: r197226

11 years agoAdd uniform debug dump function names.
Lawrence Crowl [Fri, 29 Mar 2013 03:42:21 +0000 (03:42 +0000)]
Add uniform debug dump function names.

Add some overloaded functions that provide uniform debug dump
function names.  These names are:

  debug: the general debug dumper
  debug_verbose: for more details
  debug_raw: for the gory details
  debug_head: for the heads of declarations, e.g. function heads
  debug_body: for the bodies of declarations, e.g. function bodies

Not all types have the last four versions.

The debug functions come in two flavors, those that take pointers
to the type, and those that take references to the type.  The first
handles printing of '<nil>' for null pointers.  The second assumes
a valid reference, and prints the content.

Example uses are as follows:

  cp_token t, *p;
  debug (t);
  debug (p);

From the debugger, use

  call debug (t)

The functions sets implemented are:

debug (only)

    basic_block_def, const bitmap_head_def, cp_binding_level,
    cp_parser, cp_token, data_reference, die_struct, edge_def,
    gimple_statement_d, ira_allocno, ira_allocno_copy, live_range,
    lra_live_range, omega_pb_d, pt_solution, const rtx_def, sreal,
    tree_live_info_d, _var_map,

    vec<cp_token, va_gc>, vec<data_reference_p>, vec<ddr_p>,
    vec<rtx>, vec<tree, va_gc>,

debug and debug_raw

    simple_bitmap_def

debug and debug_verbose

    expr_def, struct loop, vinsn_def

debug, debug_raw, debug_verbose, debug_head, debug_body

    const tree_node

This patch is somewhat different from the original plan at
gcc.gnu.org/wiki/cxx-conversion/debugging-dumps.  The reason
is that gdb has an incomplete implementation of C++ call syntax;
requiring explicit specification of template arguments and explicit
specification of function arguments even when they have default
values.  So, the original plan would have required typing

  call dump <cp_token> (t, 0, 0, stderr)

which is undesireable.  Instead instead of templates, we overload
plain functions.  This adds a small burden of manually adding
the pointer version of dump for each type.  Instead of default
function arguments, we simply assume the default values.  Most of
the underlying dump functions did not use the options and indent
parameters anyway.  Several provide FILE* parameters, but we expect
debugging to use stderr anyway.  So, the explicit specification of
arguments was not as valuable as we thought initially.  Finally,
a change of name from dump to debug reflect the implicit output
to stderr.

Index: gcc/ChangeLog

2013-03-28  Lawrence Crowl  <crowl@google.com>

* Makefile.in: Add several missing include dependences.
(DUMPFILE_H): New.
(test-dump.o): New.  This object is not added to any executable,
but is present for ad-hoc testing.
* bitmap.c
(debug (const bitmap_head_def &)): New.
(debug (const bitmap_head_def *)): New.
* bitmap.h
(extern debug (const bitmap_head_def &)): New.
(extern debug (const bitmap_head_def *)): New.
* cfg.c
(debug (edge_def &)): New.
(debug (edge_def *)): New.
* cfghooks.c
(debug (basic_block_def &)): New.
(debug (basic_block_def *)): New.
* dumpfile.h
(dump_node (const_tree, int, FILE *)): Correct source file.
* dwarf2out.c
(debug (die_struct &)): New.
(debug (die_struct *)): New.
* dwarf2out.h
(extern debug (die_struct &)): New.
(extern debug (die_struct *)): New.
* gimple-pretty-print.c
(debug (gimple_statement_d &)): New.
(debug (gimple_statement_d *)): New.
* gimple-pretty-print.h
(extern debug (gimple_statement_d &)): New.
(extern debug (gimple_statement_d *)): New.
* ira-build.c
(debug (ira_allocno_copy &)): New.
(debug (ira_allocno_copy *)): New.
(debug (ira_allocno &)): New.
(debug (ira_allocno *)): New.
* ira-int.h
(extern debug (ira_allocno_copy &)): New.
(extern debug (ira_allocno_copy *)): New.
(extern debug (ira_allocno &)): New.
(extern debug (ira_allocno *)): New.
* ira-lives.c
(debug (live_range &)): New.
(debug (live_range *)): New.
* lra-int.h
(debug (lra_live_range &)): New.
(debug (lra_live_range *)): New.
* lra-lives.c
(debug (lra_live_range &)): New.
(debug (lra_live_range *)): New.
* omega.c
(debug (omega_pb_d &)): New.
(debug (omega_pb_d *)): New.
* omega.h
(extern debug (omega_pb_d &)): New.
(extern debug (omega_pb_d *)): New.
* print-rtl.c
(debug (const rtx_def &)): New.
(debug (const rtx_def *)): New.
* print-tree.c
(debug_tree (tree): Move within file.
(debug_raw (const tree_node &)): New.
(debug_raw (const tree_node *)): New.
(dump_tree_via_hooks (const tree_node *, int)): New.
(debug (const tree_node &)): New.
(debug (const tree_node *)): New.
(debug_verbose (const tree_node &)): New.
(debug_verbose (const tree_node *)): New.
(debug_head (const tree_node &)): New.
(debug_head (const tree_node *)): New.
(debug_body (const tree_node &)): New.
(debug_body (const tree_node *)): New.
(debug_vec_tree (tree): Move and reimplement in terms of dump.
(debug (vec<tree, va_gc> &)): New.
(debug (vec<tree, va_gc> *)): New.
* rtl.h
(extern debug (const rtx_def &)): New.
(extern debug (const rtx_def *)): New.
* sbitmap.c
(debug_raw (simple_bitmap_def &)): New.
(debug_raw (simple_bitmap_def *)): New.
(debug (simple_bitmap_def &)): New.
(debug (simple_bitmap_def *)): New.
* sbitmap.h
(extern debug (simple_bitmap_def &)): New.
(extern debug (simple_bitmap_def *)): New.
(extern debug_raw (simple_bitmap_def &)): New.
(extern debug_raw (simple_bitmap_def *)): New.
* sel-sched-dump.c
(debug (vinsn_def &)): New.
(debug (vinsn_def *)): New.
(debug_verbose (vinsn_def &)): New.
(debug_verbose (vinsn_def *)): New.
(debug (expr_def &)): New.
(debug (expr_def *)): New.
(debug_verbose (expr_def &)): New.
(debug_verbose (expr_def *)): New.
(debug (vec<rtx> &)): New.
(debug (vec<rtx> *)): New.
* sel-sched-dump.h
(extern debug (vinsn_def &)): New.
(extern debug (vinsn_def *)): New.
(extern debug_verbose (vinsn_def &)): New.
(extern debug_verbose (vinsn_def *)): New.
(extern debug (expr_def &)): New.
(extern debug (expr_def *)): New.
(extern debug_verbose (expr_def &)): New.
(extern debug_verbose (expr_def *)): New.
(extern debug (vec<rtx> &)): New.
(extern debug (vec<rtx> *)): New.
* sel-sched-ir.h
(_list_iter_cond_expr): Make inline instead of static.
* sreal.c
(debug (sreal &)): New.
(debug (sreal *)): New.
* sreal.h
(extern debug (sreal &)): New.
(extern debug (sreal *)): New.
* tree.h
(extern debug_raw (const tree_node &)): New.
(extern debug_raw (const tree_node *)): New.
(extern debug (const tree_node &)): New.
(extern debug (const tree_node *)): New.
(extern debug_verbose (const tree_node &)): New.
(extern debug_verbose (const tree_node *)): New.
(extern debug_head (const tree_node &)): New.
(extern debug_head (const tree_node *)): New.
(extern debug_body (const tree_node &)): New.
(extern debug_body (const tree_node *)): New.
(extern debug (vec<tree, va_gc> &)): New.
(extern debug (vec<tree, va_gc> *)): New.
* tree-cfg.c
(debug (struct loop &)): New.
(debug (struct loop *)): New.
(debug_verbose (struct loop &)): New.
(debug_verbose (struct loop *)): New.
* tree-dump.c: Add header dependence.
* tree-flow.h
(extern debug (struct loop &)): New.
(extern debug (struct loop *)): New.
(extern debug_verbose (struct loop &)): New.
(extern debug_verbose (struct loop *)): New.
* tree-data-ref.c
(debug (data_reference &)): New.
(debug (data_reference *)): New.
(debug (vec<data_reference_p> &)): New.
(debug (vec<data_reference_p> *)): New.
(debug (vec<ddr_p> &)): New.
(debug (vec<ddr_p> *)): New.
* tree-data-ref.h
(extern debug (data_reference &)): New.
(extern debug (data_reference *)): New.
(extern debug (vec<data_reference_p> &)): New.
(extern debug (vec<data_reference_p> *)): New.
(extern debug (vec<ddr_p> &)): New.
(extern debug (vec<ddr_p> *)): New.
* tree-ssa-alias.c
(debug (pt_solution &)): New.
(debug (pt_solution *)): New.
* tree-ssa-alias.h
(extern debug (pt_solution &)): New.
(extern debug (pt_solution *)): New.
* tree-ssa-alias.c
(debug (_var_map &)): New.
(debug (_var_map *)): New.
(debug (tree_live_info_d &)): New.
(debug (tree_live_info_d *)): New.
* tree-ssa-alias.h
(extern debug (_var_map &)): New.
(extern debug (_var_map *)): New.
(extern debug (tree_live_info_d &)): New.
(extern debug (tree_live_info_d *)): New.

Index: gcc/cp/ChangeLog

2013-03-28  Lawrence Crowl  <crowl@google.com>

* Make-lang.in
(CXX_PARSER_H): Add header dependence.
* cp-tree.h
(extern debug (cp_binding_level &)): New.
(extern debug (cp_binding_level *)): New.
* name-lookup.h
(debug (cp_binding_level &)): New.
(debug (cp_binding_level *)): New.
* parser.c
(debug (cp_parser &)): New.
(debug (cp_parser *)): New.
(debug (cp_token &)): New.
(debug (cp_token *)): New.
(debug (vec<cp_token, va_gc> &)): New.
(debug (vec<cp_token, va_gc> *)): New.
* parser.c: Add header dependence.
(extern debug (cp_parser &)): New.
(extern debug (cp_parser *)): New.
(extern debug (cp_token &)): New.
(extern debug (cp_token *)): New.
(extern debug (vec<cp_token, va_gc> &)): New.
(extern debug (vec<cp_token, va_gc> *)): New.

From-SVN: r197224

11 years agoDaily bump.
GCC Administrator [Fri, 29 Mar 2013 00:16:45 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r197223

11 years ago* lto-cgraph.c (merge_profile_summaries): Fix overflows.
Jan Hubicka [Thu, 28 Mar 2013 23:31:58 +0000 (00:31 +0100)]
* lto-cgraph.c (merge_profile_summaries): Fix overflows.

From-SVN: r197218

11 years agore PR fortran/45159 (Unnecessary temporaries)
Thomas Koenig [Thu, 28 Mar 2013 21:30:26 +0000 (21:30 +0000)]
re PR fortran/45159 (Unnecessary temporaries)

2013-03-28  Thomas Koenig  <tkoenig@gcc.gnu.org>

PR fortran/45159
* gfortran.h (gfc_dep_difference):  Add prototype.
* dependency.c (discard_nops):  New function.
(gfc_dep_difference):  New function.
(check_section_vs_section):  Use gfc_dep_difference
to calculate the difference of starting indices.
* trans-expr.c (gfc_conv_substring):  Use
gfc_dep_difference to calculate the length of
substrings where possible.

2013-03-28  Thomas Koenig  <tkoenig@gcc.gnu.org>

PR fortran/45159
* gfortran.dg/string_length_2.f90:  New test.
* gfortran.dg/dependency_41.f90:  New test.

From-SVN: r197217

11 years agore PR fortran/55806 (Missed optimization with ANY or ALL)
Thomas Koenig [Thu, 28 Mar 2013 21:02:00 +0000 (21:02 +0000)]
re PR fortran/55806 (Missed optimization with ANY or ALL)

2013-03-28  Thomas Koenig  <tkoenig@gcc.gnu.org>

PR fortran/55806
* frontend-passes.c (optimize_code):  Keep track of
current code to make code insertion possible.
(combine_array_constructor):  New function.
(optimize_op):  Call it.

2013-03-28  Thomas Koenig  <tkoenig@gcc.gnu.org>

PR fortran/55806
* gfortran.dg/array_constructor_43.f90:  New test.
* gfortran.dg/random_seed_3.f90:  New test.

From-SVN: r197216

11 years ago[AArch64] Only maintain frame record when required or desired
Ian Bolton [Thu, 28 Mar 2013 20:33:15 +0000 (20:33 +0000)]
[AArch64] Only maintain frame record when required or desired

From-SVN: r197215

11 years agore PR c++/17232 ([DR 1640] classes and class template specializations treated differe...
Jason Merrill [Thu, 28 Mar 2013 18:21:06 +0000 (14:21 -0400)]
re PR c++/17232 ([DR 1640] classes and class template specializations treated differently w.r.t. core issue #337)

PR c++/17232
PR c++/52748
* typeck2.c (abstract_virtuals_error_sfinae): Don't complete
the type if tf_decltype is set.
* pt.c (fn_type_unification): Add decltype_p parm.
(get_bindings): Adjust.
* cp-tree.h: Adjust.
* class.c (resolve_address_of_overloaded_function): Adjust.
* call.c (add_template_candidate_real, print_z_candidate): Adjust.

From-SVN: r197214

11 years agore PR c++/56679 ([C++11] Cannot take sizeof... a template template parameter pack)
Jason Merrill [Thu, 28 Mar 2013 18:20:58 +0000 (14:20 -0400)]
re PR c++/56679 ([C++11] Cannot take sizeof... a template template parameter pack)

PR c++/56679
* parser.c (cp_parser_sizeof_pack): Split out from...
(cp_parser_sizeof_operand): ...here.  Require (id).

From-SVN: r197213

11 years agore PR c++/56701 ([C++11] The *this* pointer fails to bind to rvalue reference to...
Jason Merrill [Thu, 28 Mar 2013 18:20:51 +0000 (14:20 -0400)]
re PR c++/56701 ([C++11] The *this* pointer fails to bind to rvalue reference to pointer type)

PR c++/56701
* semantics.c (finish_this_expr): 'this' is an rvalue.
* typeck.c (cp_build_indirect_ref): Handle NOP_EXPR of 'this'.

From-SVN: r197212

11 years agore PR c++/56710 (Using reserved double underscore variable name in a lambda causes...
Jason Merrill [Thu, 28 Mar 2013 18:20:45 +0000 (14:20 -0400)]
re PR c++/56710 (Using reserved double underscore variable name in a lambda causes internal compiler error)

PR c++/56710
* semantics.c (finish_member_declaration): Don't push closure
members.

From-SVN: r197211

11 years agoname-lookup.c (pushdecl_maybe_friend_1): Use nonlambda_method_basetype and current_no...
Jason Merrill [Thu, 28 Mar 2013 18:20:37 +0000 (14:20 -0400)]
name-lookup.c (pushdecl_maybe_friend_1): Use nonlambda_method_basetype and current_nonlambda_class_type.

* name-lookup.c (pushdecl_maybe_friend_1): Use
nonlambda_method_basetype and current_nonlambda_class_type.

From-SVN: r197210