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
Tobias Burnus [Fri, 29 Mar 2013 09:39:47 +0000 (10:39 +0100)]
re PR libfortran/56737 (Wrong I/O result with format cache for Hollerith strings)
2012-03-29 Tobias Burnus <burnus@net-b.de>
PR fortran/56737
* io/format.c (parse_format_list): Also cache FMT_STRING.
(parse_format): Update call.
From-SVN: r197230
Tobias Burnus [Fri, 29 Mar 2013 09:37:37 +0000 (10:37 +0100)]
re PR libfortran/56737 (Wrong I/O result with format cache for Hollerith strings)
2013-03-29 Tobias Burnus <burnus@net-b.de>
PR fortran/56737
* io/format.c (parse_format): With caching, copy
dtp->format string.
(save_parsed_format): Use dtp->format directy without
copying.
2013-03-29 Tobias Burnus <burnus@net-b.de>
PR fortran/56737
* testsuite/gfortran.dg/fmt_cache_3.f90: New.
(Plus: Move fortran/ChangeLog item to libgfortran/ChangeLog)
From-SVN: r197229
Tobias Burnus [Fri, 29 Mar 2013 09:32:57 +0000 (10:32 +0100)]
re PR fortran/56735 (Namelist Read Error with question marks)
2013-03-29 Tobias Burnus <burnus@net-b.de>
PR fortran/56735
* io/list_read.c (nml_query): Only abort when
an error occured.
(namelist_read): Add goto instead of falling through.
2013-03-29 Tobias Burnus <burnus@net-b.de>
PR fortran/56735
* gfortran.dg/namelist_80.f90: New.
From-SVN: r197228
Lawrence Crowl [Fri, 29 Mar 2013 07:09:33 +0000 (07:09 +0000)]
Remove various unused items.
2013-03-28 Lawrence Crowl <crowl@google.com>
Index: gcc/ChangeLog
* graphds.h (struct graph.indicies): Remove unused.
* graphite-poly.h (struct graph.original_pddrs): Remove unused.
(SCOP_ORIGINAL_PDDRS): Remove unused.
* sese.h (extern insert_loop_close_phis): Removed unused.
(extern insert_guard_phis): Removed unused.
(extern ivtype_map_elt_info): Removed unused.
(new_ivtype_map_elt): Removed unused.
* sese.c (ivtype_map_elt_info): Removed unused.
From-SVN: r197226
Lawrence Crowl [Fri, 29 Mar 2013 03:42:21 +0000 (03:42 +0000)]
Add uniform debug dump function names.
Add some overloaded functions that provide uniform debug dump
function names. These names are:
debug: the general debug dumper
debug_verbose: for more details
debug_raw: for the gory details
debug_head: for the heads of declarations, e.g. function heads
debug_body: for the bodies of declarations, e.g. function bodies
Not all types have the last four versions.
The debug functions come in two flavors, those that take pointers
to the type, and those that take references to the type. The first
handles printing of '<nil>' for null pointers. The second assumes
a valid reference, and prints the content.
Example uses are as follows:
cp_token t, *p;
debug (t);
debug (p);
From the debugger, use
call debug (t)
The functions sets implemented are:
debug (only)
basic_block_def, const bitmap_head_def, cp_binding_level,
cp_parser, cp_token, data_reference, die_struct, edge_def,
gimple_statement_d, ira_allocno, ira_allocno_copy, live_range,
lra_live_range, omega_pb_d, pt_solution, const rtx_def, sreal,
tree_live_info_d, _var_map,
vec<cp_token, va_gc>, vec<data_reference_p>, vec<ddr_p>,
vec<rtx>, vec<tree, va_gc>,
debug and debug_raw
simple_bitmap_def
debug and debug_verbose
expr_def, struct loop, vinsn_def
debug, debug_raw, debug_verbose, debug_head, debug_body
const tree_node
This patch is somewhat different from the original plan at
gcc.gnu.org/wiki/cxx-conversion/debugging-dumps. The reason
is that gdb has an incomplete implementation of C++ call syntax;
requiring explicit specification of template arguments and explicit
specification of function arguments even when they have default
values. So, the original plan would have required typing
call dump <cp_token> (t, 0, 0, stderr)
which is undesireable. Instead instead of templates, we overload
plain functions. This adds a small burden of manually adding
the pointer version of dump for each type. Instead of default
function arguments, we simply assume the default values. Most of
the underlying dump functions did not use the options and indent
parameters anyway. Several provide FILE* parameters, but we expect
debugging to use stderr anyway. So, the explicit specification of
arguments was not as valuable as we thought initially. Finally,
a change of name from dump to debug reflect the implicit output
to stderr.
Index: gcc/ChangeLog
2013-03-28 Lawrence Crowl <crowl@google.com>
* Makefile.in: Add several missing include dependences.
(DUMPFILE_H): New.
(test-dump.o): New. This object is not added to any executable,
but is present for ad-hoc testing.
* bitmap.c
(debug (const bitmap_head_def &)): New.
(debug (const bitmap_head_def *)): New.
* bitmap.h
(extern debug (const bitmap_head_def &)): New.
(extern debug (const bitmap_head_def *)): New.
* cfg.c
(debug (edge_def &)): New.
(debug (edge_def *)): New.
* cfghooks.c
(debug (basic_block_def &)): New.
(debug (basic_block_def *)): New.
* dumpfile.h
(dump_node (const_tree, int, FILE *)): Correct source file.
* dwarf2out.c
(debug (die_struct &)): New.
(debug (die_struct *)): New.
* dwarf2out.h
(extern debug (die_struct &)): New.
(extern debug (die_struct *)): New.
* gimple-pretty-print.c
(debug (gimple_statement_d &)): New.
(debug (gimple_statement_d *)): New.
* gimple-pretty-print.h
(extern debug (gimple_statement_d &)): New.
(extern debug (gimple_statement_d *)): New.
* ira-build.c
(debug (ira_allocno_copy &)): New.
(debug (ira_allocno_copy *)): New.
(debug (ira_allocno &)): New.
(debug (ira_allocno *)): New.
* ira-int.h
(extern debug (ira_allocno_copy &)): New.
(extern debug (ira_allocno_copy *)): New.
(extern debug (ira_allocno &)): New.
(extern debug (ira_allocno *)): New.
* ira-lives.c
(debug (live_range &)): New.
(debug (live_range *)): New.
* lra-int.h
(debug (lra_live_range &)): New.
(debug (lra_live_range *)): New.
* lra-lives.c
(debug (lra_live_range &)): New.
(debug (lra_live_range *)): New.
* omega.c
(debug (omega_pb_d &)): New.
(debug (omega_pb_d *)): New.
* omega.h
(extern debug (omega_pb_d &)): New.
(extern debug (omega_pb_d *)): New.
* print-rtl.c
(debug (const rtx_def &)): New.
(debug (const rtx_def *)): New.
* print-tree.c
(debug_tree (tree): Move within file.
(debug_raw (const tree_node &)): New.
(debug_raw (const tree_node *)): New.
(dump_tree_via_hooks (const tree_node *, int)): New.
(debug (const tree_node &)): New.
(debug (const tree_node *)): New.
(debug_verbose (const tree_node &)): New.
(debug_verbose (const tree_node *)): New.
(debug_head (const tree_node &)): New.
(debug_head (const tree_node *)): New.
(debug_body (const tree_node &)): New.
(debug_body (const tree_node *)): New.
(debug_vec_tree (tree): Move and reimplement in terms of dump.
(debug (vec<tree, va_gc> &)): New.
(debug (vec<tree, va_gc> *)): New.
* rtl.h
(extern debug (const rtx_def &)): New.
(extern debug (const rtx_def *)): New.
* sbitmap.c
(debug_raw (simple_bitmap_def &)): New.
(debug_raw (simple_bitmap_def *)): New.
(debug (simple_bitmap_def &)): New.
(debug (simple_bitmap_def *)): New.
* sbitmap.h
(extern debug (simple_bitmap_def &)): New.
(extern debug (simple_bitmap_def *)): New.
(extern debug_raw (simple_bitmap_def &)): New.
(extern debug_raw (simple_bitmap_def *)): New.
* sel-sched-dump.c
(debug (vinsn_def &)): New.
(debug (vinsn_def *)): New.
(debug_verbose (vinsn_def &)): New.
(debug_verbose (vinsn_def *)): New.
(debug (expr_def &)): New.
(debug (expr_def *)): New.
(debug_verbose (expr_def &)): New.
(debug_verbose (expr_def *)): New.
(debug (vec<rtx> &)): New.
(debug (vec<rtx> *)): New.
* sel-sched-dump.h
(extern debug (vinsn_def &)): New.
(extern debug (vinsn_def *)): New.
(extern debug_verbose (vinsn_def &)): New.
(extern debug_verbose (vinsn_def *)): New.
(extern debug (expr_def &)): New.
(extern debug (expr_def *)): New.
(extern debug_verbose (expr_def &)): New.
(extern debug_verbose (expr_def *)): New.
(extern debug (vec<rtx> &)): New.
(extern debug (vec<rtx> *)): New.
* sel-sched-ir.h
(_list_iter_cond_expr): Make inline instead of static.
* sreal.c
(debug (sreal &)): New.
(debug (sreal *)): New.
* sreal.h
(extern debug (sreal &)): New.
(extern debug (sreal *)): New.
* tree.h
(extern debug_raw (const tree_node &)): New.
(extern debug_raw (const tree_node *)): New.
(extern debug (const tree_node &)): New.
(extern debug (const tree_node *)): New.
(extern debug_verbose (const tree_node &)): New.
(extern debug_verbose (const tree_node *)): New.
(extern debug_head (const tree_node &)): New.
(extern debug_head (const tree_node *)): New.
(extern debug_body (const tree_node &)): New.
(extern debug_body (const tree_node *)): New.
(extern debug (vec<tree, va_gc> &)): New.
(extern debug (vec<tree, va_gc> *)): New.
* tree-cfg.c
(debug (struct loop &)): New.
(debug (struct loop *)): New.
(debug_verbose (struct loop &)): New.
(debug_verbose (struct loop *)): New.
* tree-dump.c: Add header dependence.
* tree-flow.h
(extern debug (struct loop &)): New.
(extern debug (struct loop *)): New.
(extern debug_verbose (struct loop &)): New.
(extern debug_verbose (struct loop *)): New.
* tree-data-ref.c
(debug (data_reference &)): New.
(debug (data_reference *)): New.
(debug (vec<data_reference_p> &)): New.
(debug (vec<data_reference_p> *)): New.
(debug (vec<ddr_p> &)): New.
(debug (vec<ddr_p> *)): New.
* tree-data-ref.h
(extern debug (data_reference &)): New.
(extern debug (data_reference *)): New.
(extern debug (vec<data_reference_p> &)): New.
(extern debug (vec<data_reference_p> *)): New.
(extern debug (vec<ddr_p> &)): New.
(extern debug (vec<ddr_p> *)): New.
* tree-ssa-alias.c
(debug (pt_solution &)): New.
(debug (pt_solution *)): New.
* tree-ssa-alias.h
(extern debug (pt_solution &)): New.
(extern debug (pt_solution *)): New.
* tree-ssa-alias.c
(debug (_var_map &)): New.
(debug (_var_map *)): New.
(debug (tree_live_info_d &)): New.
(debug (tree_live_info_d *)): New.
* tree-ssa-alias.h
(extern debug (_var_map &)): New.
(extern debug (_var_map *)): New.
(extern debug (tree_live_info_d &)): New.
(extern debug (tree_live_info_d *)): New.
Index: gcc/cp/ChangeLog
2013-03-28 Lawrence Crowl <crowl@google.com>
* Make-lang.in
(CXX_PARSER_H): Add header dependence.
* cp-tree.h
(extern debug (cp_binding_level &)): New.
(extern debug (cp_binding_level *)): New.
* name-lookup.h
(debug (cp_binding_level &)): New.
(debug (cp_binding_level *)): New.
* parser.c
(debug (cp_parser &)): New.
(debug (cp_parser *)): New.
(debug (cp_token &)): New.
(debug (cp_token *)): New.
(debug (vec<cp_token, va_gc> &)): New.
(debug (vec<cp_token, va_gc> *)): New.
* parser.c: Add header dependence.
(extern debug (cp_parser &)): New.
(extern debug (cp_parser *)): New.
(extern debug (cp_token &)): New.
(extern debug (cp_token *)): New.
(extern debug (vec<cp_token, va_gc> &)): New.
(extern debug (vec<cp_token, va_gc> *)): New.
From-SVN: r197224
GCC Administrator [Fri, 29 Mar 2013 00:16:45 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r197223
Jan Hubicka [Thu, 28 Mar 2013 23:31:58 +0000 (00:31 +0100)]
* lto-cgraph.c (merge_profile_summaries): Fix overflows.
From-SVN: r197218
Thomas Koenig [Thu, 28 Mar 2013 21:30:26 +0000 (21:30 +0000)]
re PR fortran/45159 (Unnecessary temporaries)
2013-03-28 Thomas Koenig <tkoenig@gcc.gnu.org>
PR fortran/45159
* gfortran.h (gfc_dep_difference): Add prototype.
* dependency.c (discard_nops): New function.
(gfc_dep_difference): New function.
(check_section_vs_section): Use gfc_dep_difference
to calculate the difference of starting indices.
* trans-expr.c (gfc_conv_substring): Use
gfc_dep_difference to calculate the length of
substrings where possible.
2013-03-28 Thomas Koenig <tkoenig@gcc.gnu.org>
PR fortran/45159
* gfortran.dg/string_length_2.f90: New test.
* gfortran.dg/dependency_41.f90: New test.
From-SVN: r197217
Thomas Koenig [Thu, 28 Mar 2013 21:02:00 +0000 (21:02 +0000)]
re PR fortran/55806 (Missed optimization with ANY or ALL)
2013-03-28 Thomas Koenig <tkoenig@gcc.gnu.org>
PR fortran/55806
* frontend-passes.c (optimize_code): Keep track of
current code to make code insertion possible.
(combine_array_constructor): New function.
(optimize_op): Call it.
2013-03-28 Thomas Koenig <tkoenig@gcc.gnu.org>
PR fortran/55806
* gfortran.dg/array_constructor_43.f90: New test.
* gfortran.dg/random_seed_3.f90: New test.
From-SVN: r197216
Ian Bolton [Thu, 28 Mar 2013 20:33:15 +0000 (20:33 +0000)]
[AArch64] Only maintain frame record when required or desired
From-SVN: r197215
Jason Merrill [Thu, 28 Mar 2013 18:21:06 +0000 (14:21 -0400)]
re PR c++/17232 ([DR 1640] classes and class template specializations treated differently w.r.t. core issue #337)
PR c++/17232
PR c++/52748
* typeck2.c (abstract_virtuals_error_sfinae): Don't complete
the type if tf_decltype is set.
* pt.c (fn_type_unification): Add decltype_p parm.
(get_bindings): Adjust.
* cp-tree.h: Adjust.
* class.c (resolve_address_of_overloaded_function): Adjust.
* call.c (add_template_candidate_real, print_z_candidate): Adjust.
From-SVN: r197214
Jason Merrill [Thu, 28 Mar 2013 18:20:58 +0000 (14:20 -0400)]
re PR c++/56679 ([C++11] Cannot take sizeof... a template template parameter pack)
PR c++/56679
* parser.c (cp_parser_sizeof_pack): Split out from...
(cp_parser_sizeof_operand): ...here. Require (id).
From-SVN: r197213
Jason Merrill [Thu, 28 Mar 2013 18:20:51 +0000 (14:20 -0400)]
re PR c++/56701 ([C++11] The *this* pointer fails to bind to rvalue reference to pointer type)
PR c++/56701
* semantics.c (finish_this_expr): 'this' is an rvalue.
* typeck.c (cp_build_indirect_ref): Handle NOP_EXPR of 'this'.
From-SVN: r197212
Jason Merrill [Thu, 28 Mar 2013 18:20:45 +0000 (14:20 -0400)]
re PR c++/56710 (Using reserved double underscore variable name in a lambda causes internal compiler error)
PR c++/56710
* semantics.c (finish_member_declaration): Don't push closure
members.
From-SVN: r197211
Jason Merrill [Thu, 28 Mar 2013 18:20:37 +0000 (14:20 -0400)]
name-lookup.c (pushdecl_maybe_friend_1): Use nonlambda_method_basetype and current_nonlambda_class_type.
* name-lookup.c (pushdecl_maybe_friend_1): Use
nonlambda_method_basetype and current_nonlambda_class_type.
From-SVN: r197210
Jason Merrill [Thu, 28 Mar 2013 18:20:30 +0000 (14:20 -0400)]
re PR c++/56728 (ICE using constexpr initialization and arrays)
PR c++/56728
* semantics.c (potential_constant_expression_1) [NOP_EXPR]: Reject
conversion from integer to pointer.
(cxx_eval_constant_expression): Likewise.
(cxx_eval_indirect_ref): Use the folded operand if we still think
this might be constant.
From-SVN: r197209
Uros Bizjak [Thu, 28 Mar 2013 18:18:50 +0000 (19:18 +0100)]
i386.md (*vec_extract2vdi_1): Merge with *vec_extractv2di_1_rex64.
* config/i386/i386.md (*vec_extract2vdi_1): Merge with
*vec_extractv2di_1_rex64. Use x64 isa attribute.
From-SVN: r197208
Naveen H.S [Thu, 28 Mar 2013 17:19:06 +0000 (17:19 +0000)]
aarch64.md (*and<mode>3_compare0): New pattern.
2013-03-28 Naveen H.S <Naveen.Hurugalawadi@caviumnetworks.com>
* config/aarch64/aarch64.md (*and<mode>3_compare0): New pattern.
(*andsi3_compare0_uxtw): New pattern.
(*and_<SHIFT:optab><mode>3_compare0): New pattern.
(*and_<SHIFT:optab>si3_compare0_uxtw): New pattern.
From-SVN: r197207
Paolo Carlini [Thu, 28 Mar 2013 16:03:32 +0000 (16:03 +0000)]
re PR c++/56725 (extra spaces in error message)
/cp
2013-03-28 Paolo Carlini <paolo.carlini@oracle.com>
Manuel Lopez-Ibanez <manu@gcc.gnu.org>
PR c++/56725
* call.c (convert_like_real): Change series of two permerrors
to permerror + inform (and likewise for two errors).
(build_new_method_call_1): Likewise.
* typeck.c (convert_for_initialization): Change additional
warning or error to inform.
/testsuite
2013-03-28 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/56725
* g++.dg/conversion/op4.C: Adjust.
* g++.dg/cpp0x/rv1n.C: Likewise.
* g++.dg/cpp0x/rv2n.C: Likewise.
* g++.dg/cpp0x/template_deduction.C: Likewise.
* g++.dg/expr/cond8.C: Likewise.
* g++.dg/other/error4.C: Likewise.
* g++.old-deja/g++.bugs/900514_03.C: Likewise.
* g++.old-deja/g++.bugs/900519_02.C: Likewise.
* g++.old-deja/g++.bugs/900519_03.C: Likewise.
* g++.old-deja/g++.bugs/900520_02.C: Likewise.
* g++.old-deja/g++.jason/conversion2.C: Likewise.
* g++.old-deja/g++.law/cvt20.C: Likewise.
* g++.old-deja/g++.law/cvt8.C: Likewise.
* g++.old-deja/g++.law/init8.C: Likewise.
* g++.old-deja/g++.mike/net12.C: Likewise.
* g++.old-deja/g++.mike/net8.C: Likewise.
* g++.old-deja/g++.mike/p2793.C: Likewise.
* g++.old-deja/g++.mike/p3836.C: Likewise.
* g++.old-deja/g++.mike/p418.C: Likewise.
* g++.old-deja/g++.mike/p701.C: Likewise.
* g++.old-deja/g++.mike/p807.C: Likewise.
From-SVN: r197206
Jan Hubicka [Thu, 28 Mar 2013 15:29:40 +0000 (16:29 +0100)]
data-streamer-in.c (streamer_read_gcov_count): New function.
* data-streamer-in.c (streamer_read_gcov_count): New function.
* gimple-streamer-out.c: Include value-prof.h.
(output_gimple_stmt): Output histogram.
(output_bb): Use streamer_write_gcov_count.
* value-prof.c: Include data-streamer.h
(dump_histogram_value): Add HIST_TYPE_MAX.
(stream_out_histogram_value): New function.
(stream_in_histogram_value): New function.
* value-prof.h (enum hist_type): Add HIST_TYPE_MAX.
(stream_out_histogram_value, stream_in_histogram_value): Declare.
* data-streamer-out.c (streamer_write_gcov_count): New function.
(streamer_write_gcov_count_stream): New function.
* lto-cgraph.c (lto_output_edge): Update counter streaming.
(lto_output_node): Likewise.
(input_node, input_edge): Likewise.
* lto-streamer-out.c (output_cfg): Update streaming.
* lto-streamer-in.c (input_cfg): Likewise.
* data-streamer.h (streamer_write_gcov_count,
streamer_write_gcov_count_stream, streamer_read_gcov_count): Declare.
* gimple-streamer-in.c: Include value-prof.h
(input_gimple_stmt): Input histograms.
(input_bb): Update profile streaming.
From-SVN: r197205
Tejas Belagod [Thu, 28 Mar 2013 14:57:43 +0000 (14:57 +0000)]
re PR c++/56694 (Internal compiler error when compiling OpenMP code)
2013-03-28 Tejas Belagod <tejas.belagod@arm.com>
PR middle-end/56694
* g++.dg/torture/pr56694.C: Fix test case to build on bare-metal
targets.
From-SVN: r197201
Kenneth Zadeck [Thu, 28 Mar 2013 14:46:31 +0000 (14:46 +0000)]
genmodes.c (emit_max_int): New function.
2013-03-28 Kenneth Zadeck <zadeck@naturalbridge.com>
* genmodes.c (emit_max_int): New function.
(emit_insn_modes_h): Added call to emit_max_function.
* doc/rtl.texi (MAX_BITSIZE_MODE_ANY_INT, MAX_BITSIZE_MODE_ANY_MODE): Added doc.
* machmode.def: Fixed comment.
From-SVN: r197200
Kenneth Zadeck [Thu, 28 Mar 2013 14:09:46 +0000 (14:09 +0000)]
combine.c (try_combine): Removed useless assert.
2013-03-28 Kenneth Zadeck <zadeck@naturalbridge.com>
* combine.c (try_combine): Removed useless assert.
* cselib.c (rtx_equal_for_cselib_1): Removed unnecessary parens.
From-SVN: r197198
Gabriel Dos Reis [Thu, 28 Mar 2013 13:48:56 +0000 (13:48 +0000)]
cp-tree.h (next_aggr_init_expr_arg): Remove static specifier.
* cp-tree.h (next_aggr_init_expr_arg): Remove static specifier.
(first_aggr_init_expr): Likewise.
(more_aggr_init_expr_args_p): Likewise.
(type_of_this_parm): Likewise.
(class_of_this_parm): Likewise.
* name-lookup.h (get_global_value_if_present): Likewise.
(is_typename_at_global_scope): Likewise.
From-SVN: r197196
Marek Polacek [Thu, 28 Mar 2013 11:14:44 +0000 (11:14 +0000)]
re PR tree-optimization/56695 (ICE in expand_vec_cond_expr, at optabs.c:6751)
PR tree-optimization/56695
* tree-vect-stmts.c (vectorizable_condition): Unconditionally
build signed result of a vector comparison.
* tree-cfg.c (verify_gimple_comparison): Check that a result
of a vector comparison has signed type.
Co-Authored-By: Richard Biener <rguenther@suse.de>
From-SVN: r197192
Paolo Carlini [Thu, 28 Mar 2013 10:00:05 +0000 (10:00 +0000)]
call.c (joust): Don't call inform for a permerror returning false.
2013-03-28 Paolo Carlini <paolo.carlini@oracle.com>
* call.c (joust): Don't call inform for a permerror returning false.
* parser.c (cp_parser_check_class_key): Likewise.
* pt.c (tsubst_copy_and_build): Likewise.
From-SVN: r197190
Richard Biener [Thu, 28 Mar 2013 09:55:15 +0000 (09:55 +0000)]
re PR tree-optimization/37021 (Fortran Complex reduction / multiplication not vectorized)
2013-03-28 Richard Biener <rguenther@suse.de>
PR tree-optimization/37021
* tree-vect-slp.c (vect_build_slp_tree): When not unrolling
do not restrict gaps between groups.
* tree-vect-stmts.c (vectorizable_load): Properly account for
a gap between groups.
* gcc.dg/vect/fast-math-slp-38.c: New testcase.
* gcc.dg/vect/O3-pr36098.c: Un-XFAIL.
From-SVN: r197189
Eric Botcazou [Thu, 28 Mar 2013 08:29:10 +0000 (08:29 +0000)]
toplev.c (process_options): Do not disable -fomit-frame-pointer on a general basis if...
* toplev.c (process_options): Do not disable -fomit-frame-pointer on a
general basis if unwind info is requested and ACCUMULATE_OUTGOING_ARGS
is not enabled.
From-SVN: r197186
GCC Administrator [Thu, 28 Mar 2013 00:16:44 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r197184
Gerald Pfeifer [Wed, 27 Mar 2013 22:39:27 +0000 (22:39 +0000)]
invoke.texi (AVR Options): Tweak link for AVR-LibC user manual.
* doc/invoke.texi (AVR Options): Tweak link for AVR-LibC user manual.
* doc/extend.texi (Named Address Spaces): Ditto.
(Variable Attributes): Ditto.
From-SVN: r197180
Kai Tietz [Wed, 27 Mar 2013 22:01:39 +0000 (23:01 +0100)]
configure: Regenerated.
* configure: Regenerated.
From-SVN: r197179
Kai Tietz [Wed, 27 Mar 2013 22:00:53 +0000 (23:00 +0100)]
configure: Regenerated.
* configure: Regenerated.
From-SVN: r197178
Kai Tietz [Wed, 27 Mar 2013 22:00:03 +0000 (23:00 +0100)]
configure: Regenerated.
* configure: Regenerated.
From-SVN: r197177
Kai Tietz [Wed, 27 Mar 2013 21:59:10 +0000 (22:59 +0100)]
config.host: Add support for cygwin x64 target.
2013-03-27 Kai Tietz <ktietz@redhat.com>
* config.host: Add support for cygwin x64 target.
* configure: Regenerated.
From-SVN: r197176
Kai Tietz [Wed, 27 Mar 2013 21:58:04 +0000 (22:58 +0100)]
Fix whitespace issue
From-SVN: r197175
Kai Tietz [Wed, 27 Mar 2013 21:56:57 +0000 (22:56 +0100)]
crossconfig.m4: Add support for cygwin x64 target.
* crossconfig.m4: Add support for cygwin x64 target.
* configure: Regenerated.
From-SVN: r197174
Joseph Myers [Wed, 27 Mar 2013 21:55:16 +0000 (21:55 +0000)]
* zh_TW.po: Update.
From-SVN: r197172
Kai Tietz [Wed, 27 Mar 2013 21:54:50 +0000 (22:54 +0100)]
config.build: Add support for cygwin x64 target.
* config.build: Add support for cygwin x64 target.
* config.gcc: Likewise.
* config.host: Likewise.
* configure.ac: Likewise
* configure: Regenerated.
From-SVN: r197171
Kai Tietz [Wed, 27 Mar 2013 21:53:32 +0000 (22:53 +0100)]
dfp.m4: Add support for cygwin x64 target.
* dfp.m4: Add support for cygwin x64 target.
* picflag.m4: Likewise.
From-SVN: r197170
Kai Tietz [Wed, 27 Mar 2013 20:54:01 +0000 (21:54 +0100)]
cygwin-stdint.h: Add support for cygwin x64 target.
* config/i386/cygwin-stdint.h: Add support for cygwin x64 target.
* config/i386/t-cygwin-w64: New file.
* config/i386/cygwin-w64.h: New file.
* config/i386/cygwin.h (EXTRA_OS_CPP_BUILTINS): Extend
and add support for x64-cygwin target.
(CPP_SPEC): Likewise.
(CXX_WRAP_SPEC_LIST): Undefine before define.
(LIBGCJ_SONAME): Use 15 as version.
From-SVN: r197168
Jason Merrill [Wed, 27 Mar 2013 18:21:12 +0000 (14:21 -0400)]
re PR c++/56749 (weird interaction between scoped enum used as non-type template parameter and template lookup)
PR c++/56749
* semantics.c (finish_qualified_id_expr): Return early
for enum scope.
From-SVN: r197166
Richard Biener [Wed, 27 Mar 2013 15:10:50 +0000 (15:10 +0000)]
re PR target/56716 (during gcc 4.8.0 build on Cygwin: bid128_fma.c:4460:1: internal compiler error: Segmentation fault)
2013-03-27 Richard Biener <rguenther@suse.de>
PR tree-optimization/56716
* tree-ssa-structalias.c (perform_var_substitution): Adjust
dumping for ref nodes.
From-SVN: r197165
Martin Jambor [Wed, 27 Mar 2013 14:06:58 +0000 (15:06 +0100)]
re PR tree-optimization/55334 (mgrid regression (ipa-cp disables vectorization))
2013-03-27 Martin Jambor <mjambor@suse.cz>
PR tree-optimization/55334
* ipa-cp.c (initialize_node_lattices): Allow IPA-CP through and to
restricted pointers to arrays.
From-SVN: r197163
Gabriel Dos Reis [Wed, 27 Mar 2013 13:20:12 +0000 (13:20 +0000)]
Makefile.in (.SUFFIXES): Add .cc.
* Makefile.in (.SUFFIXES): Add .cc.
(.c.o): Apply same recipe for implicit rule .cc.o.
From-SVN: r197162
Tobias Burnus [Wed, 27 Mar 2013 10:45:58 +0000 (11:45 +0100)]
re PR fortran/56650 (Odd error messages with C_SIZEOF for valid code)
2013-03-27 Tobias Burnus <burnus@net-b.de>
PR fortran/56650
PR fortran/36437
* check.c (gfc_check_sizeof, gfc_check_c_sizeof,
gfc_check_storage_size): Update checks.
* intrinsic.texi (SIZEOF): Correct class.
* intrinsic.h (gfc_simplify_sizeof,
gfc_simplify_storage_size): New prototypes.
* intrinsic.c (add_functions): Use them.
* simplify.c (gfc_simplify_sizeof,
gfc_simplify_storage_size): New functions.
2013-03-27 Tobias Burnus <burnus@net-b.de>
PR fortran/56650
PR fortran/36437
* gfortran.dg/sizeof_2.f90: New.
* gfortran.dg/sizeof_3.f90: New.
* gfortran.dg/sizeof_proc.f90: Update dg-error.
From-SVN: r197159
Richard Biener [Wed, 27 Mar 2013 10:38:29 +0000 (10:38 +0000)]
re PR tree-optimization/37021 (Fortran Complex reduction / multiplication not vectorized)
2013-03-27 Richard Biener <rguenther@suse.de>
PR tree-optimization/37021
* tree-vect-data-refs.c (vect_check_strided_load): Allow
REALPART/IMAGPART_EXPRs around the supported refs.
* tree-ssa-structalias.c (find_func_aliases): Assume that
floating-point values are not used to transfer pointers.
* gfortran.dg/vect/fast-math-pr37021.f90: New testcase.
From-SVN: r197158
Alexander Ivchenko [Wed, 27 Mar 2013 10:00:43 +0000 (10:00 +0000)]
ivinline-1.C: Add target nonpic.
* g++.dg/ipa/ivinline-1.C: Add target nonpic.
* g++.dg/ipa/ivinline-2.C: Likewise.
* g++.dg/ipa/ivinline-3.C: Likewise.
* g++.dg/ipa/ivinline-4.C: Likewise.
* g++.dg/ipa/ivinline-5.C: Likewise.
* g++.dg/ipa/ivinline-7.C: Likewise.
* g++.dg/ipa/ivinline-8.C: Likewise.
* g++.dg/ipa/ivinline-9.C: Likewise.
* g++.dg/cpp0x/noexcept03.C: Likewise.
* gcc.dg/const-1.c: Likewise.
* gcc.dg/ipa/pure-const-1.c: Likewise.
* gcc.dg/noreturn-8.c: Likewise.
* gcc.target/i386/mmx-1.c: Likewise.
* gcc.dg/tree-ssa/ipa-split-5.c: Likewise.
* gcc.dg/tree-ssa/loadpre6.c: Likewise.
* gcc.c-torture/execute/pr33992.x: New file.
From-SVN: r197157
Alexander Ivchenko [Wed, 27 Mar 2013 09:55:19 +0000 (09:55 +0000)]
target.def (TARGET_HAS_IFUNC_P): New target hook.
* gcc/target.def (TARGET_HAS_IFUNC_P): New target hook.
* gcc/doc/tm.texi.in (TARGET_HAS_IFUNC_P): New.
* gcc/doc/tm.texi: Regenerate.
* gcc/targhooks.h (default_has_ifunc_p): New.
* gcc/targhooks.c (default_has_ifunc_p): Ditto.
* gcc/config/linux-protos.h: New file.
* gcc/config/linux-android.h (TARGET_HAS_IFUNC_P): Using version of
this hook for linux which disables support of indirect functions in
android.
* gcc/config/linux-android.c: New file.
* gcc/config/t-linux-android.c: Ditto.
* gcc/config.gcc: Added new object file linux-android.o.
* gcc/config/i386/i386.c (ix86_get_function_versions_dispatcher):
Using TARGET_HAS_IFUNC hook instead of HAVE_GNU_INDIRECT_FUNCTION.
* gcc/varasm.c (do_assemble_alias): Likewise.
* configure.ac: Define HAVE_GNU_INDIRECT_FUNCTION as zero if the target
doesn't support indirect functions.
* configure: Regenerate.
From-SVN: r197156
Bin Cheng [Wed, 27 Mar 2013 08:16:54 +0000 (08:16 +0000)]
re PR target/56102 (Wrong rtx cost calculated for Thumb1)
PR target/56102
* config/arm/arm.c (thumb1_rtx_costs, thumb1_size_rtx_costs): Fix
rtx costs for SET/ASHIFT/ASHIFTRT/LSHIFTRT/ROTATERT patterns with
mult-word mode.
From-SVN: r197155
Andreas Krebbel [Wed, 27 Mar 2013 07:46:19 +0000 (07:46 +0000)]
I've committed the attached patch.
2013-03-27 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
* config/s390/s390.h (TARGET_FLT_EVAL_METHOD): Define.
---
gcc/config/s390/s390.h | 5 +++++
1 file changed, 5 insertions(+)
Index: gcc/config/s390/s390.h
===================================================================
*** gcc/config/s390/s390.h.orig
--- gcc/config/s390/s390.h
*************** enum processor_flags
*** 164,169 ****
--- 164,174 ----
#define S390_TDC_INFINITY (S390_TDC_POSITIVE_INFINITY \
| S390_TDC_NEGATIVE_INFINITY )
+ /* This is used by float.h to define the float_t and double_t data
+ types. For historical reasons both are double on s390 what cannot
+ be changed anymore. */
+ #define TARGET_FLT_EVAL_METHOD 1
+
/* Target machine storage layout. */
/* Everything is big-endian. */
From-SVN: r197154
Terry Guo [Wed, 27 Mar 2013 07:37:32 +0000 (07:37 +0000)]
arm-cores.def: Added core cortex-r7.
2013-03-27 Terry Guo <terry.guo@arm.com>
* config/arm/arm-cores.def: Added core cortex-r7.
* config/arm/arm-tune.md: Regenerated.
* config/arm/arm-tables.opt: Regenerated.
* doc/invoke.texi: Added entry for core cortex-r7.
From-SVN: r197153
Walter Lee [Wed, 27 Mar 2013 06:53:21 +0000 (06:53 +0000)]
Fix typo in ChangeLog.
From-SVN: r197152
Walter Lee [Wed, 27 Mar 2013 06:18:49 +0000 (06:18 +0000)]
tilegx.c (tilegx_expand_prologue): Avoid double-decrement of next_scratch_regno.
* config/tilegx/tilegx.c (tilegx_expand_prologue): Avoid
double-decrement of next_scratch_regno.
From-SVN: r197139
Walter Lee [Wed, 27 Mar 2013 06:17:18 +0000 (06:17 +0000)]
tilegx.md (insn_v1mulu): Fix constraints on input operands.
* config/tilegx/tilegx.md (insn_v1mulu): Fix constraints on
input operands.
(insn_v1mulus): Ditto.
(insn_v2muls): Ditto.
From-SVN: r197138
Walter Lee [Wed, 27 Mar 2013 06:13:11 +0000 (06:13 +0000)]
tilegx.h (ASM_OUTPUT_ADDR_VEC_ELT): Delete extra tab.
* config/tilegx/tilegx.h (ASM_OUTPUT_ADDR_VEC_ELT): Delete
extra tab.
(ASM_OUTPUT_ADDR_DIFF_ELT): Ditto.
From-SVN: r197137
Walter Lee [Wed, 27 Mar 2013 06:11:35 +0000 (06:11 +0000)]
tilegx.md (*sibcall_insn): Fix type atribute for jr.
* config/tilegx/tilegx.md (*sibcall_insn): Fix type atribute
for jr.
(*sibcall_value): Ditto.
From-SVN: r197136
Walter Lee [Wed, 27 Mar 2013 06:08:01 +0000 (06:08 +0000)]
tilegx.md (insn_mnz_<mode>): Replaced by ...
* config/tilegx/tilegx.md (insn_mnz_<mode>): Replaced by ...
(insn_mnz_v8qi): ... this ...
(insn_mnz_v4hi): ... and this. Replace (const_int 0) with the
vector equivalent.
(insn_v<n>mnz): Replaced by ...
(insn_v1mnz): ... this ...
(insn_v2mnz): ... and this. Replace (const_int 0) with the vector
equivalent.
(insn_mz_<mode>): Replaced by ...
(insn_mz_v8qi): ... this ...
(insn_mz_v4hi): ... and this. Replace (const_int 0) with the
vector equivalent.
(insn_v<n>mz): Replaced by ...
(insn_v1mz): ... this ...
(insn_v2mz): ... and this. Replace (const_int 0) with the vector
equivalent.
From-SVN: r197135
Gabriel Dos Reis [Wed, 27 Mar 2013 03:22:31 +0000 (03:22 +0000)]
call.c (build_new_method_call_1): Use INDIRECT_REF_P.
* call.c (build_new_method_call_1): Use INDIRECT_REF_P.
* cvt.c (convert_to_void): Likewise.
* error.c (dump_expr): Likewise.
* mangle.c (write_expression): Likewise.
* parser.c (cp_parser_template_argument): Likewise.
* pt.c (convert_nontype_argument): Likewise.
(tsubst_copy_and_build): Likewise.
* rtti.c (build_typeid): Likewise.
* semantics.c (finish_call_expr): Likewise.
(finish_decltype_type): Likewise.
(build_data_member_initialization): Likewise.
* tree.c (is_dummy_object): Likewise.
* typeck.c (decay_conversion): Likewise.
(build_class_member_access_expr): Likewise.
(cp_build_addr_expr_1): Likewise.
(unary_complex_lvalue): Likewise.
(check_return_expr): Likewise.
* typeck2.c (cxx_readonly_error): Likewise.
From-SVN: r197132
Jason Merrill [Wed, 27 Mar 2013 03:01:41 +0000 (23:01 -0400)]
re PR c++/52597 ([C++11] confusing diagnostics for invalid use of non-static member function in decltype)
PR c++/52597
* typeck.c (invalid_nonstatic_memfn_p): Use get_first_fn. Take tree.
* semantics.c (finish_decltype_type): Check it before type_unknown_p.
* cp-tree.h: Adjust prototype.
From-SVN: r197131
Jason Merrill [Wed, 27 Mar 2013 03:01:34 +0000 (23:01 -0400)]
re PR c++/45282 (wrong decltype result for .*)
PR c++/45282
* typeck2.c (build_m_component_ref): Handle prvalue object.
From-SVN: r197130
GCC Administrator [Wed, 27 Mar 2013 00:16:48 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r197129
Eric Botcazou [Tue, 26 Mar 2013 22:32:12 +0000 (22:32 +0000)]
* gcc.c-torture/execute/
20011008-3.c: Cap VLEN with STACK_SIZE too.
From-SVN: r197125
Janne Blomqvist [Tue, 26 Mar 2013 22:08:17 +0000 (00:08 +0200)]
PR 25708 Use a temporary buffer when parsing module files.
2013-03-27 Janne Blomqvist <jb@gcc.gnu.org>
PR fortran/25708
* module.c (module_locus): Use long for position.
(module_content): New variable.
(module_pos): Likewise.
(prev_character): Remove.
(bad_module): Free data instead of closing mod file.
(set_module_locus): Use module_pos.
(get_module_locus): Likewise.
(module_char): use buffer rather than stdio file.
(module_unget_char): Likewise.
(read_module_to_tmpbuf): New function.
(gfc_use_module): Call read_module_to_tmpbuf.
From-SVN: r197124
Eric Botcazou [Tue, 26 Mar 2013 22:04:26 +0000 (22:04 +0000)]
* doc/invoke.texi (SPARC options): Remove -mlittle-endian.
From-SVN: r197120
Gabriel Dos Reis [Tue, 26 Mar 2013 20:05:55 +0000 (20:05 +0000)]
cp-gimplify.c (cp_genericize_r): Use VAR_OR_FUNCTION_DECL_P.
* cp-gimplify.c (cp_genericize_r): Use VAR_OR_FUNCTION_DECL_P.
* decl.c (duplicate_decls): Likewise.
(cp_finish_decl): Likewise.
(check_class_member_definition_namespace): Likewise.
* decl2.c (grokfield): Likewise.
(decl_needed_p): Likewise.
(import_export_decl): Likewise.
(mark_used): Likewise.
* name-lookup.c (pushdecl_maybe_friend_1): Likewise.
* pt.c (push_access_scope): Likewise.
(instantiate_decl): Likewise.
* ptree.c (cxx_print_decl): Likewise.
* repo.c (repo_emit_p): Likewise.
* semantics.c (note_decl_for_pch): Likewise.
* tree.c (decl_linkage): Likewise.
From-SVN: r197119
Joseph Myers [Tue, 26 Mar 2013 17:11:44 +0000 (17:11 +0000)]
* de.po, sv.po: Update.
From-SVN: r197117
Paolo Carlini [Tue, 26 Mar 2013 16:49:49 +0000 (16:49 +0000)]
re PR c++/55951 (ICE in check_array_designated_initializer, at cp/decl.c:4785)
/cp
2013-03-26 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/55951
* decl.c (check_array_designated_initializer): Handle CONST_DECL
as ce->index.
/testsuite
2013-03-26 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/55951
* g++.dg/ext/desig5.C: New.
From-SVN: r197116
Roland McGrath [Tue, 26 Mar 2013 16:43:09 +0000 (16:43 +0000)]
arm.c (arm_print_operand: case 'w'): Use fputs rather than fprintf with a non-constant, non-format string.
* config/arm/arm.c (arm_print_operand: case 'w'): Use fputs rather
than fprintf with a non-constant, non-format string.
From-SVN: r197115
Uros Bizjak [Tue, 26 Mar 2013 16:24:48 +0000 (17:24 +0100)]
i386.md (*cmpqi_ext_1): Merge with *cmpqi_ext_1_rex64 using nox64 isa attribute.
* config/i386/i386.md (*cmpqi_ext_1): Merge with *cmpqi_ext_1_rex64
using nox64 isa attribute. Use nonimmediate_x86nomem_operand as
operand 0 predicate.
(*cmpqi_ext_3): Merge with *cmpqi_ext_3_rex64 using nox64 isa
attribute. Use general_x64nomem_operand as operand 1 predicate.
(*movqi_extv_1): Merge with *movqi_extv_1_rex64 using nox64 isa
attribute. Use nonimmediate_x64nomem_operand as operand 0 predicate.
(*movqi_extzv_2): Merge with *movqi_extzv_2_rex64 using nox64 isa
attribute. Use nonimmediate_x64nomem_operand as operand 0 predicate.
(mov<mode>_insv_1): Remove expander. Merge insn with
movsi_insv_1 using SWI48 mode iterator and nox64 isa attribute.
Use general_x64nomem_operand as operand 1 predicate.
(addqi_ext_1): Merge with *addqi_ext_1_rex64 using nox64 isa attribute.
(*testqi_ext_1): Merge with *testqi_ext_1_rex64 using nox64 isa
attribute. Use nonimmediate_x64nomem_operand as operand 1 predicate.
(*andqi_ext_1): Merge with *andqi_ext_1_rex64 using nox64 isa
attribute. Use nonimmediate_x64nomem_operand as operand 2 predicate.
(*<code>qi_ext_1): Merge with *<code>qi_ext_1_rex64 using nox64 isa
attribute. Use nonimmediate_x64nomem_operand as operand 1 predicate.
(*xorqi_cc_ext_1): Merge with *xorqi_cc_ext_1_rex64 using nox64
isa attribute. Use general_x64nomem_operand as operand 2 predicate.
* config/i386/predicates.md (nonimmediate_x64nomem_operand): New.
(general_x64nomem_operand): Ditto.
From-SVN: r197114
Joel Sherrill [Tue, 26 Mar 2013 15:48:39 +0000 (15:48 +0000)]
Fix date.
From-SVN: r197112
Sebastian Huber [Tue, 26 Mar 2013 15:47:12 +0000 (15:47 +0000)]
rtems.opt: Add -pthread option.
2013-01-29 Sebastian Huber <sebastian.huber@embedded-brains.de>
* config/rtems.opt: Add -pthread option.
From-SVN: r197111
Richard Biener [Tue, 26 Mar 2013 15:20:38 +0000 (15:20 +0000)]
alias.c (find_base_term): Avoid redundant and not used recursion.
2013-03-26 Richard Biener <rguenther@suse.de>
* alias.c (find_base_term): Avoid redundant and not used
recursion.
(base_alias_check): Get the initial base term from the
caller.
(true_dependence_1): Compute and pass base terms to base_alias_check.
(write_dependence_p): Likewise.
(may_alias_p): Likewise.
From-SVN: r197110
Tobias Burnus [Tue, 26 Mar 2013 14:51:56 +0000 (15:51 +0100)]
re PR fortran/56649 (ICE gfc_conv_structure with MERGE)
2013-03-26 Tobias Burnus <burnus@net-b.de>
PR fortran/56649
* simplify.c (gfc_simplify_merge): Simplify more.
2013-03-26 Tobias Burnus <burnus@net-b.de>
PR fortran/56649
* gfortran.dg/merge_init_expr_2.f90: New.
* gfortran.dg/merge_char_1.f90: Modify test to
stay a run-time test.
* gfortran.dg/merge_char_3.f90: Ditto.
From-SVN: r197109
Sofiane Naci [Tue, 26 Mar 2013 14:41:11 +0000 (14:41 +0000)]
aarch64.c (aarch64_classify_address): Support PC-relative load in SI modes and above only.
* config/aarch64/aarch64.c (aarch64_classify_address): Support
PC-relative load in SI modes and above only.
From-SVN: r197107
Xinyu Qi [Tue, 26 Mar 2013 14:01:24 +0000 (14:01 +0000)]
For Xinyu Qi - Fix define_constants for WCGR.
From-SVN: r197104
Uros Bizjak [Tue, 26 Mar 2013 12:37:46 +0000 (13:37 +0100)]
i386.md (*movdfcc_1): Merge with *movdfcc_1_rex64.
* config/i386/i386.md (*movdfcc_1): Merge with *movdfcc_1_rex64.
Use x64 and nox64 isa attributes.
From-SVN: r197101
Paolo Carlini [Tue, 26 Mar 2013 10:23:59 +0000 (10:23 +0000)]
decl.c (grokfndecl): Handle separately <inline> and <constexpr> error messages.
/cp
2013-03-26 Paolo Carlini <paolo.carlini@oracle.com>
* decl.c (grokfndecl): Handle separately <inline> and <constexpr>
error messages.
* decl.c (grokdeclarator): Declare typedef_p and use it everywhere.
/testsuite
2013-03-26 Paolo Carlini <paolo.carlini@oracle.com>
* g++.dg/cpp0x/constexpr-friend-2.C: New.
* g++.dg/cpp0x/constexpr-main.C: Likewise.
From-SVN: r197097
Richard Biener [Tue, 26 Mar 2013 09:14:59 +0000 (09:14 +0000)]
emit-rtl.c (set_mem_attributes_minus_bitpos): Remove alignment computations and rely on get_object_alignment_1 for the...
2013-03-26 Richard Biener <rguenther@suse.de>
* emit-rtl.c (set_mem_attributes_minus_bitpos): Remove
alignment computations and rely on get_object_alignment_1
for the !TYPE_P case.
Commonize DECL/COMPONENT_REF handling in the ARRAY_REF path.
From-SVN: r197095
Walter Lee [Tue, 26 Mar 2013 05:02:28 +0000 (05:02 +0000)]
tilegx.h (PROFILE_BEFORE_PROLOGUE): Define.
* config/tilegx/tilegx.h (PROFILE_BEFORE_PROLOGUE): Define.
* config/tilegx/tilepro.h (PROFILE_BEFORE_PROLOGUE): Define.
From-SVN: r197084
Walter Lee [Tue, 26 Mar 2013 04:34:45 +0000 (04:34 +0000)]
t-crtstuff: Add -fno-asynchronous-unwind-tables -mcmodel=large to CRTSTUFF_T_CFLAGS_S variable.
* config/tilegx/t-crtstuff: Add -fno-asynchronous-unwind-tables
-mcmodel=large to CRTSTUFF_T_CFLAGS_S variable.
From-SVN: r197083
Jeff Law [Tue, 26 Mar 2013 04:00:20 +0000 (22:00 -0600)]
tree-ssa-dom.c (record_equivalences_from_incoming_edge): Add missing check for INTEGRAL_TYPE_P that was missing due to checking in wrong...
* tree-ssa-dom.c (record_equivalences_from_incoming_edge): Add missing
check for INTEGRAL_TYPE_P that was missing due to checking in wrong
version of prior patch.
From-SVN: r197082
Walter Lee [Tue, 26 Mar 2013 00:54:47 +0000 (00:54 +0000)]
tilegx-builtins.h (enum tilegx_builtin): Add TILEGX_INSN_SHUFFLEBYTES1.
* config/tilegx/tilegx-builtins.h (enum tilegx_builtin): Add
TILEGX_INSN_SHUFFLEBYTES1.
* config/tilegx/tilegx.c (tilegx_builtin_info): Add entry for
shufflebytes1.
(tilegx_builtins): Ditto.
* config/tilegx/tilegx.md (insn_shufflebytes1): New pattern.
From-SVN: r197080
Walter Lee [Tue, 26 Mar 2013 00:46:35 +0000 (00:46 +0000)]
tilegx.md (floatsisf2): New pattern.
2013-03-25 Walter Lee <walt@tilera.com>
* config/tilegx/tilegx.md (floatsisf2): New pattern.
(floatunssisf2): New pattern.
(floatsidf2): New pattern.
(floatunssidf2): New pattern.
From-SVN: r197079
GCC Administrator [Tue, 26 Mar 2013 00:16:17 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r197078
Walter Lee [Mon, 25 Mar 2013 23:59:38 +0000 (23:59 +0000)]
tilegx.c (expand_set_cint64_one_inst): Inline tests for constraint J, K, N, P.
* config/tilegx/tilegx.c (expand_set_cint64_one_inst): Inline
tests for constraint J, K, N, P.
From-SVN: r197074
Walter Lee [Mon, 25 Mar 2013 23:50:52 +0000 (23:50 +0000)]
Switch eh data to always use pc relative/indirect encoding, to avoid
relocations of unaligned words.
From-SVN: r197073
Steve Ellcey [Mon, 25 Mar 2013 23:12:01 +0000 (23:12 +0000)]
mmips-cpus.def (74kc, [...]): Add PTF_AVOID_IMADD.
2013-03-25 Steve Ellcey <sellcey@mips.com>
* config/mips/mmips-cpus.def (74kc, 74kf2_1, 74kf, 74kf, 74kf1_1,
74kfx, 74kx, 74kf3_2): Add PTF_AVOID_IMADD.
* config/mips/mips.c (mips_option_override): Set IMADD default.
* config/mips/mips.h (PTF_AVOID_IMADD): New.
(ISA_HAS_MADD_MSUB): Remove MIPS16 check.
(GENERATE_MADD_MSUB): Remove TUNE_74K check, add MIPS16 check.
* config/mips/mips.md (mimadd): New flag for integer madd/msub.
* doc/invoke.texi (-mimadd/-mno-imadd): New.
From-SVN: r197072
Jason Merrill [Mon, 25 Mar 2013 22:06:36 +0000 (18:06 -0400)]
re PR c++/56699 (Failed for sizeof (non-static member) in lambda expression)
PR c++/56699
* semantics.c (maybe_resolve_dummy): Make sure that the enclosing
class is derived from the type of the object.
From-SVN: r197069
Jason Merrill [Mon, 25 Mar 2013 22:06:27 +0000 (18:06 -0400)]
re PR c++/56692 ([C++11] Segmentation fault when calling static/non-static overloaded function from lambda)
PR c++/56692
* g++.dg/cpp0x/lambda/lambda-this15.C: New.
From-SVN: r197068
Jason Merrill [Mon, 25 Mar 2013 20:35:43 +0000 (16:35 -0400)]
re PR c++/52014 ([c++0x] Segfault When `decltype` Used in Nested Lambda Function Defined in Class Member Function)
PR c++/52014
* semantics.c (lambda_expr_this_capture): Don't capture 'this' in
unevaluated context.
From-SVN: r197063
Paolo Carlini [Mon, 25 Mar 2013 20:19:10 +0000 (20:19 +0000)]
re PR c++/56722 (C++11: syntax error in for loop ends in SEGV)
/cp
2013-03-25 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/56722
* decl.c (cp_finish_decl): Check DECL_LANG_SPECIFIC before
DECL_TEMPLATE_INSTANTIATION.
/testsuite
2013-03-25 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/56722
* g++.dg/cpp0x/range-for23.C: New.
From-SVN: r197062
Tilo Schwarz [Mon, 25 Mar 2013 20:11:20 +0000 (20:11 +0000)]
re PR fortran/52512 (Cannot match namelist object name)
2013-03-25 Tilo Schwarz <tilo@tilo-schwarz.de>
PR libfortran/52512
* io/list_read.c (nml_parse_qualifier): To check for a derived type
don't use the namelist head element type but the current element type.
(nml_get_obj_data): Add current namelist element type to
nml_parse_qualifier call.
2013-03-25 Tilo Schwarz <tilo@tilo-schwarz.de>
PR libfortran/52512
* gfortran.dg/namelist_79.f90: New.
From-SVN: r197061
Jeff Law [Mon, 25 Mar 2013 19:05:57 +0000 (13:05 -0600)]
tree-ssa-dom.c (record_equivalences_from_incoming_edge): Rework slightly to avoid creating and folding useless trees.
* tree-ssa-dom.c (record_equivalences_from_incoming_edge): Rework
slightly to avoid creating and folding useless trees. Simplify
slightly by restricting to INTEGER_CSTs and using int_fits_type_p.
From-SVN: r197060
Ian Lance Taylor [Mon, 25 Mar 2013 18:13:18 +0000 (18:13 +0000)]
alloc.c: #include <sys/types.h>.
* alloc.c: #include <sys/types.h>.
* mmap.c: Likewise.
From-SVN: r197057
Uros Bizjak [Mon, 25 Mar 2013 18:09:36 +0000 (19:09 +0100)]
i386.md (*zero_extendsidi2): Merge with *zero_extendsidi2_rex64.
* config/i386/i386.md (*zero_extendsidi2): Merge with
*zero_extendsidi2_rex64. Use x64 and nox64 isa attributes.
* config/i386/predicates.md (x86_64_zext_operand): Rename from
x86_64_zext_general_operand. Use nonimmediate_operand on 32bit
targets. Clarify comment.
From-SVN: r197056
Martin Jambor [Mon, 25 Mar 2013 16:50:02 +0000 (17:50 +0100)]
ipa-prop.c (ipa_write_jump_function): Stream simple and aritmetic pass-through jump functions differently.
2013-03-25 Martin Jambor <mjambor@suse.cz>
* ipa-prop.c (ipa_write_jump_function): Stream simple and aritmetic
pass-through jump functions differently.
(ipa_read_jump_function): Likewise. Also use setter functions to set
up jump functions.
From-SVN: r197055
Martin Jambor [Mon, 25 Mar 2013 16:42:41 +0000 (17:42 +0100)]
ipa-cp.c (ipa_get_indirect_edge_target): Renamed to ipa_get_indirect_edge_target_1...
2013-03-25 Martin Jambor <mjambor@suse.cz>
* ipa-cp.c (ipa_get_indirect_edge_target): Renamed to
ipa_get_indirect_edge_target_1, added parameter agg_reps and ability to
process it.
(ipa_get_indirect_edge_target): New function.
(devirtualization_time_bonus): New parameter known_aggs, pass it to
ipa_get_indirect_edge_target. Update all callers.
(ipcp_discover_new_direct_edges): New parameter aggvals. Pass it to
ipa_get_indirect_edge_target_1 instead of calling
ipa_get_indirect_edge_target.
(create_specialized_node): Pass aggvlas to
ipcp_discover_new_direct_edges.
testsuite/
* gcc.dg/ipa/ipcp-agg-9.c: New test.
From-SVN: r197054
Tobias Burnus [Mon, 25 Mar 2013 15:40:26 +0000 (16:40 +0100)]
re PR fortran/38536 (ICE with C_LOC in resolve.c due to not properly going through expr->ref)
2013-03-25 Tobias Burnus <burnus@net-b.de>
PR fortran/38536
PR fortran/38813
PR fortran/38894
PR fortran/39288
PR fortran/40963
PR fortran/45824
PR fortran/47023
PR fortran/47034
PR fortran/49023
PR fortran/50269
PR fortran/50612
PR fortran/52426
PR fortran/54263
PR fortran/55343
PR fortran/55444
PR fortran/55574
PR fortran/56079
PR fortran/56378
* check.c (gfc_var_strlen): Properly handle 0-sized string.
(gfc_check_c_sizeof): Use is_c_interoperable, add checks.
(is_c_interoperable, gfc_check_c_associated, gfc_check_c_f_pointer,
gfc_check_c_f_procpointer, gfc_check_c_funloc, gfc_check_c_loc): New
functions.
* expr.c (check_inquiry): Add c_sizeof, compiler_version and
compiler_options.
(gfc_check_pointer_assign): Refine function result check.
gfortran.h (gfc_isym_id): Add GFC_ISYM_C_ASSOCIATED,
GFC_ISYM_C_F_POINTER, GFC_ISYM_C_F_PROCPOINTER, GFC_ISYM_C_FUNLOC,
GFC_ISYM_C_LOC.
(iso_fortran_env_symbol, iso_c_binding_symbol): Handle
NAMED_SUBROUTINE.
(generate_isocbinding_symbol): Update prototype.
(get_iso_c_sym): Remove.
(gfc_isym_id_by_intmod, gfc_isym_id_by_intmod_sym): New prototypes.
* intrinsic.c (gfc_intrinsic_subroutine_by_id): New function.
(gfc_intrinsic_sub_interface): Use it.
(add_functions, add_subroutines): Add missing C-binding intrinsics.
(gfc_intrinsic_func_interface): Add special case for c_loc.
gfc_isym_id_by_intmod, gfc_isym_id_by_intmod_sym): New functions.
(gfc_intrinsic_func_interface, gfc_intrinsic_sub_interface): Use them.
* intrinsic.h (gfc_check_c_associated, gfc_check_c_f_pointer,
gfc_check_c_f_procpointer, gfc_check_c_funloc, gfc_check_c_loc,
gfc_resolve_c_loc, gfc_resolve_c_funloc): New prototypes.
* iresolve.c (gfc_resolve_c_loc, gfc_resolve_c_funloc): New
functions.
* iso-c-binding.def: Split PROCEDURE into NAMED_SUBROUTINE and
NAMED_FUNCTION.
* iso-fortran-env.def: Add NAMED_SUBROUTINE for completeness.
* module.c (create_intrinsic_function): Support subroutines and
derived-type results.
(use_iso_fortran_env_module): Update calls.
(import_iso_c_binding_module): Ditto; update calls to
generate_isocbinding_symbol.
* resolve.c (find_arglists): Skip for intrinsic symbols.
(gfc_resolve_intrinsic): Find intrinsic subs via id.
(is_scalar_expr_ptr, gfc_iso_c_func_interface,
set_name_and_label, gfc_iso_c_sub_interface): Remove.
(resolve_function, resolve_specific_s0): Remove calls to those.
(resolve_structure_cons): Fix handling.
* symbol.c (gen_special_c_interop_ptr): Update c_ptr/c_funptr
generation.
(gen_cptr_param, gen_fptr_param, gen_shape_param,
build_formal_args, get_iso_c_sym): Remove.
(std_for_isocbinding_symbol): Handle NAMED_SUBROUTINE.
(generate_isocbinding_symbol): Support hidden symbols and
using c_ptr/c_funptr symtrees for nullptr defs.
* target-memory.c (gfc_target_encode_expr): Fix handling
of c_ptr/c_funptr.
* trans-expr.c (conv_isocbinding_procedure): Remove.
(gfc_conv_procedure_call): Remove call to it.
(gfc_trans_subcomponent_assign, gfc_conv_expr): Update handling
of c_ptr/c_funptr.
* trans-intrinsic.c (conv_isocbinding_function,
conv_isocbinding_subroutine): New.
(gfc_conv_intrinsic_function, gfc_conv_intrinsic_subroutine):
Call them.
* trans-io.c (transfer_expr): Fix handling of c_ptr/c_funptr.
* trans-types.c (gfc_typenode_for_spec,
gfc_get_derived_type): Ditto.
(gfc_init_c_interop_kinds): Handle NAMED_SUBROUTINE.
2013-03-25 Tobias Burnus <burnus@net-b.de>
PR fortran/38536
PR fortran/38813
PR fortran/38894
PR fortran/39288
PR fortran/40963
PR fortran/45824
PR fortran/47023
PR fortran/47034
PR fortran/49023
PR fortran/50269
PR fortran/50612
PR fortran/52426
PR fortran/54263
PR fortran/55343
PR fortran/55444
PR fortran/55574
PR fortran/56079
PR fortran/56378
* gfortran.dg/c_assoc_2.f03: Update dg-error wording.
* gfortran.dg/c_f_pointer_shape_test.f90: Ditto.
* gfortran.dg/c_f_pointer_shape_tests_3.f03: Ditto.
* gfortran.dg/c_f_pointer_tests_5.f90: Ditto.
* gfortran.dg/c_funloc_tests_2.f03: Ditto.
* gfortran.dg/c_funloc_tests_5.f03: Ditto.
* gfortran.dg/c_funloc_tests_6.f90: Ditto.
* gfortran.dg/c_loc_tests_10.f03: Add -std=f2008.
* gfortran.dg/c_loc_tests_11.f03: Ditto, update dg-error.
* gfortran.dg/c_loc_tests_16.f90: Ditto.
* gfortran.dg/c_loc_tests_4.f03: Ditto.
* gfortran.dg/c_loc_tests_15.f90: Update dg-error wording.
* gfortran.dg/c_loc_tests_3.f03: Valid since F2003 TC5.
* gfortran.dg/c_loc_tests_8.f03: Ditto.
* gfortran.dg/c_ptr_tests_14.f90: Update scan-tree-dump-times.
* gfortran.dg/c_ptr_tests_15.f90: Ditto.
* gfortran.dg/c_sizeof_1.f90: Fix invalid code.
* gfortran.dg/iso_c_binding_init_expr.f03: Update dg-error wording.
* gfortran.dg/pr32601_1.f03: Ditto.
* gfortran.dg/storage_size_2.f08: Remove dg-error.
* gfortran.dg/blockdata_7.f90: New.
* gfortran.dg/c_assoc_4.f90: New.
* gfortran.dg/c_f_pointer_tests_6.f90: New.
* gfortran.dg/c_f_pointer_tests_7.f90: New.
* gfortran.dg/c_funloc_tests_8.f90: New.
* gfortran.dg/c_loc_test_17.f90: New.
* gfortran.dg/c_loc_test_18.f90: New.
* gfortran.dg/c_loc_test_19.f90: New.
* gfortran.dg/c_loc_test_20.f90: New.
* gfortran.dg/c_sizeof_5.f90: New.
* gfortran.dg/iso_c_binding_rename_3.f90: New.
* gfortran.dg/transfer_resolve_2.f90: New.
* gfortran.dg/transfer_resolve_3.f90: New.
* gfortran.dg/transfer_resolve_4.f90: New.
* gfortran.dg/pr32601.f03: Update dg-error.
* gfortran.dg/c_ptr_tests_13.f03: Update dg-error.
* gfortran.dg/c_ptr_tests_9.f03: Fix test case.
From-SVN: r197053
Kyrylo Tkachov [Mon, 25 Mar 2013 15:20:44 +0000 (15:20 +0000)]
arm.md (f_sels, f_seld): New types.
gcc/
2013-03-25 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
* config/arm/arm.md (f_sels, f_seld): New types.
(*cmov<mode>): New pattern.
* config/arm/predicates.md (arm_vsel_comparison_operator): New
predicate.
gcc/testsuite/
2013-03-25 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
* gcc.target/arm/vseleqdf.c: New test.
* gcc.target/arm/vseleqsf.c: Likewise.
* gcc.target/arm/vselgedf.c: Likewise.
* gcc.target/arm/vselgesf.c: Likewise.
* gcc.target/arm/vselgtdf.c: Likewise.
* gcc.target/arm/vselgtsf.c: Likewise.
* gcc.target/arm/vselledf.c: Likewise.
* gcc.target/arm/vsellesf.c: Likewise.
* gcc.target/arm/vselltdf.c: Likewise.
* gcc.target/arm/vselltsf.c: Likewise.
* gcc.target/arm/vselnedf.c: Likewise.
* gcc.target/arm/vselnesf.c: Likewise.
* gcc.target/arm/vselvcdf.c: Likewise.
* gcc.target/arm/vselvcsf.c: Likewise.
* gcc.target/arm/vselvsdf.c: Likewise.
* gcc.target/arm/vselvssf.c: Likewise.
From-SVN: r197052