]> git.ipfire.org Git - thirdparty/gcc.git/log
thirdparty/gcc.git
10 years ago1.cc: Simplify test.
François Dumont [Fri, 6 Jun 2014 20:18:24 +0000 (20:18 +0000)] 
1.cc: Simplify test.

2014-06-06  François Dumont  <fdumont@gcc.gnu.org>

* testsuite/23_containers/map/operators/1.cc: Simplify test.

From-SVN: r211324

10 years agoio.c (resolve_tag): Warn on non-default kind for NUMBER...
Francois-Xavier Coudert [Fri, 6 Jun 2014 19:57:51 +0000 (19:57 +0000)] 
io.c (resolve_tag): Warn on non-default kind for NUMBER...

* io.c (resolve_tag): Warn on non-default kind for NUMBER,
NEXTREC, RECL, NAMED, OPENED and PENDING I/O specifiers.

* gfortran.dg/io_constraints_11.f90: New file.
* gfortran.dg/io_constraints_12.f90: New file.
* gfortran.dg/io_constraints_13.f90: New file.

From-SVN: r211323

10 years agore PR target/61423 (Incorrect conversion from unsigned int to floating point)
Uros Bizjak [Fri, 6 Jun 2014 17:45:10 +0000 (19:45 +0200)] 
re PR target/61423 (Incorrect conversion from unsigned int to floating point)

PR target/61423
* config/i386/i386.md (*floatunssi<mode>2_i387_with_xmm): New
define_insn_and_split pattern, merged from *floatunssi<mode>2_1
and corresponding splitters.  Zero extend general register
or memory input operand to XMM temporary.  Enable for
TARGET_SSE2 and TARGET_INTER_UNIT_MOVES_TO_VEC only.
(floatunssi<mode>2): Update expander predicate.

testsuite/ChangeLog:

PR target/61423
* gcc.target/i386/pr61423.c: New test.

From-SVN: r211321

10 years agore PR rtl-optimization/61325 (aarch64_be build fails)
Vladimir Makarov [Fri, 6 Jun 2014 17:22:34 +0000 (17:22 +0000)] 
re PR rtl-optimization/61325 (aarch64_be build fails)

2014-06-06  Vladimir Makarov  <vmakarov@redhat.com>

PR rtl-optimization/61325
* lra-constraints.c (process_address_1): Check scale equal to one
to prevent transformation: base + scale * index => base + new_reg.

From-SVN: r211320

10 years agore PR c++/60184 (g++ does not allow static members of named unions)
Paolo Carlini [Fri, 6 Jun 2014 16:01:37 +0000 (16:01 +0000)] 
re PR c++/60184 (g++ does not allow static members of named unions)

/cp
2014-06-06  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/60184
* class.c (check_field_decls): In C++11 mode do not reject
static data members and reference-type members in unions.

/testsuite
2014-06-06  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/60184
* g++.dg/cpp0x/constexpr-union6.C: New.
* g++.dg/cpp0x/union6.C: Likewise.
* g++.dg/init/ref14.C: Adjust.
* g++.dg/init/union1.C: Likewise.

From-SVN: r211318

10 years agore PR tree-optimization/59299 (We do not sink loads)
Richard Biener [Fri, 6 Jun 2014 15:31:47 +0000 (15:31 +0000)] 
re PR tree-optimization/59299 (We do not sink loads)

2014-06-06  Richard Biener  <rguenther@suse.de>

PR tree-optimization/59299
* tree-ssa-sink.c (all_immediate_uses_same_place): Work on
a def operand.
(nearest_common_dominator_of_uses): Likewise.
(statement_sink_location): Adjust.  Support sinking loads.

* gcc.dg/tree-ssa/ssa-sink-10.c: New testcase.

From-SVN: r211317

10 years agofaq.xml (faq.stream_reopening_fails): Replace <quote> in code example.
Jonathan Wakely [Fri, 6 Jun 2014 14:36:22 +0000 (15:36 +0100)] 
faq.xml (faq.stream_reopening_fails): Replace <quote> in code example.

* doc/xml/faq.xml (faq.stream_reopening_fails): Replace <quote> in
code example.
* doc/xml/manual/backwards_compatibility.xml
(backwards.second.stringstreams): Likewise.
* doc/xml/manual/configure.xml (--enable-libstdcxx-time): Document
change of default.
* doc/xml/manual/containers.xml (associative.bitset.type_string):
Replace <quote> in code example.
* doc/xml/manual/debug.xml: Clarify reference to ThreadSanitizer.
* doc/xml/manual/documentation_hacking.xml: Improve debugging tips,
fix typos, improve markup.
* doc/xml/manual/intro.xml (manual.intro.status.bugs.iso): Replace
<emphasis> with <replaceable>.
* doc/xml/manual/locale.xml (locale.impl.c): Remove backticks.
* doc/xml/manual/support.xml (std.support.memory): Replace <quote>
and remove newlines in string literal.

From-SVN: r211316

10 years agoipa-prop.c (get_place_in_agg_contents_list): New function.
Martin Jambor [Fri, 6 Jun 2014 13:26:24 +0000 (15:26 +0200)] 
ipa-prop.c (get_place_in_agg_contents_list): New function.

2014-06-06  Martin Jambor  <mjambor@suse.cz>

* ipa-prop.c (get_place_in_agg_contents_list): New function.
(build_agg_jump_func_from_list): Likewise.
(determine_known_aggregate_parts): Renamed to
determine_locally_known_aggregate_parts.  Moved some functionality
to the two functions above, removed bound checks.

From-SVN: r211315

10 years ago[AArch64] Implement movmem for the benefit of inline memcpy
James Greenhalgh [Fri, 6 Jun 2014 13:16:40 +0000 (13:16 +0000)] 
[AArch64] Implement movmem for the benefit of inline memcpy

gcc/

* config/aarch64/aarch64-protos.h (aarch64_expand_movmem): New.
* config/aarch64/aarch64.c (aarch64_move_pointer): New.
(aarch64_progress_pointer): Likewise.
(aarch64_copy_one_part_and_move_pointers): Likewise.
(aarch64_expand_movmen): Likewise.
* config/aarch64/aarch64.h (MOVE_RATIO): Set low.
* config/aarch64/aarch64.md (movmem<mode>): New.

gcc/testsuite/

* gcc.dg/tree-ssa/pr42585.c: Skip for AArch64.
* gcc.dg/tree-ssa/sra-12.c: Likewise.

From-SVN: r211314

10 years agobswap-2.c: Add alignment constraints to bitfield and test wrong results instead of...
Thomas Preud'homme [Fri, 6 Jun 2014 10:42:50 +0000 (10:42 +0000)] 
bswap-2.c: Add alignment constraints to bitfield and test wrong results instead of correct...

2014-06-06  Thomas Preud'homme  <thomas.preudhomme@arm.com>

    * gcc.c-torture/execute/bswap-2.c: Add alignment constraints to
    bitfield and test wrong results instead of correct results to make the
    test more portable.

From-SVN: r211313

