Paolo Carlini [Wed, 19 Mar 2014 18:21:52 +0000 (18:21 +0000)]
re PR c++/51474 ([c++0x] ICE with pure virtual function in initialization of non-static data member)
/cp
2014-03-19 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/51474
* call.c (build_new_method_call_1): Handle pure virtuals called by
NSDMIs too.
/testsuite
2014-03-19 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/51474
* g++.dg/cpp0x/nsdmi-virtual2.C: New.
From-SVN: r208686
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.
PR testsuite/60590
* lib/target-libpath.exp (set_ld_library_path_env_vars): Log
LD_LIBRARY_PATH, LD_RUN_PATH, SHLIB_PATH, LD_LIBRARY_PATH_32,
LD_LIBRARY_PATH_64 and DYLD_LIBRARY_PATH.
From-SVN: r208685
Paolo Carlini [Wed, 19 Mar 2014 15:48:39 +0000 (15:48 +0000)]
re PR c++/60332 ([c++1y] ICE with auto in function-pointer cast)
2014-03-19 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/60332
* g++.dg/cpp1y/pr60332.C: New.
From-SVN: r208684
James Greenhalgh [Wed, 19 Mar 2014 15:47:59 +0000 (15:47 +0000)]
[ARM] [Trivial] Fix shortening of field name extend.
gcc/
* config/arm/aarch-common-protos.h
(alu_cost_table): Fix spelling of "extend".
* config/arm/arm.c (arm_new_rtx_costs): Fix spelling of "extend".
From-SVN: r208683
Richard Biener [Wed, 19 Mar 2014 15:37:28 +0000 (15:37 +0000)]
re PR c++/60553 (segfault in gt_ggc_mx_lang_tree_node in Chromium with LTO)
2014-03-19 Richard Biener <rguenther@suse.de>
PR middle-end/60553
* tree-core.h (tree_type_common): Re-order pointer members
to reduce recursion depth during GC walks.
lto/
* lto-tree.h (lang_tree_node): For types use TYPE_NEXT_VARIANT
instead of TREE_CHAIN as chain_next.
From-SVN: r208682
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.
From-SVN: r208681
Rainer Orth [Wed, 19 Mar 2014 12:05:25 +0000 (12:05 +0000)]
Require tls_runtime in gcc.dg/tls/pr58595.c
* gcc.dg/tls/pr58595.c: Require tls_runtime instead of tls.
From-SVN: r208680
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.
From-SVN: r208679
Richard Biener [Wed, 19 Mar 2014 09:22:15 +0000 (09:22 +0000)]
re PR lto/59543 (lto1: fatal error: Cgraph edge statement index out of range)
2014-03-19 Richard Biener <rguenther@suse.de>
PR lto/59543
* lto-streamer-in.c (input_function): In WPA stage do not drop
debug stmts.
From-SVN: r208677
Jakub Jelinek [Wed, 19 Mar 2014 09:13:32 +0000 (10:13 +0100)]
re PR tree-optimization/60559 (g++.dg/vect/pr60023.cc fails with -fno-tree-dce (ICE))
PR tree-optimization/60559
* vectorizable_mask_load_store): Replace scalar MASK_LOAD
with build_zero_cst assignment.
* g++.dg/vect/pr60559.cc: New test.
From-SVN: r208676
Jakub Jelinek [Wed, 19 Mar 2014 07:18:46 +0000 (08:18 +0100)]
re PR lto/60571 (FTBFS on hurd-i386)
PR lto/60571
* lto.c (wait_for_child): Define WCONTINUED if not defined to 0.
Fix formatting.
From-SVN: r208675
Ian Lance Taylor [Wed, 19 Mar 2014 03:38:21 +0000 (03:38 +0000)]
re PR target/60563 (FAIL: g++.dg/ext/sync-4.C on *-apple-darwin*)
PR target/60563
* g++.dg/ext/sync-4.C (int32_t): Remove typedef.
(ditype): Rename typedef from int64_t.
From-SVN: r208674
GCC Administrator [Wed, 19 Mar 2014 00:16:49 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r208672
Manuel López-Ibáñez [Tue, 18 Mar 2014 23:22:02 +0000 (23:22 +0000)]
re PR c/55383 (-Wcast-qual reports incorrect message)
2014-03-19 Manuel López-Ibáñez <manu@gcc.gnu.org>
PR c/55383
* gcc.dg/cast-qual-3.c: New.
Revert:
2014-03-18 Manuel López-Ibáñez <manu@gcc.gnu.org>
* c-c++-common/Wcast-qual-1.c: More precise match text.
From-SVN: r208669
Janus Weil [Tue, 18 Mar 2014 22:15:10 +0000 (23:15 +0100)]
re PR fortran/55207 ([F08] Variables declared in the main program should implicitly get the SAVE attribute)
2014-03-18 Janus Weil <janus@gcc.gnu.org>
PR fortran/55207
PR fortran/60549
* decl.c (match_attr_spec): Revert r208590.
2014-03-18 Janus Weil <janus@gcc.gnu.org>
PR fortran/55207
PR fortran/60549
* gfortran.dg/assumed_rank_7.f90: Revert r208590.
* gfortran.dg/c_ptr_tests_16.f90: Ditto.
* gfortran.dg/inline_sum_bounds_check_1.f90: Ditto.
* gfortran.dg/intent_optimize_1.f90: Ditto.
* gfortran.dg/pointer_init_9.f90: Ditto.
* gfortran.dg/volatile4.f90: Ditto.
* gfortran.dg/volatile6.f90: Ditto.
From-SVN: r208668
Richard Henderson [Tue, 18 Mar 2014 20:24:29 +0000 (13:24 -0700)]
re PR target/60562 (FAIL: gcc.target/i386/excess-precision-3.c execution test after r208587)
PR target/60562
* config/i386/i386.md (*float<SWI48><MODEF>2_sse): Check
X87_ENABLE_FLOAT for alternative 0.
From-SVN: r208666
Kai Tietz [Tue, 18 Mar 2014 20:02:54 +0000 (21:02 +0100)]
re PR rtl-optimization/56356 (DJGPP compiler crashing)
PR rtl-optimization/56356
* sdbout.c (sdbout_parms): Verify that parms'
incoming argument is valid.
(sdbout_reg_parms): Likewise.
From-SVN: r208663
Richard Henderson [Tue, 18 Mar 2014 19:59:54 +0000 (12:59 -0700)]
re PR target/60562 (FAIL: gcc.target/i386/excess-precision-3.c execution test after r208587)
PR target/60562
* config/i386/i386.md (*float<SWI48x><MODEF>2_i387): Move down to
be shadowed by *float<SWI48><MODEF>2_sse. Test X87_ENABLE_FLOAT.
From-SVN: r208662
Manuel López-Ibáñez [Tue, 18 Mar 2014 19:58:39 +0000 (19:58 +0000)]
re PR c/55383 (-Wcast-qual reports incorrect message)
2014-03-18 Manuel López-Ibáñez <manu@gcc.gnu.org>
PR c/55383
c/
* c-typeck.c: Use correct format string in cast-qual warning
testsuite/
* c-c++-common/Wcast-qual-1.c: More precise match text.
From-SVN: r208661
Basile Starynkevitch [Tue, 18 Mar 2014 19:16:52 +0000 (19:16 +0000)]
plugin.def: Improve comment for PLUGIN_INCLUDE_FILE.
2014-03-18 Basile Starynkevitch <basile@starynkevitch.net>
* 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.
From-SVN: r208660
Paolo Carlini [Tue, 18 Mar 2014 17:10:23 +0000 (17:10 +0000)]
re PR c++/60305 (ICE constexpr array of functions in template)
2014-03-18 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/60305
* g++.dg/cpp0x/constexpr-ice14.C: New.
2014-03-18 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/54250
* g++.dg/cpp0x/lambda/lambda-ice12.C: New.
From-SVN: r208658
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.
From-SVN: r208656
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.
From-SVN: r208654
Joseph Myers [Tue, 18 Mar 2014 16:04:06 +0000 (16:04 +0000)]
* de.po: Update.
From-SVN: r208653
Jakub Jelinek [Tue, 18 Mar 2014 15:05:30 +0000 (16:05 +0100)]
re PR sanitizer/60557 (UBSAN: ICE after ubsan_expand_null_ifn)
PR sanitizer/60557
* ubsan.c (ubsan_instrument_unreachable): Call
initialize_sanitizer_builtins.
(ubsan_pass): Likewise.
From-SVN: r208652
Jakub Jelinek [Tue, 18 Mar 2014 14:56:23 +0000 (15:56 +0100)]
re PR sanitizer/60535 (Link failure with -flto and -fsanitize=undefined)
PR sanitizer/60535
* ubsan.c (ubsan_type_descriptor, ubsan_create_data): Call
varpool_finalize_decl instead of rest_of_decl_compilation.
lto/
* lto-lang.c (lto_init): Add NAME_TYPE for int128_integer_type_node
and complex_{float,{,long_}double}_type_node.
testsuite/
* c-c++-common/ubsan/null-1.c: Don't skip if -flto.
* c-c++-common/ubsan/null-2.c: Likewise.
* c-c++-common/ubsan/null-3.c: Likewise.
* c-c++-common/ubsan/null-4.c: Likewise.
* c-c++-common/ubsan/null-5.c: Likewise.
* c-c++-common/ubsan/null-6.c: Likewise.
* c-c++-common/ubsan/null-7.c: Likewise.
* c-c++-common/ubsan/null-8.c: Likewise.
* c-c++-common/ubsan/null-9.c: Likewise.
* c-c++-common/ubsan/null-10.c: Likewise.
* c-c++-common/ubsan/null-11.c: Likewise.
* c-c++-common/ubsan/overflow-1.c: Likewise.
* c-c++-common/ubsan/overflow-2.c: Likewise.
* c-c++-common/ubsan/overflow-add-1.c: Likewise.
* c-c++-common/ubsan/overflow-add-2.c: Likewise.
* c-c++-common/ubsan/overflow-int128.c: Likewise.
* c-c++-common/ubsan/overflow-mul-1.c: Likewise.
* c-c++-common/ubsan/overflow-mul-2.c: Likewise.
* c-c++-common/ubsan/overflow-mul-3.c: Likewise.
* c-c++-common/ubsan/overflow-mul-4.c: Likewise.
* c-c++-common/ubsan/overflow-negate-1.c: Likewise.
* c-c++-common/ubsan/overflow-negate-2.c: Likewise.
* c-c++-common/ubsan/overflow-sub-1.c: Likewise.
* c-c++-common/ubsan/overflow-sub-2.c: Likewise.
* c-c++-common/ubsan/pr59333.c: Likewise.
* c-c++-common/ubsan/pr59503.c: Likewise.
* c-c++-common/ubsan/pr59667.c: Likewise.
* c-c++-common/ubsan/undefined-1.c: Likewise.
* g++.dg/ubsan/pr59250.C: Likewise.
* g++.dg/ubsan/pr59306.C: Likewise.
From-SVN: r208651
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.
From-SVN: r208650
Richard Biener [Tue, 18 Mar 2014 12:35:28 +0000 (12:35 +0000)]
lto.texi (fresolution): Fix typo.
2014-03-18 Richard Biener <rguenther@suse.de>
* doc/lto.texi (fresolution): Fix typo.
From-SVN: r208647
Richard Biener [Tue, 18 Mar 2014 12:30:11 +0000 (12:30 +0000)]
invoke.texi (flto): Update for changes in 4.9.
2014-03-18 Richard Biener <rguenther@suse.de>
* doc/invoke.texi (flto): Update for changes in 4.9.
From-SVN: r208646
Richard Biener [Tue, 18 Mar 2014 12:28:04 +0000 (12:28 +0000)]
loop.texi: Remove section on the removed lambda framework.
2014-03-18 Richard Biener <rguenther@suse.de>
* doc/loop.texi: Remove section on the removed lambda framework.
Update loop docs with recent changes in preserving loop structure.
From-SVN: r208645
Richard Biener [Tue, 18 Mar 2014 12:25:06 +0000 (12:25 +0000)]
lto.texi (-fresolution): Document.
2014-03-18 Richard Biener <rguenther@suse.de>
* doc/lto.texi (-fresolution): Document.
From-SVN: r208644
Richard Biener [Tue, 18 Mar 2014 12:19:02 +0000 (12:19 +0000)]
contrib.texi: Adjust my name.
2014-03-18 Richard Biener <rguenther@suse.de>
* doc/contrib.texi: Adjust my name.
From-SVN: r208643
Jakub Jelinek [Tue, 18 Mar 2014 11:31:04 +0000 (12:31 +0100)]
re PR ipa/58721 (The subroutine perdida is no longer inlined in fatigue.f90)
PR ipa/58721
gcc/
* internal-fn.c: Include diagnostic-core.h.
(expand_BUILTIN_EXPECT): New function.
* gimplify.c (gimplify_call_expr): Use false instead of FALSE.
(gimplify_modify_expr): Gimplify 3 argument __builtin_expect into
IFN_BUILTIN_EXPECT call instead of __builtin_expect builtin call.
* ipa-inline-analysis.c (find_foldable_builtin_expect): Handle
IFN_BUILTIN_EXPECT.
* predict.c (expr_expected_value_1): Handle IFN_BUILTIN_EXPECT.
Revert 3 argument __builtin_expect code.
(strip_predict_hints): Handle IFN_BUILTIN_EXPECT.
* gimple-fold.c (gimple_fold_call): Likewise.
* tree.h (fold_builtin_expect): New prototype.
* builtins.c (build_builtin_expect_predicate): Add predictor
argument, if non-NULL, create 3 argument __builtin_expect.
(fold_builtin_expect): No longer static. Add ARG2 argument,
pass it through to build_builtin_expect_predicate.
(fold_builtin_2): Adjust caller.
(fold_builtin_3): Handle BUILT_IN_EXPECT.
* internal-fn.def (BUILTIN_EXPECT): New.
gcc/fortran/
* trans.c (gfc_unlikely, gfc_likely): Don't add __builtin_expect
if !optimize.
2014-03-18 Tobias Burnus <burnus@net-b.de>
PR ipa/58721
gcc/
* predict.def (PRED_FORTRAN_OVERFLOW, PRED_FORTRAN_FAIL_ALLOC,
PRED_FORTRAN_FAIL_IO, PRED_FORTRAN_WARN_ONCE, PRED_FORTRAN_SIZE_ZERO,
PRED_FORTRAN_INVALID_BOUND, PRED_FORTRAN_ABSENT_DUMMY): Add.
gcc/fortran/
* trans.h (gfc_unlikely, gfc_likely): Add predictor as argument.
(gfc_trans_io_runtime_check): Remove.
* trans-io.c (gfc_trans_io_runtime_check): Make static; add has_iostat
as argument, add predictor to block.
(set_parameter_value, gfc_trans_open, gfc_trans_close, build_filepos,
gfc_trans_inquire, gfc_trans_wait, build_dt): Update calls.
* trans.c (gfc_unlikely, gfc_likely): Add predictor as argument.
(gfc_trans_runtime_check, gfc_allocate_using_malloc,
gfc_allocate_allocatable, gfc_deallocate_with_status): Set explicitly
branch predictor.
* trans-expr.c (gfc_conv_procedure_call): Ditto.
* trans-stmt.c (gfc_trans_allocate): Ditto.
* trans-array.c (gfc_array_init_size, gfc_array_allocate): Ditto.
2014-03-18 Jan Hubicka <hubicka@ucw.cz>
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.
From-SVN: r208641
Eric Botcazou [Tue, 18 Mar 2014 10:49:38 +0000 (10:49 +0000)]
sparc.c (sparc_do_work_around_errata): Speed up and use proper constant for the store mode.
* config/sparc/sparc.c (sparc_do_work_around_errata): Speed up and use
proper constant for the store mode.
From-SVN: r208638
Ilya Enkovich [Tue, 18 Mar 2014 10:26:01 +0000 (10:26 +0000)]
symtab.c (change_decl_assembler_name): Fix transparent alias chain construction.
gcc/
* symtab.c (change_decl_assembler_name): Fix transparent alias
chain construction.
From-SVN: r208637
Renlin Li [Tue, 18 Mar 2014 10:22:57 +0000 (10:22 +0000)]
aarch64.c: Correct the comments about the aarch64 stack layout.
* config/aarch64/aarch64.c: Correct the comments about the
aarch64 stack layout.
From-SVN: r208636
Rainer Orth [Tue, 18 Mar 2014 10:18:07 +0000 (10:18 +0000)]
Fix gcc.dg/tls/pr58595.c on Solaris 9
* gcc.dg/tls/pr58595.c: Add tls options.
From-SVN: r208635
Ulrich Weigand [Tue, 18 Mar 2014 09:58:17 +0000 (09:58 +0000)]
configure.ac: Check for presence of fcntl.
* configure.ac: Check for presence of fcntl.
* configure: Regenerate.
* config.h.in: Regenerate.
* io/unix.c (set_close_on_exec): Check for HAVE_FCNTL.
From-SVN: r208634
Thomas Schwinge [Tue, 18 Mar 2014 09:06:55 +0000 (10:06 +0100)]
Restore check for OpenMP for construct.
gcc/
* omp-low.c (lower_rec_input_clauses) <build_omp_barrier>: Restore
check for GF_OMP_FOR_KIND_FOR.
From-SVN: r208633
Kirill Yukhin [Tue, 18 Mar 2014 06:29:15 +0000 (06:29 +0000)]
i386.h (ADDITIONAL_REGISTER_NAMES): Add ymm and zmm register names.
gcc/
* config/i386/i386.h (ADDITIONAL_REGISTER_NAMES): Add
ymm and zmm register names.
gcc/testsuite/
* gcc.target/i386/avx-additional-reg-names.c: New.
* gcc.target/i386/avx512f-additional-reg-names.c: Ditto.
From-SVN: r208631
Jerry DeLisle [Tue, 18 Mar 2014 01:30:46 +0000 (01:30 +0000)]
Fix PR Number in log
From-SVN: r208630
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.
From-SVN: r208629
GCC Administrator [Tue, 18 Mar 2014 00:16:42 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r208628
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.
From-SVN: r208625
Adam Butcher [Mon, 17 Mar 2014 20:02:16 +0000 (20:02 +0000)]
re PR c++/60391 ([c++1y] ICE with auto parameter for operator"")
Fix PR c++/60391
PR c++/60391
* parser.c (cp_parser_skip_to_end_of_block_or_statement): Unwind generic
function scope as per cp_parser_skip_to_end_of_statement.
PR c++/60391
* g++.dg/cpp1y/pr60391.C: New testcase.
From-SVN: r208624
Jakub Jelinek [Mon, 17 Mar 2014 19:03:04 +0000 (20:03 +0100)]
re PR target/60516 (cc1plus crashes compiling a method with a huge struct as argument)
PR target/60516
* config/i386/i386.c (ix86_expand_epilogue): Adjust REG_CFA_ADJUST_CFA
note creation for the 2010-08-31 changes.
* gcc.target/i386/pr60516.c: New test.
From-SVN: r208623
Joseph Myers [Mon, 17 Mar 2014 15:31:57 +0000 (15:31 +0000)]
* sv.po: Update.
From-SVN: r208621
Paolo Carlini [Mon, 17 Mar 2014 14:53:05 +0000 (14:53 +0000)]
re PR c++/59571 ([C++11] ICE when casting inside static member constexpr brace initializer)
/cp
2014-03-17 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/59571
* typeck2.c (check_narrowing): Use fold_non_dependent_expr_sfinae.
/testsuite
2014-03-17 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/59571
* g++.dg/cpp0x/constexpr-ice13.C: New.
From-SVN: r208619
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.
From-SVN: r208616
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.
From-SVN: r208614
Kai Tietz [Mon, 17 Mar 2014 11:20:21 +0000 (12:20 +0100)]
20010327-1.c: Disable test for LLP64 targets.
* gcc.c-torture/compile/
20010327-1.c: Disable test for LLP64 targets.
From-SVN: r208613
Andreas Schwab [Mon, 17 Mar 2014 09:23:15 +0000 (09:23 +0000)]
re PR testsuite/58851 (FAIL: gfortran.dg/unlimited_polymorphic_13.f90 -O0 execution test)
PR testsuite/58851
* gfortran.dg/unlimited_polymorphic_13.f90: Properly compute
storage size.
From-SVN: r208612
GCC Administrator [Mon, 17 Mar 2014 00:16:47 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r208609
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.
From-SVN: r208606
Andreas Schwab [Sun, 16 Mar 2014 08:32:23 +0000 (08:32 +0000)]
re PR ada/39172 (libada parsing of multilib options)
PR ada/39172
* gcc/ada/gcc-interface/Makefile.in (target_cpu_default): Revert
2013-10-11 change.
From-SVN: r208605
GCC Administrator [Sun, 16 Mar 2014 00:17:04 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r208602
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.
From-SVN: r208597
Andreas Schwab [Sat, 15 Mar 2014 18:59:36 +0000 (18:59 +0000)]
Baseline symbols for m68k
* config/abi/post/m68k-linux-gnu/baseline_symbols.txt: New file.
From-SVN: r208594
Tim Shen [Sat, 15 Mar 2014 18:16:22 +0000 (18:16 +0000)]
regex.h: Add/modify comments.
2014-03-15 Tim Shen <timshen91@gmail.com>
* include/bits/regex.h: Add/modify comments.
* include/bits/regex_compiler.h: Likewise.
* include/bits/regex_executor.h: Likewise.
* include/bits/regex_executor.tcc: Likewise.
* include/bits/regex_scanner.h: Likewise.
From-SVN: r208593
Jerry DeLisle [Sat, 15 Mar 2014 15:15:22 +0000 (15:15 +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
* gfortran.dg/list_read_12.f90: New test.
From-SVN: r208592
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.
From-SVN: r208591
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.
From-SVN: r208590
Richard Henderson [Sat, 15 Mar 2014 03:24:11 +0000 (20:24 -0700)]
re PR target/60525 (ICE: in final_scan_insn, at final.c:2952)
PR target/60525
* config/i386/i386.md (floathi<X87MODEF>2): Delete expander; rename
define_insn from *floathi<X87MODEF>2_i387; allow nonimmediate_operand.
(*floathi<X87MODEF>2_i387_with_temp): Remove.
(floathi splitters): Remove.
(float<SWI48x>xf2): New pattern.
(float<SWI48><MODEF>2): Rename from float<SWI48x><X87MODEF>2. Drop
code that tried to handle DImode for 32-bit, but which was excluded
by the pattern's condition. Drop allocation of stack temporary.
(*floatsi<MODEF>2_vector_mixed_with_temp): Remove.
(*float<SWI48><MODEF>2_mixed_with_temp): Remove.
(*float<SWI48><MODEF>2_mixed_interunit): Remove.
(*float<SWI48><MODEF>2_mixed_nointerunit): Remove.
(*floatsi<MODEF>2_vector_sse_with_temp): Remove.
(*float<SWI48><MODEF>2_sse_with_temp): Remove.
(*float<SWI48><MODEF>2_sse_interunit): Remove.
(*float<SWI48><MODEF>2_sse_nointerunit): Remove.
(*float<SWI48x><X87MODEF>2_i387_with_temp): Remove.
(*float<SWI48x><X87MODEF>2_i387): Remove.
(all float _with_temp splitters): Remove.
(*float<SWI48x><MODEF>2_i387): New pattern.
(*float<SWI48><MODEF>2_sse): New pattern.
(float TARGET_USE_VECTOR_CONVERTS splitters): Merge them.
(float TARGET_SSE_PARTIAL_REG_DEPENDENCY splitters): Merge them.
From-SVN: r208587
Jason Merrill [Sat, 15 Mar 2014 01:39:03 +0000 (21:39 -0400)]
re PR c++/60532 (r208573 causes Firefox build failure)
PR c++/60532
PR c++/58678
* search.c (get_pure_virtuals): Handle abstract dtor here.
(dfs_get_pure_virtuals): Not here.
From-SVN: r208586
GCC Administrator [Sat, 15 Mar 2014 00:16:43 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r208585
Mikael Morin [Fri, 14 Mar 2014 21:28:59 +0000 (21:28 +0000)]
re PR fortran/60392 (Problem with TRANSPOSE and CONTIGUOUS dummy arguments)
fortran/
PR fortran/60392
* trans-array.c (gfc_conv_array_parameter): Don't reuse the descriptor
if it has transposed dimensions.
testsuite/
PR fortran/60392
* gfortran.dg/transpose_4.f90: New test.
From-SVN: r208581
Jason Merrill [Fri, 14 Mar 2014 19:06:54 +0000 (15:06 -0400)]
re PR c++/58678 (pykde4-4.11.2 link error (devirtualization too trigger happy))
PR c++/58678
* search.c (dfs_get_pure_virtuals): Treat the destructor of an
abstract class as pure.
From-SVN: r208573
Jonathan Wakely [Fri, 14 Mar 2014 18:10:59 +0000 (18:10 +0000)]
re PR ipa/58721 (The subroutine perdida is no longer inlined in fatigue.f90)
PR ipa/58721
* config/abi/pre/gnu.ver (GLIBCXX_3.4.11): Remove unused pattern for
_ZNSt12system_errorC* symbols which are not exported on any target.
From-SVN: r208572
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
Vladimir Makarov [Fri, 14 Mar 2014 16:34:57 +0000 (16:34 +0000)]
re PR rtl-optimization/60508 (internal compiler error: in lra_set_insn_recog_data, at lra.c:1082)
2014-03-14 Vladimir Makarov <vmakarov@redhat.com>
PR rtl-optimization/60508
* lra-constraints.c (get_reload_reg): Add new parameter
in_subreg_p.
(process_addr_reg, simplify_operand_subreg, curr_insn_transform):
Pass the new parameter values.
2014-03-14 Vladimir Makarov <vmakarov@redhat.com>
PR rtl-optimization/60508
* gcc.target/i386/pr60508.c: New.
From-SVN: r208570
Jason Merrill [Fri, 14 Mar 2014 15:20:28 +0000 (11:20 -0400)]
re PR c++/53711 (Wunused-function should warn for functions in the unnamed namespace)
PR c++/53711
* d++.dg/warn/anonymous-namespace-6.C: New test.
From-SVN: r208569
Richard Biener [Fri, 14 Mar 2014 13:09:41 +0000 (13:09 +0000)]
common.opt: Revert unintented changes from r205065.
2014-03-14 Richard Biener <rguenther@suse.de>
* common.opt: Revert unintented changes from r205065.
* opts.c: Likewise.
From-SVN: r208568
Richard Biener [Fri, 14 Mar 2014 12:54:25 +0000 (12:54 +0000)]
re PR ipa/60518 (ICE: in verify_loop_structure, at cfgloop.c:1647)
2014-03-14 Richard Biener <rguenther@suse.de>
PR middle-end/60518
* cfghooks.c (split_block): Properly adjust all loops the
block was a latch of.
* g++.dg/pr60518.C: New testcase.
From-SVN: r208567
Martin Jambor [Fri, 14 Mar 2014 10:49:05 +0000 (11:49 +0100)]
re PR lto/60461 (LTO linking error at -Os (and above) on x86_64-linux-gnu)
2014-03-13 Martin Jambor <mjambor@suse.cz>
PR lto/60461
* ipa-prop.c (ipa_modify_call_arguments): Fix iteration condition
and simplify it.
testsuite/
* gcc.dg/lto/pr60461_0.c: New test.
From-SVN: r208566
Cesar Philippidis [Fri, 14 Mar 2014 09:33:15 +0000 (02:33 -0700)]
save-temps_0.c: New file.
2014-03-14 Cesar Philippidis <cesar@codesourcery.com>
gcc/testsuite/
* gcc.dg/lto/save-temps_0.c: New file.
* lib/gcc-dg.exp (cleanup-saved-temps): Handle LTO temporaries.
* lib/lto.exp (lto-execute): Cleanup LTO temporaries.
From-SVN: r208563
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.
From-SVN: r208562
GCC Administrator [Fri, 14 Mar 2014 00:17:05 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r208561
Uros Bizjak [Thu, 13 Mar 2014 22:04:07 +0000 (23:04 +0100)]
* regex.c (bzero) [!_LIBC]: Cast the call to memcpy to (void).
From-SVN: r208558
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.
From-SVN: r208557
Richard Henderson [Thu, 13 Mar 2014 20:24:56 +0000 (13:24 -0700)]
re PR debug/60438 (dwarf2cfi :2239 still assert,not the same cause as PR 59575)
PR debug/60438
* config/i386/i386.c (ix86_split_fp_branch): Remove pushed argument.
(ix86_force_to_memory, ix86_free_from_memory): Remove.
* config/i386/i386-protos.h: Likewise.
* config/i386/i386.md (floathi<X87MODEF>2): Use assign_386_stack_local
in the expander instead of a splitter.
(float<SWI48x><X87MODEF>2): Use assign_386_stack_local if there is
any possibility of requiring a memory.
(*floatsi<MODEF>2_vector_mixed): Remove, and the splitters.
(*floatsi<MODEF>2_vector_sse): Remove, and the splitters.
(fp branch splitters): Update for ix86_split_fp_branch.
(*jcc<X87MODEF>_<SWI24>_i387): Remove r/f alternative.
(*jcc<X87MODEF>_<SWI24>_r_i387): Likewise.
(splitter for jcc<X87MODEF>_<SWI24>_i387 r/f): Remove.
(*fop_<MODEF>_2_i387): Remove f/r alternative.
(*fop_<MODEF>_3_i387): Likewise.
(*fop_xf_2_i387, *fop_xf_3_i387): Likewise.
(splitters for the fop_* register patterns): Remove.
(fscalexf4_i387): Rename from *fscalexf4_i387.
(ldexpxf3): Use gen_floatsixf2 and gen_fscalexf4_i387.
From-SVN: r208556
Jakub Jelinek [Thu, 13 Mar 2014 19:10:05 +0000 (20:10 +0100)]
re PR tree-optimization/59779 (FAIL: gcc.dg/autopar/outer-1.c scan-tree-dump-times parloops "parallelizing outer loop")
PR tree-optimization/59779
* tree-dfa.c (get_ref_base_and_extent): Use double_int
type for bitsize and maxsize instead of HOST_WIDE_INT.
From-SVN: r208554
Uros Bizjak [Thu, 13 Mar 2014 18:34:47 +0000 (19:34 +0100)]
regex.c (bzero): Define without coma expression.
* regex.c (bzero) [!_LIBC]: Define without coma expression.
(regerror): Cast the call to memcpy to (void) to avoid unused
value warnings.
From-SVN: r208553
Steven Bosscher [Thu, 13 Mar 2014 18:01:48 +0000 (18:01 +0000)]
re PR rtl-optimization/57320 (Shrink-wrapping leaves unreachable blocks in the CFG)
PR rtl-optimization/57320
* function.c (rest_of_handle_thread_prologue_and_epilogue): Cleanup
the CFG after thread_prologue_and_epilogue_insns.
From-SVN: r208551
Paolo Carlini [Thu, 13 Mar 2014 16:05:15 +0000 (16:05 +0000)]
re PR c++/60383 (ICE with invalid template specialization)
/cp
2014-03-13 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/60383
* pt.c (maybe_process_partial_specialization): Check return value
of check_specialization_namespace.
/testsuite
2014-03-13 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/60383
* g++.dg/template/crash118.C: New.
* g++.dg/template/crash95.C: Adjust.
From-SVN: r208550
Vladimir Makarov [Thu, 13 Mar 2014 15:52:50 +0000 (15:52 +0000)]
re PR rtl-optimization/57189 (Vector register is spilled for vector extract pattern)
2014-03-13 Vladimir Makarov <vmakarov@redhat.com>
PR rtl-optimization/57189
* lra-constraints.c (process_alt_operands): Disfavor spilling
vector pseudos.
2014-03-13 Vladimir Makarov <vmakarov@redhat.com>
PR rtl-optimization/57189
* gcc.target/i386/pr57189.c: New.
From-SVN: r208549
Eric Botcazou [Thu, 13 Mar 2014 15:42:21 +0000 (15:42 +0000)]
re PR ada/51483 (cstand.adb:Register_Float_Type makes invalid assumption about FP modes)
PR ada/51483
* cstand.adb (Register_Float_Type): Add 'precision' parameter and use
it to set the RM size. Use directly 'size' for the Esize.
(Create_Back_End_Float_Types): Adjust call to above.
* get_targ.ads (Register_Type_Proc): Add 'precision' parameter.
* set_targ.ads (FPT_Mode_Entry): Add 'precision' component.
(Write_Target_Dependent_Values): Adjust comment.
* set_targ.adb (Register_Float_Type): Add 'precision' parameter and
deal with it.
(Write_Target_Dependent_Values): Write the precision in lieu of size.
(Initialization): Read the precision in lieu of size and compute the
size from the precision and the alignment.
* gcc-interface/gigi.h (enumerate_modes): Add integer parameter.
* gcc-interface/misc.c (enumerate_modes): Likewise. Do not register
types for vector modes, pass the size in addition to the precision.
From-SVN: r208546
Paolo Carlini [Thu, 13 Mar 2014 09:51:52 +0000 (09:51 +0000)]
re PR c++/60254 ([c++11] ICE with non-const expression in static_assert)
/cp
2014-03-13 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/60254
* semantics.c (finish_static_assert): Call cxx_constant_value only
if require_potential_rvalue_constant_expression returns true.
/testsuite
2014-03-13 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/60254
* g++.dg/cpp0x/static_assert10.C: New.
* g++.dg/cpp0x/static_assert11.C: Likewise.
* g++.dg/cpp0x/static_assert3.C: Adjust.
From-SVN: r208538
Cesar Philippidis [Thu, 13 Mar 2014 09:50:26 +0000 (02:50 -0700)]
lto-wrapper.c (maybe_unlink_file): Suppress diagnostic messages.
2014-03-13 Cesar Philippidis <cesar@codesourcery.com>
* lto-wrapper.c (maybe_unlink_file): Suppress diagnostic
messages.
From-SVN: r208537
Richard Biener [Thu, 13 Mar 2014 09:48:16 +0000 (09:48 +0000)]
lto.exp (lto-execute): Fix error catching for dg-final.
2014-03-13 Richard Biener <rguenther@suse.de>
* lib/lto.exp (lto-execute): Fix error catching for dg-final.
From-SVN: r208536
Jakub Jelinek [Thu, 13 Mar 2014 09:38:28 +0000 (10:38 +0100)]
re PR tree-optimization/59025 (Revision 203979 causes failure in CPU2006 benchmark 435.gromacs)
PR tree-optimization/59025
PR middle-end/60418
* tree-ssa-reassoc.c (sort_by_operand_rank): For SSA_NAMEs with the
same rank, sort by bb_rank and gimple_uid of SSA_NAME_DEF_STMT first.
From-SVN: r208535
Georg-Johann Lay [Thu, 13 Mar 2014 09:16:53 +0000 (09:16 +0000)]
re PR target/60486 ([avr] superfluous or missing comparision after addition or subtraction)
PR target/60486
* config/avr/avr.c (avr_out_plus): Swap cc_plus and cc_minus in
calls of avr_out_plus_1.
From-SVN: r208532
Uros Bizjak [Thu, 13 Mar 2014 07:30:45 +0000 (08:30 +0100)]
ChangeLog: Fix whitespace.
* ChangeLog: Fix whitespace.
* testsuite/ChangeLog: Ditto.
From-SVN: r208530
Jerry DeLisle [Thu, 13 Mar 2014 05:06:57 +0000 (05:06 +0000)]
re PR libfortran/38199 (missed optimization: I/O performance)
2014-03-12 Jerry DeLisle <jvdelisle@gcc.gnu>
PR libfortran/38199
* io/read.c (read_decimal): Quickly skip spaces to avoid calls
to next_char.
* io/unit.c (is_trim_ok): New helper function to check various
conditions to see if its OK to trim the internal unit string.
(get_internal_unit): Use LEN_TRIM to shorten selected internal
unit strings for optimizing READ. Enable this optimization for
formatted READ.
* io/list_read.c (finish_list_read): Don't call eat_line for
internal units.
From-SVN: r208528
Bin Cheng [Thu, 13 Mar 2014 02:40:08 +0000 (02:40 +0000)]
tree-cfgcleanup.c (remove_forwarder_block_with_phi): Record BB's single pred and update the father loop's latch info later.
* tree-cfgcleanup.c (remove_forwarder_block_with_phi): Record
BB's single pred and update the father loop's latch info later.
From-SVN: r208527
GCC Administrator [Thu, 13 Mar 2014 00:17:03 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r208525
Michael Meissner [Thu, 13 Mar 2014 00:11:56 +0000 (00:11 +0000)]
vector.md (VEC_L): Add V1TI mode to vector types.
[gcc]
2014-03-12 Michael Meissner <meissner@linux.vnet.ibm.com>
* config/rs6000/vector.md (VEC_L): Add V1TI mode to vector types.
(VEC_M): Likewise.
(VEC_N): Likewise.
(VEC_R): Likewise.
(VEC_base): Likewise.
(mov<MODE>, VEC_M modes): If we are loading TImode into VSX
registers, we need to swap double words in little endian mode.
* config/rs6000/rs6000-modes.def (V1TImode): Add new vector mode
to be a container mode for 128-bit integer operations added in ISA
2.07. Unlike TImode and PTImode, the preferred register set is
the Altivec/VMX registers for the 128-bit operations.
* config/rs6000/rs6000-protos.h (rs6000_move_128bit_ok_p): Add
declarations.
(rs6000_split_128bit_ok_p): Likewise.
* config/rs6000/rs6000-builtin.def (BU_P8V_AV_3): Add new support
macros for creating ISA 2.07 normal and overloaded builtin
functions with 3 arguments.
(BU_P8V_OVERLOAD_3): Likewise.
(VPERM_1T): Add support for V1TImode in 128-bit vector operations
for use as overloaded functions.
(VPERM_1TI_UNS): Likewise.
(VSEL_1TI): Likewise.
(VSEL_1TI_UNS): Likewise.
(ST_INTERNAL_1ti): Likewise.
(LD_INTERNAL_1ti): Likewise.
(XXSEL_1TI): Likewise.
(XXSEL_1TI_UNS): Likewise.
(VPERM_1TI): Likewise.
(VPERM_1TI_UNS): Likewise.
(XXPERMDI_1TI): Likewise.
(SET_1TI): Likewise.
(LXVD2X_V1TI): Likewise.
(STXVD2X_V1TI): Likewise.
(VEC_INIT_V1TI): Likewise.
(VEC_SET_V1TI): Likewise.
(VEC_EXT_V1TI): Likewise.
(EQV_V1TI): Likewise.
(NAND_V1TI): Likewise.
(ORC_V1TI): Likewise.
(VADDCUQ): Add support for 128-bit integer arithmetic instructions
added in ISA 2.07. Add both normal 'altivec' builtins, and the
overloaded builtin.
(VADDUQM): Likewise.
(VSUBCUQ): Likewise.
(VADDEUQM): Likewise.
(VADDECUQ): Likewise.
(VSUBEUQM): Likewise.
(VSUBECUQ): Likewise.
* config/rs6000/rs6000-c.c (__int128_type): New static to hold
__int128_t and __uint128_t types.
(__uint128_type): Likewise.
(altivec_categorize_keyword): Add support for vector __int128_t,
vector __uint128_t, vector __int128, and vector unsigned __int128
as a container type for TImode operations that need to be done in
VSX/Altivec registers.
(rs6000_macro_to_expand): Likewise.
(altivec_overloaded_builtins): Add ISA 2.07 overloaded functions
to support 128-bit integer instructions vaddcuq, vadduqm,
vaddecuq, vaddeuqm, vsubcuq, vsubuqm, vsubecuq, vsubeuqm.
(altivec_resolve_overloaded_builtin): Add support for V1TImode.
* config/rs6000/rs6000.c (rs6000_hard_regno_mode_ok): Add support
for V1TImode, and set up preferences to use VSX/Altivec
registers. Setup VSX reload handlers.
(rs6000_debug_reg_global): Likewise.
(rs6000_init_hard_regno_mode_ok): Likewise.
(rs6000_preferred_simd_mode): Likewise.
(vspltis_constant): Do not allow V1TImode as easy altivec
constants.
(easy_altivec_constant): Likewise.
(output_vec_const_move): Likewise.
(rs6000_expand_vector_set): Convert V1TImode set and extract to
simple move.
(rs6000_expand_vector_extract): Likewise.
(reg_offset_addressing_ok_p): Setup V1TImode to use VSX reg+reg
addressing.
(rs6000_const_vec): Add support for V1TImode.
(rs6000_emit_le_vsx_load): Swap double words when loading or
storing TImode/V1TImode.
(rs6000_emit_le_vsx_store): Likewise.
(rs6000_emit_le_vsx_move): Likewise.
(rs6000_emit_move): Add support for V1TImode.
(altivec_expand_ld_builtin): Likewise.
(altivec_expand_st_builtin): Likewise.
(altivec_expand_vec_init_builtin): Likewise.
(altivec_expand_builtin): Likewise.
(rs6000_init_builtins): Add support for V1TImode type. Add
support for ISA 2.07 128-bit integer builtins. Define type names
for the VSX/Altivec vector types.
(altivec_init_builtins): Add support for overloaded vector
functions with V1TImode type.
(rs6000_preferred_reload_class): Prefer Altivec registers for
V1TImode.
(rs6000_move_128bit_ok_p): Move 128-bit move/split validation to
external function.
(rs6000_split_128bit_ok_p): Likewise.
(rs6000_handle_altivec_attribute): Create V1TImode from vector
__int128_t and vector __uint128_t.
* config/rs6000/vsx.md (VSX_L): Add V1TImode to vector iterators
and mode attributes.
(VSX_M): Likewise.
(VSX_M2): Likewise.
(VSm): Likewise.
(VSs): Likewise.
(VSr): Likewise.
(VSv): Likewise.
(VS_scalar): Likewise.
(VS_double): Likewise.
(vsx_set_v1ti): New builtin function to create V1TImode from
TImode.
* config/rs6000/rs6000.h (TARGET_VADDUQM): New macro to say
whether we support the ISA 2.07 128-bit integer arithmetic
instructions.
(ALTIVEC_OR_VSX_VECTOR_MODE): Add V1TImode.
(enum rs6000_builtin_type_index): Add fields to hold V1TImode
and TImode types for use with the builtin functions.
(V1TI_type_node): Likewise.
(unsigned_V1TI_type_node): Likewise.
(intTI_type_internal_node): Likewise.
(uintTI_type_internal_node): Likewise.
* config/rs6000/altivec.md (UNSPEC_VADDCUQ): New unspecs for ISA
2.07 128-bit builtin functions.
(UNSPEC_VADDEUQM): Likewise.
(UNSPEC_VADDECUQ): Likewise.
(UNSPEC_VSUBCUQ): Likewise.
(UNSPEC_VSUBEUQM): Likewise.
(UNSPEC_VSUBECUQ): Likewise.
(VM): Add V1TImode to vector mode iterators.
(VM2): Likewise.
(VI_unit): Likewise.
(altivec_vadduqm): Add ISA 2.07 128-bit binary builtins.
(altivec_vaddcuq): Likewise.
(altivec_vsubuqm): Likewise.
(altivec_vsubcuq): Likewise.
(altivec_vaddeuqm): Likewise.
(altivec_vaddecuq): Likewise.
(altivec_vsubeuqm): Likewise.
(altivec_vsubecuq): Likewise.
* config/rs6000/rs6000.md (FMOVE128_GPR): Add V1TImode to vector
mode iterators.
(BOOL_128): Likewise.
(BOOL_REGS_OUTPUT): Likewise.
(BOOL_REGS_OP1): Likewise.
(BOOL_REGS_OP2): Likewise.
(BOOL_REGS_UNARY): Likewise.
(BOOL_REGS_AND_CR0): Likewise.
* config/rs6000/altivec.h (vec_vaddcuq): Add support for ISA 2.07
128-bit integer builtin support.
(vec_vadduqm): Likewise.
(vec_vaddecuq): Likewise.
(vec_vaddeuqm): Likewise.
(vec_vsubecuq): Likewise.
(vec_vsubeuqm): Likewise.
(vec_vsubcuq): Likewise.
(vec_vsubuqm): Likewise.
* doc/extend.texi (PowerPC AltiVec/VSX Built-in Functions):
Document vec_vaddcuq, vec_vadduqm, vec_vaddecuq, vec_vaddeuqm,
vec_subecuq, vec_subeuqm, vec_vsubcuq, vec_vsubeqm builtins adding
128-bit integer add/subtract to ISA 2.07.
[gcc/testsuite]
2014-03-12 Michael Meissner <meissner@linux.vnet.ibm.com>
* gcc.target/powerpc/p8vector-int128-1.c: New test to test ISA
2.07 128-bit arithmetic.
* gcc.target/powerpc/p8vector-int128-2.c: Likewise.
* gcc.target/powerpc/timode_off.c: Restrict cpu type to power5,
due to when TImode is allowed in VSX registers, the allowable
address modes for TImode is just a single indirect address in
order for the value to be loaded and store in either GPR or VSX
registers. This affects the generated code, and it would cause
this test to fail, when such an option is used.
From-SVN: r208522
Joern Rennecke [Thu, 13 Mar 2014 00:02:37 +0000 (00:02 +0000)]
arc.c (arc_predicate_delay_insns): Fix third argument passed to conditionalize_nonjump.
* config/arc/arc.c (arc_predicate_delay_insns):
Fix third argument passed to conditionalize_nonjump.
From-SVN: r208521
Roland McGrath [Wed, 12 Mar 2014 22:42:13 +0000 (22:42 +0000)]
PR libstdc++/59392: Fix ARM EABI uncaught throw from unexpected exception handler
libstdc++-v3/
PR libstdc++/59392
* libsupc++/eh_call.cc (__cxa_call_unexpected): Call __do_catch with
the address of a null pointer, not with a null pointer to pointer.
Copy comment for this case from eh_personality.cc:__cxa_call_unexpected.
* testsuite/18_support/bad_exception/59392.cc: New file.
Co-Authored-By: Mark Seaborn <mseaborn@google.com>
From-SVN: r208519
Yufeng Zhang [Wed, 12 Mar 2014 16:35:53 +0000 (16:35 +0000)]
gcc/
* config/aarch64/aarch64-builtins.c
(aarch64_builtin_vectorized_function): Add BUILT_IN_LFLOORF,
BUILT_IN_LLFLOOR, BUILT_IN_LCEILF and BUILT_IN_LLCEIL.
* config/aarch64/arm_neon.h (vcvtaq_u64_f64): Call __builtin_llfloor
instead of __builtin_lfloor.
(vcvtnq_u64_f64): Call __builtin_llceil instead of __builtin_lceil.
From-SVN: r208517
Yufeng Zhang [Wed, 12 Mar 2014 16:18:29 +0000 (16:18 +0000)]
sysv.S (ffi_closure_SYSV): Use x29 as the main CFA reg; update cfi_rel_offset.
libffi/
* src/aarch64/sysv.S (ffi_closure_SYSV): Use x29 as the
main CFA reg; update cfi_rel_offset.
From-SVN: r208515