GCC Administrator [Thu, 4 Apr 2013 00:16:40 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r197464
Jason Merrill [Thu, 4 Apr 2013 00:14:00 +0000 (20:14 -0400)]
cp-demangle.c (cplus_demangle_type): Fix function quals.
libiberty/
* cp-demangle.c (cplus_demangle_type): Fix function quals.
(d_pointer_to_member_type): Simplify.
gcc/cp/
* mangle.c (write_type): When writing a function type with
function-cv-quals, don't add the unqualified type as a
substitution candidate.
From-SVN: r197460
Paolo Carlini [Wed, 3 Apr 2013 21:08:44 +0000 (21:08 +0000)]
c-common.c (pointer_int_sum): Remove dead code.
2013-04-03 Paolo Carlini <paolo.carlini@oracle.com>
* c-common.c (pointer_int_sum): Remove dead code.
From-SVN: r197458
Teresa Johnson [Wed, 3 Apr 2013 20:51:28 +0000 (20:51 +0000)]
This patch enables the gcov-dump tool to optionally compute and dump the working set information from the counter histogram...
This patch enables the gcov-dump tool to optionally compute and dump
the working set information from the counter histogram, via a new -w option.
This is useful to help understand and tune how the compiler will use
the counter histogram, since it first computes the working set and selects
thresholds based on that.
This required moving the bulk of the compute_working_sets functionality
into gcov-io.c so that it was accessible by gcov-dump.c.
2013-04-03 Teresa Johnson <tejohnson@google.com>
* gcov-io.c (compute_working_sets): Moved most of body of old
compute_working_sets here from profile.c.
* gcov-io.h (NUM_GCOV_WORKING_SETS): Moved here from profile.c.
(gcov_working_set_t): Moved typedef here from basic-block.h
(compute_working_set): Declare.
* profile.c (NUM_GCOV_WORKING_SETS): Moved to gcov-io.h.
(get_working_sets): Renamed from compute_working_set,
replace most of body with call to new compute_working_sets.
(get_exec_counts): Replace call to compute_working_sets
to get_working_sets.
* profile.h (get_working_sets): Renamed from
compute_working_set.
* lto-cgraph.c (input_symtab): Replace call to compute_working_sets
to get_working_sets.
* basic-block.h (gcov_working_set_t): Moved to gcov-io.h.
* gcov-dump.c (dump_working_sets): New function.
From-SVN: r197457
Kenneth Zadeck [Wed, 3 Apr 2013 20:24:07 +0000 (20:24 +0000)]
hwint.c (sext_hwi, zext_hwi): New functions.
2013-04-03 Kenneth Zadeck <zadeck@naturalbridge.com>
* hwint.c (sext_hwi, zext_hwi): New functions.
* hwint.h (HOST_BITS_PER_HALF_WIDE_INT, HOST_HALF_WIDE_INT,
HOST_HALF_WIDE_INT_PRINT, HOST_HALF_WIDE_INT_PRINT_C,
HOST_HALF_WIDE_INT_PRINT_DEC, HOST_HALF_WIDE_INT_PRINT_DEC_C,
HOST_HALF_WIDE_INT_PRINT_UNSIGNED, HOST_HALF_WIDE_INT_PRINT_HEX,
HOST_HALF_WIDE_INT_PRINT_HEX_PURE): New symbols.
(sext_hwi, zext_hwi): New functions.
From-SVN: r197456
Jeff Law [Wed, 3 Apr 2013 19:18:09 +0000 (13:18 -0600)]
re PR tree-optimization/56799 (Runfail after r197060+r197082.)
PR tree-optimization/56799
* tree-ssa-dom.c (record_equivalences_from_incoming_edge): Bring
back test for widening conversion erroneously dropped in prior
change.
PR tree-optimization/56799
* gcc.c-torture/execute/pr56799.c: New test.
From-SVN: r197453
Jason Merrill [Wed, 3 Apr 2013 17:24:12 +0000 (13:24 -0400)]
Demangle C++11 ref-qualifier.
include/
* demangle.h (enum demangle_component_type): Add
DEMANGLE_COMPONENT_REFERENCE_THIS,
DEMANGLE_COMPONENT_RVALUE_REFERENCE_THIS.
libiberty/
* cp-demangle.c (d_ref_qualifier): New.
(d_nested_name, d_function_type): Use it.
(d_parmlist): Don't get confused by a ref-qualifier.
(cplus_demangle_type): Reorder ref-qualifier.
(d_pointer_to_member_type): Likewise.
(d_dump): Handle DEMANGLE_COMPONENT_REFERENCE_THIS and
DEMANGLE_COMPONENT_RVALUE_REFERENCE_THIS.
(d_make_comp, has_return_type, d_encoding): Likewise.
(d_print_comp, d_print_mod_list, d_print_mod): Likewise.
(d_print_function_type, is_ctor_or_dtor): Likewise.
From-SVN: r197436
Kyrylo Tkachov [Wed, 3 Apr 2013 16:38:24 +0000 (16:38 +0000)]
re PR target/56809 (Revision 197266 causes trunk ICE for arm-none-eabi targets)
2013-04-03 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
PR target/56809
* config/aarch64/aarch64.c (is_jump_table): Use next_active_insn
instead of next_real_insn.
From-SVN: r197434
Paolo Carlini [Wed, 3 Apr 2013 16:20:51 +0000 (16:20 +0000)]
re PR c++/56815 (void pointer arithmetic)
/cp
2013-04-03 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/56815
* typeck.c (cp_build_unary_op): Change -Wpointer-arith permerror to
pedwarn.
/testsuite
2013-04-03 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/56815
* g++.dg/warn/Wpointer-arith-1.C: New.
* g++.dg/gomp/for-19.C: Adjust.
From-SVN: r197433
Marek Polacek [Wed, 3 Apr 2013 16:01:38 +0000 (16:01 +0000)]
re PR sanitizer/55702 (ICE: in instrument_func_exit, at tsan.c:684 with -fsanitize=thread and __builtin_return())
PR sanitizer/55702
* tsan.c (instrument_func_exit): Allow BUILT_IN_RETURN
functions.
* gcc.dg/pr55702.c: New test.
From-SVN: r197430
Kyrylo Tkachov [Wed, 3 Apr 2013 15:37:31 +0000 (15:37 +0000)]
re PR target/56809 (Revision 197266 causes trunk ICE for arm-none-eabi targets)
gcc/
2013-04-03 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
PR target/56809
* config/arm/arm.c (is_jump_table): Use next_active_insn instead of
next_real_insn.
(thumb1_output_casesi): Likewise.
(thumb2_output_casesi): Likewise.
gcc/testsuite
2013-04-03 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
PR target/56809
* gcc.dg/pr56809.c: New testcase.
From-SVN: r197425
Jakub Jelinek [Wed, 3 Apr 2013 15:24:13 +0000 (17:24 +0200)]
re PR c++/56819 (ICE: SIGSEGV in int_cst_value (tree.h:4013) with -fcompare-debug)
PR debug/56819
* tree.c (strip_typedefs): Copy NON_DEFAULT_TEMPLATE_ARGS_COUNT
from args to new_args.
(strip_typedefs_expr): Copy NON_DEFAULT_TEMPLATE_ARGS_COUNT from t to
r instead of doing {S,G}ET_NON_DEFAULT_TEMPLATE_ARGS_COUNT.
* g++.dg/debug/pr56819.C: New test.
From-SVN: r197420
Sebastian Huber [Wed, 3 Apr 2013 15:11:54 +0000 (15:11 +0000)]
re PR target/56771 (Integer Overflow? Building arm-rtems libgcc2)
2013-04-03 Sebastian Huber <sebastian.huber@embedded-brains.de>
PR target/56771
* configure.ac: Require 64-bit int for arm*-*-rtems*.
* configure: Regenerate.
From-SVN: r197417
Paolo Carlini [Wed, 3 Apr 2013 15:07:12 +0000 (15:07 +0000)]
re PR libstdc++/56834 (Errors in <array> with --enable-symvers=gnu-versioned-namespace and -D_GLIBCXX_DEBUG)
2013-04-03 Paolo Carlini <paolo.carlini@oracle.com>
PR libstdc++/56834
* include/debug/array (tuple_size, tuple_element): Do not declare.
* include/profile/array: Likewise.
* testsuite/23_containers/array/tuple_interface/
tuple_element_debug_neg.cc: Adjust dg-error line number.
From-SVN: r197415
Nick Clifton [Wed, 3 Apr 2013 14:06:38 +0000 (14:06 +0000)]
v850e3v5.md (fmasf4): Use fmaf.s on E3V5 architectures.
* config/v850/v850e3v5.md (fmasf4): Use fmaf.s on E3V5
architectures.
(fmssf4): Use fmsf.s on E3V5 architectures.
(fnmasf4): Use fnmaf.s on E3V5 architectures.
(fnmssf4): Use fnmsf.s on E3V5 architectures.
From-SVN: r197413
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
GCC Administrator [Wed, 3 Apr 2013 00:16:21 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r197384
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
Joseph Myers [Tue, 2 Apr 2013 22:47:43 +0000 (23:47 +0100)]
* de.po: Update.
From-SVN: r197377
Jason Merrill [Tue, 2 Apr 2013 21:09:52 +0000 (17:09 -0400)]
* gdbinit.in (pbb): Use debug fn.
From-SVN: r197376
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Tom de Vries [Tue, 2 Apr 2013 09:32:43 +0000 (09:32 +0000)]
Fix whitespace in MAINTAINERS.
From-SVN: r197343
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
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
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
GCC Administrator [Tue, 2 Apr 2013 00:16:33 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r197338
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
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
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
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
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
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
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
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
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
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
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
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
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
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
GCC Administrator [Mon, 1 Apr 2013 00:16:46 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r197295
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
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
Joseph Myers [Sun, 31 Mar 2013 16:09:50 +0000 (17:09 +0100)]
* de.po: Update.
From-SVN: r197287
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
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
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
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
GCC Administrator [Sun, 31 Mar 2013 00:16:47 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r197276
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
Joseph Myers [Sat, 30 Mar 2013 22:12:28 +0000 (22:12 +0000)]
* vi.po: Update.
From-SVN: r197270
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
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
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
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
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
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
GCC Administrator [Sat, 30 Mar 2013 00:16:32 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r197257
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
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
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
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
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
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
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
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
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
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
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