10 years agore PR c++/60432 (Member pointer resolution within class definition causes segmentatio...
Paolo Carlini [Fri, 6 Jun 2014 10:00:55 +0000 (10:00 +0000)] 
re PR c++/60432 (Member pointer resolution within class definition causes segmentation fault)

2014-06-06  Paolo Carlini  <paolo.carlini@oracle.com>

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

From-SVN: r211312

10 years agotarghooks.c (default_add_stmt_cost): Call target specific hook instead of default...
Bingfeng Mei [Fri, 6 Jun 2014 09:52:51 +0000 (09:52 +0000)] 
targhooks.c (default_add_stmt_cost): Call target specific hook instead of default one.

2014-06-06  Bingfeng Mei  <bmei@broadcom.com>

* targhooks.c (default_add_stmt_cost): Call target specific
hook instead of default one.

From-SVN: r211311

10 years agore PR c++/60199 ('error: field initializer is not constant' when initializing static...
Paolo Carlini [Fri, 6 Jun 2014 09:52:33 +0000 (09:52 +0000)] 
re PR c++/60199 ('error: field initializer is not constant' when initializing static member function pointer to a function)

2014-06-06  Paolo Carlini  <paolo.carlini@oracle.com>

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

From-SVN: r211310

10 years agoChangeLog (2014-05-23): Fix ChangeLog entry to refer to target endianness instead...
Thomas Preud'homme [Fri, 6 Jun 2014 08:23:16 +0000 (08:23 +0000)] 
ChangeLog (2014-05-23): Fix ChangeLog entry to refer to target endianness instead of host endianness.

2014-06-06  Thomas Preud'homme  <thomas.preudhomme@arm.com>

    gcc/
    * ChangeLog (2014-05-23): Fix ChangeLog entry to refer to target
      endianness instead of host endianness.
    * tree-ssa-math-opts.c (find_bswap_or_nop_1): Likewise in dumps and
      comments.

    gcc/testsuite/
    * gcc.dg/optimize-bswaphi-1.c: Adapt test to change of dump output.
      Specify -march=z900 as an additional option.
    * gcc.dg/optimize-bswapsi-1.c: Likewise for s390 options.
    * gcc.dg/optimize-bswapsi-2.c: Likewise.
    * gcc.dg/optimize-bswapdi-3.c: Likewise for adaptation to dump change.

From-SVN: r211309

10 years agore PR debug/53927 (wrong value for DW_AT_static_link)
Eric Botcazou [Fri, 6 Jun 2014 08:13:24 +0000 (08:13 +0000)] 
re PR debug/53927 (wrong value for DW_AT_static_link)

PR debug/53927
* function.c (instantiate_decls): Process the saved static chain.
(expand_function_start): If not optimizing, save the static chain
onto the stack.
* tree-nested.c (convert_all_function_calls): Always create the static
chain for nested functions if not optimizing.

From-SVN: r211308

10 years ago* tree-cfg.c (make_edges) <GIMPLE_RETURN>: Put a location on the edge.
Eric Botcazou [Fri, 6 Jun 2014 07:39:53 +0000 (07:39 +0000)] 
* tree-cfg.c (make_edges) <GIMPLE_RETURN>: Put a location on the edge.

From-SVN: r211307

10 years agocfgexpand.c (expand_gimple_cond): Remove check for current_loops.
Richard Biener [Fri, 6 Jun 2014 07:38:07 +0000 (07:38 +0000)] 
cfgexpand.c (expand_gimple_cond): Remove check for current_loops.

2014-06-06  Richard Biener  <rguenther@suse.de>

* cfgexpand.c (expand_gimple_cond): Remove check for current_loops.
(construct_init_block): Likewise.
(construct_exit_block): Likewise.
(pass_expand::execute): Likewise.
* graphite.c (graphite_transforms): Replace check for current_loops
with a check for > 1 loops.
(pass_graphite_transforms::execute): Adjust.
* ipa-split.c (split_function): Remove check for current_loops.
* omp-low.c (expand_parallel_call): Likewise.
(expand_omp_for_init_counts): Likewise.
(extract_omp_for_update_vars): Likewise.
(expand_omp_for_generic): Likewise.
(expand_omp_sections): Likewise.
(expand_omp_target): Likewise.
* tracer.c (tail_duplicate): Likewise.
(pass_tracer::execute): Likewise.
* trans-mem.c (expand_transaction): Likewise.
* tree-complex.c (expand_complex_div_wide): Likewise.
* tree-eh.c (lower_resx): Likewise.
(cleanup_empty_eh_merge_phis): Likewise.
* tree-predcom.c (run_tree_predictive_commoning): Replace check for
current_loops with a check for > 1 loops.
(pass_predcom::execute): Adjust.
* tree-scalar-evolution.c (scev_reset): Remove check for current_loops.
* tree-ssa-copy.c (copy_prop_visit_phi_node): Likewise.
* tree-ssa-dom.c (pass_phi_only_cprop::execute): Likewise.
* tree-ssa-tail-merge.c (tail_merge_optimize): Likewise.
* tree-ssa-threadupdate.c (thread_through_all_blocks): Likewise.
* tree-switch-conversion.c (process_switch): Likewise.
* tree-tailcall.c (tree_optimize_tail_calls_1): Likewise.
* tree-vrp.c (vrp_visit_phi_node): Likewise.
(execute_vrp): Likewise.
* ubsan.c (ubsan_expand_null_ifn): Likewise.

From-SVN: r211306

10 years agortl.h (insn_location): Declare.
Eric Botcazou [Fri, 6 Jun 2014 07:32:25 +0000 (07:32 +0000)] 
rtl.h (insn_location): Declare.

* rtl.h (insn_location): Declare.
* cfgcleanup.c (try_forward_edges): Compare the locus of locations
with UNKNOWN_LOCATION.
* emit-rtl.c (insn_location): New function.
* final.c (notice_source_line): Check that the instruction has a
location before retrieving it and use insn_location.
* modulo-sched.c (loop_single_full_bb_p): Likewise.
* print-rtl.c (print_rtx): Likewise.

From-SVN: r211305

10 years agopasses.def: Move 2nd VRP pass before phi-only-cprop.
Richard Biener [Fri, 6 Jun 2014 07:29:45 +0000 (07:29 +0000)] 
passes.def: Move 2nd VRP pass before phi-only-cprop.

2014-06-06  Richard Biener  <rguenther@suse.de>

* passes.def: Move 2nd VRP pass before phi-only-cprop.

From-SVN: r211304

10 years agodump-parse-tree.c (show_omp_namelist): Dump reduction id in each list item.
Jakub Jelinek [Fri, 6 Jun 2014 07:24:38 +0000 (09:24 +0200)] 
dump-parse-tree.c (show_omp_namelist): Dump reduction id in each list item.

gcc/fortran/
* dump-parse-tree.c (show_omp_namelist): Dump reduction
id in each list item.
(show_omp_node): Only handle OMP_LIST_REDUCTION, not
OMP_LIST_REDUCTION_FIRST .. OMP_LIST_REDUCTION_LAST.  Don't
dump reduction id here.
* frontend-passes.c (dummy_code_callback): Renamed to...
(gfc_dummy_code_callback): ... this.  No longer static.
(optimize_reduction): Use gfc_dummy_code_callback instead of
dummy_code_callback.
* gfortran.h (gfc_statement): Add ST_OMP_DECLARE_REDUCTION.
(symbol_attribute): Add omp_udr_artificial_var bitfield.
(gfc_omp_reduction_op): New enum.
(gfc_omp_namelist): Add rop and udr fields.
(OMP_LIST_PLUS, OMP_LIST_REDUCTION_FIRST, OMP_LIST_MULT,
OMP_LIST_SUB, OMP_LIST_AND, OMP_LIST_OR, OMP_LIST_EQV,
OMP_LIST_NEQV, OMP_LIST_MAX, OMP_LIST_MIN, OMP_LIST_IAND,
OMP_LIST_IOR, OMP_LIST_IEOR, OMP_LIST_REDUCTION_LAST): Removed.
(OMP_LIST_REDUCTION): New.
(gfc_omp_udr): New type.
(gfc_get_omp_udr): Define.
(gfc_symtree): Add n.omp_udr field.
(gfc_namespace): Add omp_udr_root field, add omp_udr_ns bitfield.
(gfc_free_omp_udr, gfc_omp_udr_find, gfc_resolve_omp_udrs,
gfc_dummy_code_callback): New prototypes.
* match.h (gfc_match_omp_declare_reduction): New prototype.
* module.c (MOD_VERSION): Increase to 13.
(omp_declare_reduction_stmt): New array.
(mio_omp_udr_expr, write_omp_udr, write_omp_udrs, load_omp_udrs):
New functions.
(read_module): Read OpenMP user defined reductions.
(write_module): Write OpenMP user defined reductions.
* openmp.c: Include arith.h.
(gfc_free_omp_udr, gfc_find_omp_udr): New functions.
(gfc_match_omp_clauses): Handle user defined reductions.
Store reduction kind into gfc_omp_namelist instead of using
several OMP_LIST_* entries.
(match_udr_expr, gfc_omp_udr_predef, gfc_omp_udr_find,
gfc_match_omp_declare_reduction): New functions.
(resolve_omp_clauses): Adjust for reduction clauses being only
in OMP_LIST_REDUCTION list.  Diagnose missing UDRs.
(struct omp_udr_callback_data): New type.
(omp_udr_callback, gfc_resolve_omp_udr, gfc_resolve_omp_udrs): New
functions.
* parse.c (decode_omp_directive): Handle !$omp declare reduction.
(case_decl): Add ST_OMP_DECLARE_REDUCTION.
(gfc_ascii_statement): Print ST_OMP_DECLARE_REDUCTION.
* resolve.c (resolve_fl_variable): Allow len=: or len=* on
sym->attr.omp_udr_artificial_var symbols.
(resolve_types): Call gfc_resolve_omp_udrs.
* symbol.c (gfc_get_uop): If gfc_current_ns->omp_udr_ns,
use parent ns instead of gfc_current_ns.
(gfc_get_sym_tree): Don't insert symbols into
namespaces with omp_udr_ns set.
(free_omp_udr_tree): New function.
(gfc_free_namespace): Call it.
* trans-openmp.c (struct omp_udr_find_orig_data): New type.
(omp_udr_find_orig, gfc_trans_omp_udr_expr): New functions.
(gfc_trans_omp_array_reduction): Renamed to...
(gfc_trans_omp_array_reduction_or_udr): ... this.  Remove SYM
argument, instead pass gfc_omp_namelist pointer N.  Handle
user defined reductions.
(gfc_trans_omp_reduction_list): Remove REDUCTION_CODE argument.
Handle user defined reductions and reduction ops in gfc_omp_namelist.
(gfc_trans_omp_clauses): Adjust for just a single OMP_LIST_REDUCTION
list.
(gfc_split_omp_clauses): Likewise.
gcc/testsuite/
* gfortran.dg/gomp/allocatable_components_1.f90: Adjust for
reduction clause diagnostic changes.
* gfortran.dg/gomp/appendix-a/a.31.3.f90: Likewise.
* gfortran.dg/gomp/reduction1.f90: Likewise.
* gfortran.dg/gomp/reduction3.f90: Likewise.
* gfortran.dg/gomp/udr1.f90: New test.
* gfortran.dg/gomp/udr2.f90: New test.
* gfortran.dg/gomp/udr3.f90: New test.
* gfortran.dg/gomp/udr4.f90: New test.
* gfortran.dg/gomp/udr5.f90: New test.
* gfortran.dg/gomp/udr6.f90: New test.
* gfortran.dg/gomp/udr7.f90: New test.
libgomp/
* testsuite/libgomp.fortran/simd1.f90: New test.
* testsuite/libgomp.fortran/udr1.f90: New test.
* testsuite/libgomp.fortran/udr2.f90: New test.
* testsuite/libgomp.fortran/udr3.f90: New test.
* testsuite/libgomp.fortran/udr4.f90: New test.
* testsuite/libgomp.fortran/udr5.f90: New test.
* testsuite/libgomp.fortran/udr6.f90: New test.
* testsuite/libgomp.fortran/udr7.f90: New test.
* testsuite/libgomp.fortran/udr8.f90: New test.
* testsuite/libgomp.fortran/udr9.f90: New test.
* testsuite/libgomp.fortran/udr10.f90: New test.
* testsuite/libgomp.fortran/udr11.f90: New test.

From-SVN: r211303

10 years agore PR tree-optimization/43934 (LIM should handle PHI nodes)
Christian Bruel [Fri, 6 Jun 2014 07:21:02 +0000 (09:21 +0200)] 
re PR tree-optimization/43934 (LIM should handle PHI nodes)

PR tree-optimization/43934
* tree-ssa-loop-im.c (determine_max_movement): Add PHI def constant cost.

From-SVN: r211302

10 years agoChangeLog entry correction.
Marcus Shawcroft [Fri, 6 Jun 2014 07:03:29 +0000 (07:03 +0000)] 
ChangeLog entry correction.

Correcting one of the ChangeLog entries committed earlier to recognize
that RenLin Lee also contributed to the patch.

From-SVN: r211301

10 years agoira-lives.c (single_reg_class): Add missing break.
Richard Sandiford [Fri, 6 Jun 2014 06:59:22 +0000 (06:59 +0000)] 
ira-lives.c (single_reg_class): Add missing break.

gcc/
* ira-lives.c (single_reg_class): Add missing break.  Explicitly
return NO_REGS for extra address and memory constraints.  Handle
operands that match (or are equivalent to something that matches)
extra constant constraints.  Ignore other non-register operands.

From-SVN: r211300

10 years agopr61391.c: Fix test.
Kirill Yukhin [Fri, 6 Jun 2014 05:31:26 +0000 (05:31 +0000)] 
pr61391.c: Fix test.

gcc/testsuite/
* gcc.dg/torture/pr61391.c: Fix test.

From-SVN: r211298

10 years agore PR target/61300 (powerpc64le miscompile with K&R-style function definition at...
Alan Modra [Fri, 6 Jun 2014 01:04:22 +0000 (10:34 +0930)] 
re PR target/61300 (powerpc64le miscompile with K&R-style function definition at -O0)

PR target/61300
* doc/tm.texi.in (INCOMING_REG_PARM_STACK_SPACE): Document.
* doc/tm.texi: Regenerate.
* function.c (INCOMING_REG_PARM_STACK_SPACE): Provide default.
Use throughout in place of REG_PARM_STACK_SPACE.
* config/rs6000/rs6000.c (rs6000_reg_parm_stack_space): Add
"incoming" param.  Pass to rs6000_function_parms_need_stack.
(rs6000_function_parms_need_stack): Add "incoming" param, ignore
prototype_p when incoming.  Use function decl when incoming
to handle K&R style functions.
* config/rs6000/rs6000.h (REG_PARM_STACK_SPACE): Adjust.
(INCOMING_REG_PARM_STACK_SPACE): Define.

From-SVN: r211296

10 years agoDaily bump.
GCC Administrator [Fri, 6 Jun 2014 00:17:00 +0000 (00:17 +0000)] 
Daily bump.

From-SVN: r211294

10 years agore PR c++/43453 (Initialization of char array with string literal fails in mem-initia...
Jason Merrill [Thu, 5 Jun 2014 20:55:44 +0000 (16:55 -0400)] 
re PR c++/43453 (Initialization of char array with string literal fails in mem-initializer)

PR c++/43453
* decl.c (check_initializer): Collapse a TREE_LIST here.
* typeck2.c (store_init_value): Not here.

From-SVN: r211290

10 years agore PR c/53119 (-Wmissing-braces wrongly warns about universal zero initializer {0})
S. Gilles [Thu, 5 Jun 2014 19:36:03 +0000 (19:36 +0000)] 
re PR c/53119 (-Wmissing-braces wrongly warns about universal zero initializer {0})

2014-06-05  S. Gilles  <sgilles@terpmail.umd.edu>

PR c/53119
* c-typeck.c (push_init_level, process_init_element,
pop_init_level): Correct check for zero initialization, move
missing brace warning to respect zero initialization.

PR c/53119
* gcc.dg/pr53119.c: New testcase.

From-SVN: r211289

10 years agore PR debug/52472 (ICE: in convert_debug_memory_address, at cfgexpand.c:2491)
Senthil Kumar Selvaraj [Thu, 5 Jun 2014 18:34:43 +0000 (18:34 +0000)] 
re PR debug/52472 (ICE: in convert_debug_memory_address, at cfgexpand.c:2491)

PR target/52472
* cfgexpand.c (expand_debug_expr): Use address space of nested
TREE_TYPE for ADDR_EXPR and MEM_REF.

PR target/52472
* gcc.target/avr/pr52472.c: New test.

From-SVN: r211288

10 years agore PR tree-optimization/61289 (Bad jump threading generates infinite loop)
Jeff Law [Thu, 5 Jun 2014 18:25:02 +0000 (12:25 -0600)] 
re PR tree-optimization/61289 (Bad jump threading generates infinite loop)

PR tree-optimization/61289
* tree-ssa-threadedge.c (invalidate_equivalences): Remove SRC_MAP and
DST_MAP parameters.   Invalidate by walking all the SSA_NAME_VALUES
looking for those which match LHS.  All callers changed.
(record_temporary_equivalences_from_phis): Remove SRC_MAP and DST_MAP
parameters and code which manipulated them.  All callers changed.
(record_temporary_equivalences_from_stmts_at_dest): Remove SRC_MAP
and DST_MAP parameters.  Simplify invalidation code by just calling
invalidate_equivalences.  All callers changed.
(thread_across_edge): Simplify now that we don't need to maintain
the map of equivalences to invalidate.

        PR tree-optimization/61289
* g++.dg/pr61289.C: New test.
* g++.dg/pr61289-2.C: New test.

From-SVN: r211287

10 years agore PR c++/56961 (stack overflow in gimplifier with volatile field)
Richard Biener [Thu, 5 Jun 2014 17:34:48 +0000 (17:34 +0000)] 
re PR c++/56961 (stack overflow in gimplifier with volatile field)

/cp
2014-06-05  Richard Biener  <rguenther@suse.de>
    Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/56961
* cp-gimplify.c (cp_gimplify_expr, [MODIFY_EXPR]): Rework
handling of empty classes.

/testsuite
2014-06-05  Richard Biener  <rguenther@suse.de>
    Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/56961
* g++.dg/parse/pr56961.C: New.

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

10 years agoparser.c (cp_parser_diagnose_invalid_type_name): Give helpful note for noexcept and...
Jason Merrill [Thu, 5 Jun 2014 17:30:57 +0000 (13:30 -0400)] 
parser.c (cp_parser_diagnose_invalid_type_name): Give helpful note for noexcept and thread_local, too.

* parser.c (cp_parser_diagnose_invalid_type_name): Give helpful note
for noexcept and thread_local, too.

From-SVN: r211285

10 years agore PR c++/61343 ([C++11] Missing default initialization for class with default constr...
Jason Merrill [Thu, 5 Jun 2014 17:30:51 +0000 (13:30 -0400)] 
re PR c++/61343 ([C++11] Missing default initialization for class with default constructor)

PR c++/61343
* decl.c (check_initializer): Maybe clear
DECL_INITIALIZED_BY_CONSTANT_EXPRESSION_P.

From-SVN: r211284

10 years agore PR target/46219 (Generate indirect jump instruction on x86-64)
Kai Tietz [Thu, 5 Jun 2014 17:03:52 +0000 (19:03 +0200)] 
re PR target/46219 (Generate indirect jump instruction on x86-64)

2014-06-05  Kai Tietz  <ktietz@redhat.com>
    Richard Henderson  <rth@redhat.com>

PR target/46219
* config/i386/predicates.md (memory_nox32_operand): Add memory_operand
checking for !TARGET_X32.
* config/i386/i386.md (UNSPEC_PEEPSIB): New unspec constant.
(sibcall_intern): New define_insn, plus required peepholes.
(sibcall_pop_intern): Likewise.
(sibcall_value_intern): Likewise.
(sibcall_value_pop_intern): Likewise.

2014-06-05  Kai Tietz  <ktietz@redhat.com>

PR target/46219
* gcc.target/i386/sibcall-4.c: Remove xfail.

Co-Authored-By: Richard Henderson <rth@redhat.com>
From-SVN: r211283

10 years agopr45094.c: Remove -mcpu=cortex-a8, dg-skip-if options.
Julian Brown [Thu, 5 Jun 2014 16:21:08 +0000 (16:21 +0000)] 
pr45094.c: Remove -mcpu=cortex-a8, dg-skip-if options.

2014-06-05  Julian Brown  <julian@codesourcery.com>
    Sandra Loosemore  <sandra@codesourcery.com>

gcc/testsuite/
* gcc.target/arm/pr45094.c: Remove -mcpu=cortex-a8, dg-skip-if
options.

Co-Authored-By: Sandra Loosemore <sandra@codesourcery.com>
From-SVN: r211282

10 years agore PR fortran/61418 (HDF5 build failure with -flto: libgfortran.spec: attempt to...
Richard Biener [Thu, 5 Jun 2014 14:27:20 +0000 (14:27 +0000)] 
re PR fortran/61418 (HDF5 build failure with -flto: libgfortran.spec: attempt to rename spec 'lib' to already defined spec 'liborig')

2014-06-05  Richard Biener  <rguenther@suse.de>

PR fortran/61418
* gfortranspec.c (spec_file): Remove.
(find_spec_file): Likewise.
(lang_specific_driver): Do not look for specs file in -L
or append -specs command line argument.
(lang_specific_pre_link): Always %:include libgfortran.spec.

From-SVN: r211280

10 years ago[AArch64] Add frame_size and hard_fp_offset to machine.frame
Marcus Shawcroft [Thu, 5 Jun 2014 13:19:44 +0000 (13:19 +0000)] 
[AArch64] Add frame_size and hard_fp_offset to machine.frame

From-SVN: r211275

10 years agotree-inline.c (tree_function_versioning): Check DF info existence before accessing it.
Ilya Enkovich [Thu, 5 Jun 2014 12:58:58 +0000 (12:58 +0000)] 
tree-inline.c (tree_function_versioning): Check DF info existence before accessing it.

gcc/
* tree-inline.c (tree_function_versioning): Check DF info existence
before accessing it.

From-SVN: r211274

10 years ago[AArch64] Unify callee save slot allocation for X29 and X30.
Marcus Shawcroft [Thu, 5 Jun 2014 12:57:01 +0000 (12:57 +0000)] 
[AArch64] Unify callee save slot allocation for X29 and X30.

Co-Authored-By: Jiong Wang <jiong.wang@arm.com>
From-SVN: r211273

10 years agore PR c++/61004 (Spurious warning: dereferencing type-punned pointer)
Richard Biener [Thu, 5 Jun 2014 12:42:29 +0000 (12:42 +0000)] 
re PR c++/61004 (Spurious warning: dereferencing type-punned pointer)

2014-06-05  Richard Biener  <rguenther@suse.de>

PR c++/61004
* typeck.c (cp_build_indirect_ref): Do not emit strict-aliasing
warnings for accessing empty classes.

* g++.dg/diagnostic/pr61004.C: New testcase.

From-SVN: r211272

10 years ago[AArch64] Restructure callee save slot allocation logic.
Marcus Shawcroft [Thu, 5 Jun 2014 12:22:07 +0000 (12:22 +0000)] 
[AArch64] Restructure callee save slot allocation logic.

Co-Authored-By: Jiong Wang <jiong.wang@arm.com>
From-SVN: r211271

10 years ago[AArch64] Relocate saved_varargs_size.
Marcus Shawcroft [Thu, 5 Jun 2014 11:59:05 +0000 (11:59 +0000)] 
[AArch64] Relocate saved_varargs_size.

From-SVN: r211270

10 years ago[AArch64] Clarify stack layout comment.
Marcus Shawcroft [Thu, 5 Jun 2014 11:37:44 +0000 (11:37 +0000)] 
[AArch64] Clarify stack layout comment.

From-SVN: r211268

10 years agore PR c++/61038 (g++ -E is unusable with UDL strings)
Edward Smith-Rowland [Thu, 5 Jun 2014 11:17:25 +0000 (11:17 +0000)] 
re PR c++/61038 (g++ -E is unusable with UDL strings)

PR c++/61038
I was asked to combine the escape logic for regular chars and strings
with the escape logic for user-defined literals chars and strings.
I just forgot the first time.

I forgot the ChangeLog!

From-SVN: r211267

10 years agore PR c++/61038 (g++ -E is unusable with UDL strings)
Edward Smith-Rowland [Thu, 5 Jun 2014 11:12:08 +0000 (11:12 +0000)] 
re PR c++/61038 (g++ -E is unusable with UDL strings)

PR c++/61038
I was asked to combine the escape logic for regular chars and strings
with the escape logic for user-defined literals chars and strings.
I just forgot the first time.

From-SVN: r211266

10 years agomips-cpus.def: Add definition for p5600.
Jaydeep Patil [Thu, 5 Jun 2014 10:45:55 +0000 (10:45 +0000)] 
mips-cpus.def: Add definition for p5600.

2014-06-05  Jaydeep Patil  <Jaydeep.Patil@imgtec.com>
    Prachi Godbole  <Prachi.Godbole@imgtec.com>

* config/mips/mips-cpus.def: Add definition for p5600.  Updated
mips32r5 entry to use PROCESSOR_P5600.
* config/mips/mips-tables.opt: Regenerate.
* config/mips/mips-protos.h (mips_fmadd_bypass): Add prototype.
* config/mips/mips.c (mips_fmadd_bypass): New function.
(mips_rtx_cost_data): Add costs for p5600.
(mips_issue_rate): Add support for p5600.
(mips_multipass_dfa_lookahead): Likewise.
* config/mips/mips.h (TUNE_P5600): New define.
(TUNE_MACC_CHAINS): Add TUNE_P5600.
(MIPS_ISA_LEVEL_SPEC): Map -march=p5600 to -mips32r5.
* config/mips/mips.md: Include p5600.md.
(processor): Add p5600.
* config/mips/p5600.md: New file.

Co-Authored-By: Prachi Godbole <prachi.godbole@imgtec.com>
From-SVN: r211265

10 years agosse.md (*ssse3_palignr<mode>_perm): New.
Evgeny Stupachenko [Thu, 5 Jun 2014 10:26:18 +0000 (10:26 +0000)] 
sse.md (*ssse3_palignr<mode>_perm): New.

gcc/
* config/i386/sse.md (*ssse3_palignr<mode>_perm): New.
* config/i386/predicates.md (palignr_operand): New.
Indicates if permutation is suitable for palignr instruction.

From-SVN: r211264

10 years agore PR other/61391 (ICE in execute_one_pass at -O3 and above)
Yuri Rumyantsev [Thu, 5 Jun 2014 10:24:22 +0000 (10:24 +0000)] 
re PR other/61391 (ICE in execute_one_pass at -O3 and above)

2014-06-05  Yuri Rumyantsev  <ysrumyan@gmail.com>

gcc/
PR tree-optimization/61391
* tree-if-conv.c (is_cond_scalar_reduction): Add missed check that
stmt belongs to loop.

gcc/testsuite/
* gcc.dg/torture/pr61391.c: New test.

From-SVN: r211263

10 years agogimplify.c (create_tmp_from_val): Remove is_formal parameter and set DECL_GIMPLE_REG_...
Richard Biener [Thu, 5 Jun 2014 09:53:19 +0000 (09:53 +0000)] 
gimplify.c (create_tmp_from_val): Remove is_formal parameter and set DECL_GIMPLE_REG_P unconditionally if appropriate.

2014-06-05  Richard Biener  <rguenther@suse.de>

* gimplify.c (create_tmp_from_val): Remove is_formal parameter
and set DECL_GIMPLE_REG_P unconditionally if appropriate.
(lookup_tmp_var): Adjust.
(prepare_gimple_addressable): Unset DECL_GIMPLE_REG_P here.

From-SVN: r211262

10 years agore PR c/56724 (sub-optimal location in error)
Marek Polacek [Thu, 5 Jun 2014 09:35:05 +0000 (09:35 +0000)] 
re PR c/56724 (sub-optimal location in error)

PR c/56724
* c-typeck.c (convert_for_assignment): Use expr_loc for ic_argpass.

* gcc.dg/pr56724-3.c: New test.

From-SVN: r211261

10 years ago* g++.dg/cpp0x/initlist86.C (main): Initialize i.
Andreas Schwab [Thu, 5 Jun 2014 08:09:39 +0000 (08:09 +0000)] 
* g++.dg/cpp0x/initlist86.C (main): Initialize i.

From-SVN: r211257

10 years agoDisable opt_enabled attribute.
Ramana Radhakrishnan [Thu, 5 Jun 2014 07:51:31 +0000 (07:51 +0000)] 
Disable opt_enabled attribute.

2014-06-05  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>

        * config/arm/arm.md (enabled): Disable opt_enabled attribute.

From-SVN: r211256

10 years agore PR c/49706 (No warning for (!x > 1) which is always false)
Marek Polacek [Thu, 5 Jun 2014 06:20:05 +0000 (06:20 +0000)] 
re PR c/49706 (No warning for (!x > 1) which is always false)

PR c/49706
* doc/invoke.texi: Document -Wlogical-not-parentheses.
c-family/
* c-common.c (warn_logical_not_parentheses): New function.
* c-common.h (warn_logical_not_parentheses): Declare.
* c.opt (Wlogical-not-parentheses): New option.
c/
* c-typeck.c (parser_build_binary_op): Warn when logical not is used
on the left hand side operand of a comparison.
cp/
* parser.c (cp_parser_binary_expression): Warn when logical not is
used on the left hand side operand of a comparison.
testsuite/
* c-c++-common/pr49706.c: New test.

From-SVN: r211255

10 years agore PR c/48062 (`shadowed declaration is here' should be a note)
Marek Polacek [Thu, 5 Jun 2014 05:30:39 +0000 (05:30 +0000)] 
re PR c/48062 (`shadowed declaration is here' should be a note)

PR c/48062
* c-decl.c (warn_if_shadowing): Call inform instead of warning_at.
Print note only if the warning was printed.

* gcc.dg/Wshadow-1.c: Use dg-message for "shadowed declaration".
* gcc.dg/Wshadow-3.c: Likewise.
* gcc.dg/pr48062.c: New test.

From-SVN: r211254

10 years agoDaily bump.
GCC Administrator [Thu, 5 Jun 2014 00:17:16 +0000 (00:17 +0000)] 
Daily bump.

From-SVN: r211253

10 years agolibgo: Merge from revision 18783:00cce3a34d7e of master library.
Ian Lance Taylor [Wed, 4 Jun 2014 23:15:33 +0000 (23:15 +0000)] 
libgo: Merge from revision 18783:00cce3a34d7e of master library.

This revision was committed January 7, 2014.  The next
revision deleted runtime/mfinal.c.  That will be done in a
subsequent merge.

This merge changes type descriptors to add a zero field,
pointing to a zero value for that type.  This is implemented
as a common variable.

* go-gcc.cc (Gcc_backend::implicit_variable): Add is_common and
alignment parameters.  Permit init parameter to be NULL.

From-SVN: r211249

10 years agore PR c++/43453 (Initialization of char array with string literal fails in mem-initia...
Paolo Carlini [Wed, 4 Jun 2014 22:30:39 +0000 (22:30 +0000)] 
re PR c++/43453 (Initialization of char array with string literal fails in mem-initializer)

/cp
2014-06-04  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/43453
* typeck.c (cp_build_modify_expr): Handle array of characters
initialized by a string literal.
* decl.c (check_initializer): Handle parenthesized string literal
as initializer.
* typeck2.c (store_init_value): Remove redundant check.

/testsuite
2014-06-04  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/43453
* g++.dg/init/pr43453.C: New.

From-SVN: r211248

10 years agoUse INTVAL only on CONST_INT in addptrdi3 and addptrsi3
Tom de Vries [Wed, 4 Jun 2014 20:18:47 +0000 (20:18 +0000)] 
Use INTVAL only on CONST_INT in addptrdi3 and addptrsi3

2014-06-04  Tom de Vries  <tom@codesourcery.com>

* config/s390/s390.md ("addptrdi3", "addptrsi3"): Use INTVAL only on
CONST_INT.

From-SVN: r211246

10 years agore PR tree-optimization/61385 (ICE on valid code at -O2 and -O3 on x86_64-linux-gnu)
Marc Glisse [Wed, 4 Jun 2014 18:38:18 +0000 (20:38 +0200)] 
re PR tree-optimization/61385 (ICE on valid code at -O2 and -O3 on x86_64-linux-gnu)

2014-06-04  Marc Glisse  <marc.glisse@inria.fr>

PR tree-optimization/61385
gcc/
* tree-ssa-phiopt.c (value_replacement): Punt if there are PHI nodes.
gcc/testsuite/
* gcc.dg/tree-ssa/pr61385.c: New file.

From-SVN: r211245

10 years agolto-wrapper.c (fatal, [...]): Remove functions.
Bernd Schmidt [Wed, 4 Jun 2014 18:23:30 +0000 (18:23 +0000)] 
lto-wrapper.c (fatal, [...]): Remove functions.

* lto-wrapper.c (fatal, fatal_perror): Remove functions.  All callers
changed to use fatal_error.
(main): Ensure lto_wrapper_cleanup is run atexit.

From-SVN: r211243

10 years agolra-constraints.c (valid_address_p): Move earlier in file.
Richard Sandiford [Wed, 4 Jun 2014 17:44:09 +0000 (17:44 +0000)] 
lra-constraints.c (valid_address_p): Move earlier in file.

gcc/
* lra-constraints.c (valid_address_p): Move earlier in file.
(address_eliminator): New structure.
(satisfies_memory_constraint_p): New function.
(satisfies_address_constraint_p): Likewise.
(process_alt_operands, process_address, curr_insn_transform): Use them.

From-SVN: r211242

10 years agolra-int.h (lra_static_insn_data): Make operand_alternative a const pointer.
Richard Sandiford [Wed, 4 Jun 2014 17:34:49 +0000 (17:34 +0000)] 
lra-int.h (lra_static_insn_data): Make operand_alternative a const pointer.

gcc/
* lra-int.h (lra_static_insn_data): Make operand_alternative a
const pointer.
(target_lra_int, default_target_lra_int, this_target_lra_int)
(op_alt_data): Delete.
* lra.h (lra_init): Delete.
* lra.c (default_target_lra_int, this_target_lra_int): Delete.
(init_insn_code_data_once): Remove op_alt_data handling.
(finish_insn_code_data_once): Likewise.
(init_op_alt_data): Delete.
(get_static_insn_data): Initialize operand_alternative to null.
(free_insn_recog_data): Cast operand_alternative before freeing it.
(setup_operand_alternative): Take the operand_alternative as
parameter and assume it isn't already cached in the static
insn data.
(lra_set_insn_recog_data): Update accordingly.
(lra_init): Delete.
* ira.c (ira_init): Don't call lra_init.
* target-globals.h (this_target_lra_int): Declare.
(target_globals): Remove lra_int.
(restore_target_globals): Update accordingly.
* target-globals.c: Don't include lra-int.h.
(default_target_globals, save_target_globals): Remove lra_int.

From-SVN: r211241

10 years agorecog.h (operand_alternative): Convert reg_class, reject, matched and matches into...
Richard Sandiford [Wed, 4 Jun 2014 17:34:40 +0000 (17:34 +0000)] 
recog.h (operand_alternative): Convert reg_class, reject, matched and matches into bitfields.

gcc/
* recog.h (operand_alternative): Convert reg_class, reject,
matched and matches into bitfields.
(preprocess_constraints): New overload.
(preprocess_insn_constraints): New function.
(preprocess_constraints): Take the insn as parameter.
(recog_op_alt): Change into a pointer.
(target_recog): Add x_op_alt.
* recog.c (asm_op_alt): New variable.
(recog_op_alt): Change into a pointer.
(preprocess_constraints): New overload, replacing the old function
definition with one that doesn't use global state.
(preprocess_insn_constraints): New function.
(preprocess_constraints): Use them.  Take the insn as parameter.
Use asm_op_alt for asms.
(recog_init): Free existing x_op_alt entries.
* ira-lives.c (check_and_make_def_conflict): Make operand_alternative
pointer const.
(make_early_clobber_and_input_conflicts): Likewise.
(process_bb_node_lives): Pass the insn to process_constraints.
* reg-stack.c (check_asm_stack_operands): Likewise.
(subst_asm_stack_regs): Likewise.
* regcprop.c (copyprop_hardreg_forward_1): Likewise.
* regrename.c (build_def_use): Likewise.
* sched-deps.c (sched_analyze_insn): Likewise.
* sel-sched.c (get_reg_class, implicit_clobber_conflict_p): Likewise.
* config/arm/arm.c (xscale_sched_adjust_cost): Likewise.
(note_invalid_constants): Likewise.
* config/i386/i386.c (ix86_legitimate_combined_insn): Likewise.
(ix86_legitimate_combined_insn): Make operand_alternative pointer
const.

From-SVN: r211240

10 years agorecog.c (preprocess_constraints): Don't skip disabled alternatives.
Richard Sandiford [Wed, 4 Jun 2014 17:34:19 +0000 (17:34 +0000)] 
recog.c (preprocess_constraints): Don't skip disabled alternatives.

gcc/
* recog.c (preprocess_constraints): Don't skip disabled alternatives.
* ira-lives.c (check_and_make_def_conflict): Check for disabled
alternatives.
(make_early_clobber_and_input_conflicts): Likewise.
* config/i386/i386.c (ix86_legitimate_combined_insn): Likewise.

From-SVN: r211239

10 years agorecog.h (alternative_class): New function.
Richard Sandiford [Wed, 4 Jun 2014 17:34:03 +0000 (17:34 +0000)] 
recog.h (alternative_class): New function.

gcc/
* recog.h (alternative_class): New function.
(which_op_alt): Return a const recog_op_alt.
* reg-stack.c (check_asm_stack_operands): Update type accordingly.
(subst_asm_stack_regs): Likewise.
* config/arm/arm.c (note_invalid_constants): Likewise.
* regcprop.c (copyprop_hardreg_forward_1): Likewise.  Don't modify
the operand_alternative; use alternative class instead.
* sel-sched.c (get_reg_class): Likewise.
* regrename.c (build_def_use): Likewise.
(hide_operands, restore_operands, record_out_operands): Update type
accordingly.

From-SVN: r211238

10 years agorecog.h (recog_op_alt): Convert to a flat array.
Richard Sandiford [Wed, 4 Jun 2014 17:33:51 +0000 (17:33 +0000)] 
recog.h (recog_op_alt): Convert to a flat array.

gcc/
* recog.h (recog_op_alt): Convert to a flat array.
(which_op_alt): New function.
* recog.c (recog_op_alt): Convert to a flat array.
(preprocess_constraints): Update accordingly, grouping all
operands of the same alternative together, rather than the
other way around.
* ira-lives.c (check_and_make_def_conflict): Likewise.
(make_early_clobber_and_input_conflicts): Likewise.
* config/i386/i386.c (ix86_legitimate_combined_insn): Likewise.
* reg-stack.c (check_asm_stack_operands): Use which_op_alt.
(subst_asm_stack_regs): Likewise.
* regcprop.c (copyprop_hardreg_forward_1): Likewise.
* regrename.c (hide_operands, record_out_operands): Likewise.
(build_def_use): Likewise.
* sel-sched.c (get_reg_class): Likewise.
* config/arm/arm.c (note_invalid_constants): Likewise.

From-SVN: r211237

10 years agore PR c++/51253 ([C++11][DR 1030] Evaluation order (sequenced-before relation) among...
Jason Merrill [Wed, 4 Jun 2014 15:51:01 +0000 (11:51 -0400)] 
re PR c++/51253 ([C++11][DR 1030] Evaluation order (sequenced-before relation) among initializer-clauses in braced-init-list)

PR c++/51253
PR c++/61382
gcc/
* gimplify.c (gimplify_arg): Non-static.
* gimplify.h: Declare it.
gcc/cp/
* cp-gimplify.c (cp_gimplify_expr): Handle CALL_EXPR_LIST_INIT_P here.
* semantics.c (simplify_aggr_init_expr): Not here, just copy it.

From-SVN: r211235

10 years agotree.h (may_be_aliased): Trust TREE_ADDRESSABLE from TREE_PUBLIC and DECL_EXTERNAL...
Richard Biener [Wed, 4 Jun 2014 13:51:18 +0000 (13:51 +0000)] 
tree.h (may_be_aliased): Trust TREE_ADDRESSABLE from TREE_PUBLIC and DECL_EXTERNAL decls.

2014-06-04  Richard Biener  <rguenther@suse.de>

* tree.h (may_be_aliased): Trust TREE_ADDRESSABLE from
TREE_PUBLIC and DECL_EXTERNAL decls.

From-SVN: r211233

10 years agoregcprop.c (copyprop_hardreg_forward_1): Account for HARD_REGNO_CALL_PART_CLOBBERED.
Matthew Fortune [Wed, 4 Jun 2014 13:10:49 +0000 (13:10 +0000)] 
regcprop.c (copyprop_hardreg_forward_1): Account for HARD_REGNO_CALL_PART_CLOBBERED.

2014-06-04  Matthew Fortune  <matthew.fortune@imgtec.com>

gcc/
* regcprop.c (copyprop_hardreg_forward_1): Account for
HARD_REGNO_CALL_PART_CLOBBERED.

From-SVN: r211230

10 years agoconfigure.ac: Check whether the underlying type of int64_t is long or long long.
Richard Biener [Wed, 4 Jun 2014 12:35:26 +0000 (12:35 +0000)] 
configure.ac: Check whether the underlying type of int64_t is long or long long.

2014-06-04  Richard Biener  <rguenther@suse.de>

* configure.ac: Check whether the underlying type of int64_t
is long or long long.
* configure: Regenerate.
* config.in: Likewise.
* hwint.h (HOST_WIDE_INT): Match the underlying type of int64_t.
(HOST_WIDE_INT_PRINT_*): Define in terms of PRI*64.

From-SVN: r211228

10 years agore PR tree-optimization/60098 (DSE fails to DSE errno settings)
Richard Biener [Wed, 4 Jun 2014 11:56:34 +0000 (11:56 +0000)] 
re PR tree-optimization/60098 (DSE fails to DSE errno settings)

2014-06-04  Richard Biener  <rguenther@suse.de>

PR tree-optimization/60098
* tree-ssa-dse.c (dse_possible_dead_store_p): Walk until
we hit a kill.
(dse_optimize_stmt): Simplify, now that we found a kill
earlier.

* gcc.dg/tree-ssa/ssa-dse-15.c: New testcase.

From-SVN: r211224

10 years agotree-ssa-alias.c (stmt_may_clobber_ref_p): Improve handling of accesses with non...
Richard Biener [Wed, 4 Jun 2014 11:55:29 +0000 (11:55 +0000)] 
tree-ssa-alias.c (stmt_may_clobber_ref_p): Improve handling of accesses with non-invariant address.

2014-06-04  Richard Biener  <rguenther@suse.de>

* tree-ssa-alias.c (stmt_may_clobber_ref_p): Improve handling
of accesses with non-invariant address.

* gcc.dg/tree-ssa/ssa-dse-16.c: New testcase.

From-SVN: r211223

10 years agoNew callgraph wrapper function creation added
Martin Liska [Wed, 4 Jun 2014 11:11:09 +0000 (13:11 +0200)] 
New callgraph wrapper function creation added

* cgraph.h (cgraph_make_wrapper): New function introduced.
* cgraphunit.c (cgraph_make_wrapper): The function implementation.
* ipa-inline.h (inline_analyze_function): The function is global.
* ipa-inline-analysis.c (inline_analyze_function): Likewise.

From-SVN: r211222

10 years agore PR c/58942 (cilkplus internal compiler error: tree check __sec_reduce_max_ind)
Igor Zamyatin [Wed, 4 Jun 2014 10:07:21 +0000 (10:07 +0000)] 
re PR c/58942 (cilkplus internal compiler error: tree check __sec_reduce_max_ind)

gcc/c/
PR c/58942
* c-array-notation.c (fix_builtin_array_notation_fn): Handle the case
with a pointer.

gcc/cp/
PR c/58942
* cp-array-notation.c (expand_sec_reduce_builtin): Handle the case
with a pointer.

gcc/testsuite/
PR c/58942
* c-c++-common/cilk-plus/AN/pr58942.c: Check for correct handling of
the case with a pointer.

From-SVN: r211220

10 years agoNew attribute lookup function addition
Martin Liska [Wed, 4 Jun 2014 09:44:33 +0000 (11:44 +0200)] 
New attribute lookup function addition

* tree.h (private_lookup_attribute_starting): New function.
(lookup_attribute_starting): Likewise.
* tree.c (private_lookup_attribute_starting): Likewise.

From-SVN: r211219

10 years agoEnhancement of call graph API
Martin Liska [Wed, 4 Jun 2014 09:39:24 +0000 (11:39 +0200)] 
Enhancement of call graph API

* cgraph.h (expand_thunk): New argument added.
(address_taken_from_non_vtable_p): New global function.
* ipa-visibility.c (address_taken_from_non_vtable_p): Likewise.
* cgraphclones.c (duplicate_thunk_for_node): Argument added to call.
* cgraphunit.c (analyze_function): Likewise.
(assemble_thunks_and_aliases): Argument added to call.
(expand_thunk): New argument forces to produce GIMPLE thunk.

From-SVN: r211218

10 years agoMake coverage_compute_cfg_checksum callable with arg.
Martin Liska [Wed, 4 Jun 2014 09:31:25 +0000 (11:31 +0200)] 
Make coverage_compute_cfg_checksum callable with arg.

* coverage.h (coverage_compute_cfg_checksum): Argument added.
* coverage.c (coverage_compute_cfg_checksum): Likewise.
* profile.c (branch_prob): Likewise.

From-SVN: r211217

10 years agore PR ipa/61340 (ipa-pure-const.c, ipa-reference.c: possible missing switch cases ?)
Martin Jambor [Wed, 4 Jun 2014 09:23:52 +0000 (11:23 +0200)] 
re PR ipa/61340 (ipa-pure-const.c, ipa-reference.c: possible missing switch cases ?)

2014-06-04  Martin Jambor  <mjambor@suse.cz>

PR ipa/61340
* ipa-pure-const.c (propagate_pure_const): Add unreachable default
handler for switch on an ipa_ref_use enum.
* ipa-reference.c (analyze_function): Likewise.

From-SVN: r211216

10 years agoAdd myself to the MAINTAINERS file.
Thomas Preud'homme [Wed, 4 Jun 2014 09:11:48 +0000 (09:11 +0000)] 
Add myself to the MAINTAINERS file.

2014-06-04  Thomas Preud'homme  <thomas.preudhomme@arm.com>

* MAINTAINERS (Write After Approval): Add myself.

From-SVN: r211215

10 years agorecog.c (peep2_attempt): Copy SIBLING_CALL_P flag from old call-instruction.
Kai Tietz [Wed, 4 Jun 2014 07:46:55 +0000 (09:46 +0200)] 
recog.c (peep2_attempt): Copy SIBLING_CALL_P flag from old call-instruction.

* recog.c (peep2_attempt): Copy SIBLING_CALL_P flag
from old call-instruction.

From-SVN: r211213

10 years agore PR c/30020 (improve diagnostics for limited range warning for a switch statement)
Marek Polacek [Wed, 4 Jun 2014 07:26:06 +0000 (07:26 +0000)] 
re PR c/30020 (improve diagnostics for limited range warning for a switch statement)

PR c/30020
* c-common.c (check_case_bounds): Add location parameter.
Use it.
(c_add_case_label): Pass loc to check_case_bounds.

* c-c++-common/pr30020.c: New test.

From-SVN: r211212

10 years ago* config/aarch64/aarch64.c (aarch64_classify_address)
Bin Cheng [Wed, 4 Jun 2014 03:45:50 +0000 (03:45 +0000)] 
* config/aarch64/aarch64.c (aarch64_classify_address)
(aarch64_legitimize_reload_address): Support full addressing modes
for vector modes.
* config/aarch64/aarch64.md (mov<mode>, movmisalign<mode>)
(*aarch64_simd_mov<mode>, *aarch64_simd_mov<mode>): Relax predicates.

From-SVN: r211211

10 years agoDaily bump.
GCC Administrator [Wed, 4 Jun 2014 00:17:09 +0000 (00:17 +0000)] 
Daily bump.

From-SVN: r211210

10 years agoaarch64.c (aarch64_if_then_else_costs): Allow non comparisons for OP0.
Andrew Pinski [Tue, 3 Jun 2014 22:44:39 +0000 (22:44 +0000)] 
aarch64.c (aarch64_if_then_else_costs): Allow non comparisons for OP0.

2014-06-03  Andrew Pinski  <apinski@cavium.com>

* config/aarch64/aarch64.c (aarch64_if_then_else_costs): Allow non comparisons
for OP0.

2014-06-03  Andrew Pinski  <apinski@cavium.com>

* gcc.c-torture/compile/20140528-1.c: New testcase.

From-SVN: r211206

10 years agoaarch64.c (aarch64_if_then_else_costs): New function.
Andrew Pinski [Tue, 3 Jun 2014 22:42:47 +0000 (15:42 -0700)] 
aarch64.c (aarch64_if_then_else_costs): New function.

2014-06-03  Andrew Pinski  <apinski@cavium.com>

* config/aarch64/aarch64.c (aarch64_if_then_else_costs): New function.
(aarch64_rtx_costs): Use aarch64_if_then_else_costs.

From-SVN: r211205

10 years agoi386.c (ix86_function_value_regno_p): Disallow DX_REG for 64-bit ms-abi.
Kai Tietz [Tue, 3 Jun 2014 22:01:19 +0000 (00:01 +0200)] 
i386.c (ix86_function_value_regno_p): Disallow DX_REG for 64-bit ms-abi.

        * config/i386/i386.c (ix86_function_value_regno_p): Disallow DX_REG
        for 64-bit ms-abi.

From-SVN: r211204

10 years agotree-cfg.c (gimple_merge_blocks): Only reset count when BBs are in the same loop.
Dehao Chen [Tue, 3 Jun 2014 21:36:05 +0000 (21:36 +0000)] 
tree-cfg.c (gimple_merge_blocks): Only reset count when BBs are in the same loop.

2014-06-03  Dehao Chen  <dehao@google.com>

* tree-cfg.c (gimple_merge_blocks): Only reset count when BBs are in
the same loop.
* gcc.dg/tree-prof/merge_block.c: New test.

From-SVN: r211202

10 years agomv14.C (dg-options): Add -march=x86-64.
Uros Bizjak [Tue, 3 Jun 2014 17:57:42 +0000 (19:57 +0200)] 
mv14.C (dg-options): Add -march=x86-64.

* g++.dg/ext/mv14.C (dg-options): Add -march=x86-64.
* g++.dg/ext/mv15.C (dg-options): Ditto.

From-SVN: r211196

10 years agoDR 1423 PR c++/52174
Paolo Carlini [Tue, 3 Jun 2014 17:48:36 +0000 (17:48 +0000)] 
DR 1423 PR c++/52174

gcc/cp
2014-06-03  Paolo Carlini  <paolo.carlini@oracle.com>

DR 1423
PR c++/52174
* call.c (standard_conversion): Convert nullptr to bool only
in case of direct-initialization.
(convert_like_real): Provide informative error message.

gcc/testsuite
2014-06-03  Paolo Carlini  <paolo.carlini@oracle.com>

DR 1423
PR c++/52174
* g++.dg/cpp0x/nullptr31.C: New.
* g++.dg/cpp0x/sfinae-nullptr1.C: Likewise.
* g++.dg/cpp0x/nullptr17.C: Update.

libstdc++-v3
2014-06-03  Paolo Carlini  <paolo.carlini@oracle.com>

DR 1423
PR c++/52174
* testsuite/20_util/is_assignable/value.cc: Update.

From-SVN: r211195

10 years agore PR c/60439 (No warning for case overflow in switch statement.)
Marek Polacek [Tue, 3 Jun 2014 17:35:34 +0000 (17:35 +0000)] 
re PR c/60439 (No warning for case overflow in switch statement.)

PR c/60439
* doc/invoke.texi: Document -Wswitch-bool.
* function.c (stack_protect_epilogue): Cast controlling expression of
the switch to int.
* gengtype.c (walk_type): Generate switch expression with its
controlling expression cast to int.
c/
* c-parser.c (c_parser_switch_statement): Pass explicit_cast_p to
c_start_case.
* c-tree.h (c_start_case): Update.
* c-typeck.c (c_start_case): Add new boolean parameter.  Warn if
switch condition has boolean value.
cp/
* semantics.c (finish_switch_cond): Warn if switch condition has
boolean value.
c-family/
* c.opt (Wswitch-bool): New option.
testsuite/
* c-c++-common/pr60439.c: New test.
* g++.dg/eh/scope1.C (f4): Add dg-warning.

From-SVN: r211194

10 years agoavr-mcus.def: Add new avr25 devices attiny441, attiny828 and attiny841.
Denis Chertykov [Tue, 3 Jun 2014 16:26:09 +0000 (20:26 +0400)] 
avr-mcus.def: Add new avr25 devices attiny441, attiny828 and attiny841.

* config/avr/avr-mcus.def: Add new avr25 devices attiny441, attiny828
and attiny841.
* config/avr/avr-tables.opt: Regenerate.
* config/avr/t-multilib: Regenerate.
* doc/avr-mmcu.texi: Regenerate.

* config/avr/avr-mcus.def (ata6616c): Add new avr25 device.
(ata6617c, ata664251): Add new avr35 devices.
(ata6612c): Add new avr4 device.
(ata6613c, ata6614q): Add new avr5 devices.
* config/avr/avr-tables.opt: Regenerate.
* config/avr/t-multilib: Regenerate.
* doc/avr-mmcu.texi: Regenerate.

From-SVN: r211189

10 years agore PR c++/60992 (ICE in tsubst_copy, at cp/pt.c:12637)
Jason Merrill [Tue, 3 Jun 2014 15:39:20 +0000 (11:39 -0400)] 
re PR c++/60992 (ICE in tsubst_copy, at cp/pt.c:12637)

PR c++/60992
* pt.c (tsubst_copy) [VAR_DECL]: Try lookup first.  Add a new
variable to local_specializations.

From-SVN: r211188

10 years ago[PATCH AArch64 2/2] Correct signedness of builtins, remove casts from arm_neon.h
Alan Lawrence [Tue, 3 Jun 2014 15:06:01 +0000 (15:06 +0000)] 
[PATCH AArch64 2/2] Correct signedness of builtins, remove casts from arm_neon.h

* gcc/config/aarch64/aarch64-builtins.c
(aarch64_types_binop_ssu_qualifiers): New static data.
(TYPES_BINOP_SSU): Define.
* gcc/config/aarch64/aarch64-simd-builtins.def (suqadd, ushl, urshl,
urshr_n, ushll_n): Use appropriate unsigned qualifiers.
* gcc/config/aarch64/arm_neon.h (vrshl_u8, vrshl_u16, vrshl_u32,
vrshl_u64, vrshlq_u8, vrshlq_u16, vrshlq_u32, vrshlq_u64, vrshld_u64,
vrshr_n_u8, vrshr_n_u16, vrshr_n_u32, vrshr_n_u64, vrshrq_n_u8,
vrshrq_n_u16, vrshrq_n_u32, vrshrq_n_u64, vrshrd_n_u64, vshll_n_u8,
vshll_n_u16, vshll_n_u32, vuqadd_s8, vuqadd_s16, vuqadd_s32,
vuqadd_s64, vuqaddq_s8, vuqaddq_s16, vuqaddq_s32, vuqaddq_s64,
vuqaddb_s8, vuqaddh_s16, vuqadds_s32, vuqaddd_s64): Add signedness
suffix to builtin function name, remove cast.
(vshl_s8, vshl_s16, vshl_s32, vshl_s64, vshl_u8, vshl_u16, vshl_u32,
vshl_u64, vshlq_s8, vshlq_s16, vshlq_s32, vshlq_s64, vshlq_u8,
vshlq_u16, vshlq_u32, vshlq_u64, vshld_s64, vshld_u64): Remove cast.

From-SVN: r211186

10 years ago[PATCH AArch64 1/2] Correct signedness of builtins, remove casts from arm_neon.h
Alan Lawrence [Tue, 3 Jun 2014 14:57:22 +0000 (14:57 +0000)] 
[PATCH AArch64 1/2] Correct signedness of builtins, remove casts from arm_neon.h

* gcc/config/aarch64/aarch64-builtins.c
(aarch64_types_binop_uus_qualifiers,
aarch64_types_shift_to_unsigned_qualifiers,
aarch64_types_unsigned_shiftacc_qualifiers): Define.
* gcc/config/aarch64/aarch64-simd-builtins.def (uqshl, uqrshl, uqadd,
uqsub, usqadd, usra_n, ursra_n, uqshrn_n, uqrshrn_n, usri_n, usli_n,
sqshlu_n, uqshl_n): Update qualifiers.
* gcc/config/aarch64/arm_neon.h (vqadd_u8, vqadd_u16, vqadd_u32,
vqadd_u64, vqaddq_u8, vqaddq_u16, vqaddq_u32, vqaddq_u64, vqsub_u8,
vqsub_u16, vqsub_u32, vqsub_u64, vqsubq_u8, vqsubq_u16, vqsubq_u32,
vqsubq_u64, vqaddb_u8, vqaddh_u16, vqadds_u32, vqaddd_u64, vqrshl_u8,
vqrshl_u16, vqrshl_u32, vqrshl_u64, vqrshlq_u8, vqrshlq_u16,
vqrshlq_u32, vqrshlq_u64, vqrshlb_u8, vqrshlh_u16, vqrshls_u32,
vqrshld_u64, vqrshrn_n_u16, vqrshrn_n_u32, vqrshrn_n_u64,
vqrshrnh_n_u16, vqrshrns_n_u32, vqrshrnd_n_u64, vqshl_u8, vqshl_u16,
vqshl_u32, vqshl_u64, vqshlq_u8, vqshlq_u16, vqshlq_u32, vqshlq_u64,
vqshlb_u8, vqshlh_u16, vqshls_u32, vqshld_u64, vqshl_n_u8, vqshl_n_u16,
vqshl_n_u32, vqshl_n_u64, vqshlq_n_u8, vqshlq_n_u16, vqshlq_n_u32,
vqshlq_n_u64, vqshlb_n_u8, vqshlh_n_u16, vqshls_n_u32, vqshld_n_u64,
vqshlu_n_s8, vqshlu_n_s16, vqshlu_n_s32, vqshlu_n_s64, vqshluq_n_s8,
vqshluq_n_s16, vqshluq_n_s32, vqshluq_n_s64, vqshlub_n_s8,
vqshluh_n_s16, vqshlus_n_s32, vqshlud_n_s64, vqshrn_n_u16,
vqshrn_n_u32, vqshrn_n_u64, vqshrnh_n_u16, vqshrns_n_u32,
vqshrnd_n_u64, vqsubb_u8, vqsubh_u16, vqsubs_u32, vqsubd_u64,
vrsra_n_u8, vrsra_n_u16, vrsra_n_u32, vrsra_n_u64, vrsraq_n_u8,
vrsraq_n_u16, vrsraq_n_u32, vrsraq_n_u64, vrsrad_n_u64, vsli_n_u8,
vsli_n_u16, vsli_n_u32,vsli_n_u64, vsliq_n_u8, vsliq_n_u16,
vsliq_n_u32, vsliq_n_u64, vslid_n_u64, vsqadd_u8, vsqadd_u16,
vsqadd_u32, vsqadd_u64, vsqaddq_u8, vsqaddq_u16, vsqaddq_u32,
vsqaddq_u64, vsqaddb_u8, vsqaddh_u16, vsqadds_u32, vsqaddd_u64,
vsra_n_u8, vsra_n_u16, vsra_n_u32, vsra_n_u64, vsraq_n_u8,
vsraq_n_u16, vsraq_n_u32, vsraq_n_u64, vsrad_n_u64, vsri_n_u8,
vsri_n_u16, vsri_n_u32, vsri_n_u64, vsriq_n_u8, vsriq_n_u16,
vsriq_n_u32, vsriq_n_u64, vsrid_n_u64): Remove casts.

From-SVN: r211185

10 years agotree-sra.c (modify_function): Record caller nodes after rebuild.
Teresa Johnson [Tue, 3 Jun 2014 14:12:51 +0000 (14:12 +0000)] 
tree-sra.c (modify_function): Record caller nodes after rebuild.

2014-06-03  Teresa Johnson  <tejohnson@google.com>

* tree-sra.c (modify_function): Record caller nodes after rebuild.

From-SVN: r211180

10 years agore PR c++/60848 (Crash while experimenting with c++-0x initializer lists)
Jason Merrill [Tue, 3 Jun 2014 14:11:10 +0000 (10:11 -0400)] 
re PR c++/60848 (Crash while experimenting with c++-0x initializer lists)

PR c++/60848
* call.c (is_std_init_list): Check CLASSTYPE_TEMPLATE_INFO.

From-SVN: r211179

10 years agore PR c++/61020 (typeid(typeid(X)) produces 'ud2')
Jason Merrill [Tue, 3 Jun 2014 11:56:58 +0000 (07:56 -0400)] 
re PR c++/61020 (typeid(typeid(X)) produces 'ud2')

PR c++/61020
* varpool.c (ctor_for_folding): Handle uninitialized vtables.

From-SVN: r211178

10 years agoDetect EXT patterns to vec_perm_const, use for EXT intrinsics.
Alan Lawrence [Tue, 3 Jun 2014 11:56:24 +0000 (11:56 +0000)] 
Detect EXT patterns to vec_perm_const, use for EXT intrinsics.

(part 2, fix ICE at -O0)

* config/aarch64/aarch64.c (aarch64_evpc_ext): allow and handle
location == 0.

From-SVN: r211177

10 years agoRecognize shuffle patterns for REV instructions on AArch64, rewrite intrinsics.
Alan Lawrence [Tue, 3 Jun 2014 11:28:55 +0000 (11:28 +0000)] 
Recognize shuffle patterns for REV instructions on AArch64, rewrite intrinsics.

        * config/aarch64/aarch64-simd.md (aarch64_rev<REVERSE:rev-op><mode>):
        New pattern.
        * config/aarch64/aarch64.c (aarch64_evpc_rev): New function.
        (aarch64_expand_vec_perm_const_1): Add call to aarch64_evpc_rev.
        * config/aarch64/iterators.md (REVERSE): New iterator.
        (UNSPEC_REV64, UNSPEC_REV32, UNSPEC_REV16): New enum elements.
        (rev_op): New int_attribute.
        * config/aarch64/arm_neon.h (vrev16_p8, vrev16_s8, vrev16_u8,
        vrev16q_p8, vrev16q_s8, vrev16q_u8, vrev32_p8, vrev32_p16, vrev32_s8,
        vrev32_s16, vrev32_u8, vrev32_u16, vrev32q_p8, vrev32q_p16, vrev32q_s8,
        vrev32q_s16, vrev32q_u8, vrev32q_u16, vrev64_f32, vrev64_p8,
        vrev64_p16, vrev64_s8, vrev64_s16, vrev64_s32, vrev64_u8, vrev64_u16,
        vrev64_u32, vrev64q_f32, vrev64q_p8, vrev64q_p16, vrev64q_s8,
        vrev64q_s16, vrev64q_s32, vrev64q_u8, vrev64q_u16, vrev64q_u32):
        Replace temporary __asm__ with __builtin_shuffle.

From-SVN: r211174

10 years agoAdd support for MIPS r3 and r5.
Andrew Bennett [Tue, 3 Jun 2014 11:10:05 +0000 (11:10 +0000)] 
Add support for MIPS r3 and r5.

2014-06-03  Andrew Bennett  <andrew.bennett@imgtec.com>

* config/mips/mips-cpus.def: Add mips32r3, mips32r5, mips64r3 and
mips64r5.
* config/mips/mips-tables.opt: Regenerate.
* config/mips/mips.c (mips_compute_frame_info): Changed if statement
to use mips_isa_rev rather than ISA_MIPS32R2.
* config/mips/mips.h (ISA_MIPS32R3): New define.
(ISA_MIPS32R5): New define.
(ISA_MIPS64R3): New define.
(ISA_MIPS64R5): New define.
(TARGET_CPU_CPP_BUILTINS): Added support for ISA_MIPS32R3, ISA_MIPS32R5,
ISA_MIPS64R3 and ISA_MIPS64R5.
(MIPS_ISA_LEVEL_SPEC): Added support for mips32r3, mips32r5, mips64r3
and mips64r5.
(MIPS_ISA_SYNCI_SPEC): Likewise.
(ISA_HAS_64BIT_REGS): Added ISA_MIPS64R3 and ISA_MIPS64R5.
(LINK_SPEC): Added mips32r3 and mips32r5.
* config/mips/t-isa3264 (MULTILIB_MATCHES): Map mips32r3 and mips32r5
to mips32r2; and mips64r3 and mips64r5 to mips64r2.
* config/mips/t-mti-elf (MULTILIB_MATCHES): Likewise.
* config/mips/t-mti-linux (MULTILIB_MATCHES): Likewise.
* config/mips/t-sde (MULTILIB_MATCHES): Likewise.
* config/mips/t-sdemtk (MULTILIB_MATCHES): New define.
* doc/invoke.texi: Document mips32r3, mips32r5, mips64r3 and mips64r5.

From-SVN: r211173