Jakub Jelinek [Fri, 21 Mar 2014 21:24:31 +0000 (22:24 +0100)]
re PR target/60610 (ICE in convert_regs_1, at reg-stack.c:3064)
PR target/60610
* config/i386/i386.h (TARGET_64BIT_P): If not TARGET_BI_ARCH,
redefine to 1 or 0.
* config/i386/darwin.h (TARGET_64BIT_P): Redefine to
TARGET_ISA_64BIT_P(x).
Bill Schmidt [Fri, 21 Mar 2014 16:14:11 +0000 (16:14 +0000)]
rs6000.c (rs6000_expand_vector_set): Generate a pattern for vector nor instead of subtract from splat(-1).
2014-03-21 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
* config/rs6000/rs6000.c (rs6000_expand_vector_set): Generate a
pattern for vector nor instead of subtract from splat(-1).
(altivec_expand_vec_perm_const_le): Likewise.
Martin Jambor [Fri, 21 Mar 2014 12:59:35 +0000 (13:59 +0100)]
re PR ipa/59176 (ICE edge points to wrong declaration / verify_cgraph_node failed)
2014-03-21 Martin Jambor <mjambor@suse.cz>
PR ipa/59176
* cgraph.h (symtab_node): New flag body_removed.
* ipa.c (symtab_remove_unreachable_nodes): Set body_removed flag
when removing bodies.
* symtab.c (dump_symtab_base): Dump body_removed flag.
* cgraph.c (verify_edge_corresponds_to_fndecl): Skip nodes which
had their bodies removed.
Jakub Jelinek [Thu, 20 Mar 2014 16:05:41 +0000 (17:05 +0100)]
re PR target/60568 (lto1: internal compiler error: in insn_min_length, at config/i386/i386.md:1599)
PR target/60568
* config/i386/i386.c (x86_output_mi_thunk): Surround UNSPEC_GOT
into CONST, put pic register as first operand of PLUS. Use
gen_const_mem for both 32-bit and 64-bit PIC got loads.
Eric Botcazou [Thu, 20 Mar 2014 11:39:39 +0000 (11:39 +0000)]
sparc.c (sparc_do_work_around_errata): Implement work around for store forwarding issue in the FPU on the UT699.
* config/sparc/sparc.c (sparc_do_work_around_errata): Implement work
around for store forwarding issue in the FPU on the UT699.
* config/sparc/sparc.md (in_branch_delay): Return false for single FP
loads and operations if -mfix-ut699 is specified.
(divtf3_hq): Tweak attribute.
(sqrttf2_hq): Likewise.
Eric Botcazou [Thu, 20 Mar 2014 11:35:22 +0000 (11:35 +0000)]
calls.c (store_one_arg): Remove incorrect const qualification on the type of the temporary.
* calls.c (store_one_arg): Remove incorrect const qualification on the
type of the temporary.
* cfgexpand.c (expand_return): Likewise.
* expr.c (expand_constructor): Likewise.
(expand_expr_real_1): Likewise.
H.J. Lu [Wed, 19 Mar 2014 16:59:18 +0000 (16:59 +0000)]
Log environment variables in set_ld_library_path_env_vars
GNU linker sets DT_RPATH from the environment variable LD_RUN_PATH.
set_ld_library_path_env_vars sets a few environment variables including
LD_RUN_PATH. This patch logs all environment variables set by
set_ld_library_path_env_vars so that one can recreate the same
executable as "make check" run.
Marek Polacek [Wed, 19 Mar 2014 12:25:04 +0000 (12:25 +0000)]
re PR sanitizer/60569 (Segfault with -flto and -fsanitize=undefined)
PR sanitizer/60569
* ubsan.c (ubsan_type_descriptor): Check that DECL_NAME is nonnull
before accessing it.
testsuite/
* g++.dg/ubsan/pr60569.C: New test.
Richard Biener [Wed, 19 Mar 2014 11:35:59 +0000 (11:35 +0000)]
lto.c (lto_wpa_write_files): Move call to lto_promote_cross_file_statics ...
2014-03-19 Richard Biener <rguenther@suse.de>
* lto.c (lto_wpa_write_files): Move call to
lto_promote_cross_file_statics ...
(do_whole_program_analysis): ... here, into the partitioning
block. Do not ggc_collect after lto_wpa_write_files but
for a last time before it.
* plugin.def: Improve comment for PLUGIN_INCLUDE_FILE.
* doc/plugins.texi (Plugin callbacks): Mention
PLUGIN_INCLUDE_FILE.
Italicize plugin event names in description. Explain that
PLUGIN_PRAGMAS has no sense for lto1. Explain
PLUGIN_INCLUDE_FILE.
Remind that no GCC functions should be called after
PLUGIN_FINISH.
Explain what pragmas with expansion are.
Jonathan Wakely [Tue, 18 Mar 2014 16:31:38 +0000 (16:31 +0000)]
re PR libstdc++/60564 ([C++11] The std::packaged_task constructor taking a reference to a functor does not copy its argument.)
PR libstdc++/60564
* include/std/future (__future_base::_Task_state<>): Change
constructors to template functions using perfect forwarding.
(__create_task_state): Use decayed type as stored task.
(packaged_task::packaged_task(_Fn&&)): Forward instead of moving.
* testsuite/30_threads/packaged_task/60564.cc: New.
Martin Liska [Tue, 18 Mar 2014 16:10:39 +0000 (17:10 +0100)]
cgraph.c (cgraph_update_edges_for_call_stmt_node): Added case when gimple call statement is update.
* cgraph.c (cgraph_update_edges_for_call_stmt_node): Added case when
gimple call statement is update.
* gimple-fold.c (gimple_fold_call): Changed order for GIMPLE_ASSIGN and
GIMPLE_CALL, where gsi iterator still points to GIMPLE CALL.
Richard Biener [Tue, 18 Mar 2014 14:39:16 +0000 (14:39 +0000)]
df-problems.c (df_rd_confluence_n): Avoid bitmap_copy by using bitmap_and_compl instead of bitmap_and_compl_into.
2014-03-18 Richard Biener <rguenther@suse.de>
* df-problems.c (df_rd_confluence_n): Avoid bitmap_copy
by using bitmap_and_compl instead of bitmap_and_compl_into.
(df_rd_transfer_function): Likewise.
PR ipa/58721
gcc/
* predict.c (combine_predictions_for_bb): Fix up formatting.
(expr_expected_value_1, expr_expected_value): Add predictor argument,
fill what it points to if non-NULL.
(tree_predict_by_opcode): Adjust caller, use the predictor.
* predict.def (PRED_COMPARE_AND_SWAP): Add.
Jerry DeLisle [Tue, 18 Mar 2014 01:20:02 +0000 (01:20 +0000)]
re PR libfortran/46800 (Handle CTRL-D correctly with STDIN)
2014-03-17 Jerry DeLisle <jvdelisle@gcc.gnu>
PR libfortran/46800
* io/list_read.c (list_formatted_read_scalar): Do not use
eat_separator. Explicitly set the comma and end-of-line flags.
Check for END condition from finish_separator.
Adam Butcher [Mon, 17 Mar 2014 20:02:26 +0000 (20:02 +0000)]
re PR c++/60390 ([c++1y] ICE with declaring function with auto parameter as friend)
Fix PR c++/60390
PR c++/60390
* parser.c (cp_parser_member_declaration): Don't allow
finish_fully_implicit_template to consider friend declarations to be
class member templates.
(synthesize_implicit_template_parm): Handling winding back through class
scope to the class being defined in order to inject a template argument
list.
PR c++/60390
* g++.dg/cpp1y/pr60390.C: New testcase.
Marek Polacek [Mon, 17 Mar 2014 14:15:51 +0000 (14:15 +0000)]
re PR middle-end/60534 (ICE: in expand_GOMP_SIMD_VF, at internal-fn.c:142 with -fopenmp -O -fno-tree-loop-optimize and #pragma omp simd reduction)
PR middle-end/60534
* omp-low.c (omp_max_vf): Treat -fno-tree-loop-optimize the same
as -fno-tree-loop-vectorize.
(expand_omp_simd): Likewise.
testsuite/
* gcc.dg/gomp/pr60534.c: New test.
Rainer Orth [Mon, 17 Mar 2014 13:04:12 +0000 (13:04 +0000)]
Fix Solaris bootstrap with GNU ld/LTO
* configure.ac (ac_lto_plugin_ldflags): Set to -Wc,-static-libgcc
for gcc.
* configure: Regenerate.
* Makefile.am (AM_LDFLAGS): New variable.
(liblto_plugin_la_LDFLAGS): Add it.
* Makefile.in: Regenerate.
François Dumont [Sun, 16 Mar 2014 20:32:47 +0000 (20:32 +0000)]
[multiple changes]
2014-03-16 François Dumont <fdumont@gcc.gnu.org>
Complete:
2014-01-20 François Dumont <fdumont@gcc.gnu.org>
* scripts/create_testsuite_files: Add testsuite/experimental in
the list of folders to search for tests.
Eric Botcazou [Sat, 15 Mar 2014 21:39:30 +0000 (21:39 +0000)]
sparc-protos.h (tls_call_delay): Delete.
* config/sparc/sparc-protos.h (tls_call_delay): Delete.
(eligible_for_call_delay): New prototype.
* config/sparc/sparc.c (tls_call_delay): Rename into...
(eligible_for_call_delay): ...this. Return false if the instruction
cannot be put in the delay slot of a branch.
(eligible_for_restore_insn): Simplify.
(eligible_for_return_delay): Return false if the instruction cannot be
put in the delay slot of a branch and simplify.
(eligible_for_sibcall_delay): Return false if the instruction cannot be
put in the delay slot of a branch.
* config/sparc/sparc.md (fix_ut699): New attribute.
(tls_call_delay): Delete.
(in_call_delay): Reimplement.
(eligible_for_sibcall_delay): Rename into...
(in_sibcall_delay): ...this.
(eligible_for_return_delay): Rename into...
(in_return_delay): ...this.
(in_branch_delay): Reimplement.
(in_uncond_branch_delay): Delete.
(in_annul_branch_delay): Delete.
Jerry DeLisle [Sat, 15 Mar 2014 15:12:01 +0000 (15:12 +0000)]
re PR fortran/58324 (Bogus END-of-line error with list-directed I/O of file without trailing sequential record marker)
2014-03-15 Jerry DeLisle <jvdelisle@gcc.gnu>
PR libfortran/58324
* io/list_read.c (finish_list_read): Read one character to check
for the end of the file. If it is the end, then issue the file
end error message. If not, use eat_line to reach the end
without giving error. The next attempt to read will then
issue the error as described above.
Janus Weil [Sat, 15 Mar 2014 10:53:04 +0000 (11:53 +0100)]
re PR fortran/55207 ([F08] Variables declared in the main program should implicitly get the SAVE attribute)
2014-03-15 Janus Weil <janus@gcc.gnu.org>
PR fortran/55207
* decl.c (match_attr_spec): Variables in the main program implicitly
get the SAVE attribute in Fortran 2008.
2014-03-15 Janus Weil <janus@gcc.gnu.org>
PR fortran/55207
* gfortran.dg/assumed_rank_7.f90: Explicitly deallocate variables.
* gfortran.dg/c_ptr_tests_16.f90: Put into subroutine.
* gfortran.dg/inline_sum_bounds_check_1.f90: Add
-Wno-aggressive-loop-optimizations and remove an unused variable.
* gfortran.dg/intent_optimize_1.f90: Put into subroutine.
* gfortran.dg/pointer_init_9.f90: New.
* gfortran.dg/volatile4.f90: Put into subroutine.
* gfortran.dg/volatile6.f90: Ditto.