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.
Jakub Jelinek [Fri, 14 Mar 2014 17:58:52 +0000 (18:58 +0100)]
re PR middle-end/60484 (-fdump-rtl-expand and attribute optimize gives incorrect dump file path)
PR middle-end/60484
* common.opt (dump_base_name_prefixed): New Variable.
* opts.c (finish_options): Don't prepend directory to x_dump_base_name
if x_dump_base_name_prefixed is already set, set it at the end.
Co-Authored-By: Marek Polacek <polacek@redhat.com>
From-SVN: r208571
Georg-Johann Lay [Fri, 14 Mar 2014 09:27:19 +0000 (09:27 +0000)]
re PR target/59396 ([avr] Wrong warning with ISR() and -flto)
PR target/59396
* config/avr/avr.c (avr_set_current_function): Pass function name
through default_strip_name_encoding before sanity checking instead
of skipping the first char of the assembler name.
Jakub Jelinek [Thu, 13 Mar 2014 20:56:06 +0000 (21:56 +0100)]
re PR middle-end/36282 (Spurious warning "asm declaration ignored due to conflict with previous rename")
PR middle-end/36282
* c-pragma.c (apply_pragma_weak): Only look at
TREE_SYMBOL_REFERENCED (DECL_ASSEMBLER_NAME (decl)) if
DECL_ASSEMBLER_NAME_SET_P (decl).
(maybe_apply_pending_pragma_weaks): Exit early if
vec_safe_is_empty (pending_weaks) rather than only when
!pending_weaks.
(maybe_apply_pragma_weak): Likewise. If !DECL_ASSEMBLER_NAME_SET_P,
set assembler name back to NULL afterwards.
* c-c++-common/pr36282-1.c: New test.
* c-c++-common/pr36282-2.c: New test.
* c-c++-common/pr36282-3.c: New test.
* c-c++-common/pr36282-4.c: New test.