Jakub Jelinek [Fri, 18 Mar 2016 08:25:57 +0000 (09:25 +0100)]
reload1.c (emit_input_reload_insns): Use simplify_replace_rtx instead of replace_rtx for DEBUG_INSNs.
* reload1.c (emit_input_reload_insns): Use simplify_replace_rtx
instead of replace_rtx for DEBUG_INSNs.
From-SVN: r234320
Jakub Jelinek [Fri, 18 Mar 2016 07:59:36 +0000 (08:59 +0100)]
re PR c++/70267 (ICE on invalid code at -O1 and above on x86_64-linux-gnu in propagate_necessity, at tree-ssa-dce.c:924)
PR c++/70267
* init.c (build_new_1): Complain and return error_mark_node
if alloc_fn is not _Jv_AllocObject function returning pointer.
* g++.dg/ext/java-3.C: New test.
From-SVN: r234319
Venkataramanan Kumar [Fri, 18 Mar 2016 07:49:00 +0000 (07:49 +0000)]
Fix latencies in znver1.md
2016-03-18 Venkataramanan Kumar <venkataramanan.kumar@amd.com>
* config/i386/znver1.md : Fix latencies of FP/SSE/AVX
load type reservations.
From-SVN: r234318
Patrick Palka [Fri, 18 Mar 2016 01:26:50 +0000 (01:26 +0000)]
Fix PR c++/70205 (ICE on valid call to qualified static member function)
gcc/cp/ChangeLog:
PR c++/70205
* search.c (adjust_result_of_qualified_name_lookup): Don't
update the BASELINK_BINFO of DECL if the second call
to lookup_base fails.
gcc/testsuite/ChangeLog:
PR c++/70205
* g++.dg/lookup/pr70205.C: New test.
From-SVN: r234317
Patrick Palka [Fri, 18 Mar 2016 01:23:26 +0000 (01:23 +0000)]
Fix PR c++/70218 (illegal access to private field succeeds)
gcc/cp/ChangeLog:
PR c++/70218
* parser.c (cp_parser_lambda_expression): Move call to
pop_deferring_access_checks ahead of the call to
cp_parser_end_tentative_firewall.
gcc/testsuite/ChangeLog:
PR c++/70218
* g++.dg/cpp0x/lambda/lambda-70218.C: New test.
From-SVN: r234316
GCC Administrator [Fri, 18 Mar 2016 00:16:13 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r234315
Jakub Jelinek [Thu, 17 Mar 2016 23:00:04 +0000 (00:00 +0100)]
re PR middle-end/70280 (-fcompare-debug failure (length) with --param=integer-share-limit=4016 -mavx512bw)
PR c/70280
* c-typeck.c (composite_type): Don't count void_list_node
into len, if the list is terminated by void_list_node, start
with void_list_node instead of NULL for newargs. Stop
at void_list_node.
From-SVN: r234312
Cary Coutant [Thu, 17 Mar 2016 22:54:19 +0000 (15:54 -0700)]
Sync top-level configure.ac with binutils-gdb.
2016-03-17 Cary Coutant <ccoutant@gmail.com>
* configure.ac: Add mips and s390 to the gold target check.
* configure: Regenerate.
From-SVN: r234309
John David Anglin [Thu, 17 Mar 2016 22:49:15 +0000 (22:49 +0000)]
re PR target/70188 (gcc 4.9+ miscompiles code on hppa)
PR target/70188
* config/pa/constraints.md: Revert 2015-02-13 change. Use
define_constraint for "Q" and "T" constraints.
From-SVN: r234308
Evandro Menezes [Thu, 17 Mar 2016 21:20:50 +0000 (21:20 +0000)]
Tweak the pipeline model for Exynos M1
* gcc/config/aarch64/aarch64.c
(exynosm1_tunings): Enable the weak prefetching model.
From-SVN: r234307
Marek Polacek [Thu, 17 Mar 2016 18:43:08 +0000 (18:43 +0000)]
re PR c/69407 (-Wunused-value on __atomic_fetch_OP and __atomic_OP_fetch)
PR c/69407
* c-common.c (resolve_overloaded_builtin): Set TREE_USED for the fetch
operations.
* gcc.dg/atomic-op-6.c: New test.
From-SVN: r234304
David Malcolm [Thu, 17 Mar 2016 18:27:47 +0000 (18:27 +0000)]
PR c/70264: fix crash in compatible_locations_p with BUILTINS_LOCATION
In r234088 my fix for PR c++/70105 didn't allow for the possibility that
when comparing a pair of macro expansion histories that one of the
macros in the history might not be located within a line-map, and
PR c/70264 reports a crash due to encountering BUILTINS_LOCATION within
the traversal.
Fixed thusly.
Successfully bootstrapped on x86_64-pc-linux-gnu; adds 4 PASS results
to gcc.sum and 12 to g++.sum.
gcc/ChangeLog:
PR c/70264
* diagnostic-show-locus.c (compatible_locations_p): Handle the case
where one or both locations aren't within a line_map.
gcc/testsuite/ChangeLog:
PR c/70264
* c-c++-common/pr70264.c: New test case.
From-SVN: r234303
Jakub Jelinek [Thu, 17 Mar 2016 15:58:22 +0000 (16:58 +0100)]
re PR tree-optimization/70144 (g++ ICE at -O1 and above on valid code on x86_64-linux-gnu in "copy_reference_ops_from_ref")
PR c++/70144
* cp-tree.h (magic_varargs_p): Return int instead of bool.
* call.c (magic_varargs_p): Return int instead of bool, return 2 for
Cilk+ reductions, otherwise 1 for magic varargs and 0 for normal
varargs.
(build_over_call): If magic_varargs_p == 2, call reject_gcc_builtin,
if magic_varargs_p == 1, call decay_conversion
instead of mark_type_use. Don't store error_mark_node arguments to
argarray, instead return error_mark_node.
* c-c++-common/pr70144-1.c: New test.
* c-c++-common/pr70144-2.c: New test.
From-SVN: r234297
Jakub Jelinek [Thu, 17 Mar 2016 15:56:19 +0000 (16:56 +0100)]
re PR c++/70272 (-flifetime-dse miscompilation starting with r217967)
PR c++/70272
* decl.c (begin_destructor_body): Don't insert clobber if
is_empty_class (current_class_type).
* g++.dg/opt/flifetime-dse5.C (main): Remove extra semicolon.
* g++.dg/opt/flifetime-dse6.C: New test.
* g++.dg/tree-ssa/ehcleanup-1.C: Adjust unreachable count.
From-SVN: r234296
H.J. Lu [Thu, 17 Mar 2016 15:11:35 +0000 (15:11 +0000)]
Properly set flag_pie and flag_pic
We can't set flag_pie to the default when flag_pic == 0, which may be
set by -fno-pic or -fno-PIC, since the default value of flag_pie is
non-zero when GCC is configured with --enable-default-pie. We need
to initialize flag_pic to -1 so that we can tell if -fpic, -fPIC,
-fno-pic or -fno-PIC is used.
Since Darwin defaults to PIC (__PIC__ == 2) and the PIC setting can't
be changed, skip tests of default __PIC__ and __PIE__ setting for
*-*-darwin* targets.
gcc/
PR driver/70192
* opts.c (finish_options): Don't set flag_pie to the default if
-fpic, -fPIC, -fno-pic or -fno-PIC is used. Set flag_pic to 0
if it is -1.
gcc/testsuite/
PR driver/70192
* gcc.dg/pic-1.c: New test.
* gcc.dg/pic-2.c: Likewise.
* gcc.dg/pic-3.c: Likewise.
* gcc.dg/pic-4.c: Likewise.
* gcc.dg/pie-1.c: Likewise.
* gcc.dg/pie-2.c: Likewise.
* gcc.dg/pie-3.c: Likewise.
* gcc.dg/pie-4.c: Likewise.
* gcc.dg/pie-5.c: Likewise.
* gcc.dg/pie-6.c: Likewise.
From-SVN: r234295
Thomas Schwinge [Thu, 17 Mar 2016 15:07:54 +0000 (16:07 +0100)]
Rename GOMP_MAP_FORCE_DEALLOC to GOMP_MAP_DELETE
Also rename the Fortran OMP_MAP_FORCE_DEALLOC to OMP_MAP_DELETE.
include/
* gomp-constants.h (enum gomp_map_kind): Rename
GOMP_MAP_FORCE_DEALLOC to GOMP_MAP_DELETE. Adjust all users.
gcc/fortran/
* gfortran.h (enum gfc_omp_map_op): Rename OMP_MAP_FORCE_DEALLOC
to OMP_MAP_DELETE. Adjust all users.
From-SVN: r234294
Tom de Vries [Thu, 17 Mar 2016 14:56:43 +0000 (14:56 +0000)]
Add goacc/kernels-alias-{3,4}.f95
2016-03-17 Tom de Vries <tom@codesourcery.com>
* gfortran.dg/goacc/kernels-alias-3.f95: New test.
* gfortran.dg/goacc/kernels-alias-4.f95: New test.
From-SVN: r234292
Joern Rennecke [Thu, 17 Mar 2016 14:10:39 +0000 (14:10 +0000)]
i386.md (*movv4qicc_insn+1..36): Pass true as ALL_REGS argument to replace_rtx.
* config/i386/i386.md (*movv4qicc_insn+1..36): Pass
true as ALL_REGS argument to replace_rtx.
From-SVN: r234290
Richard Biener [Thu, 17 Mar 2016 13:43:01 +0000 (13:43 +0000)]
re PR debug/70271 (internal compiler error: in dwarf2out_finish, at dwarf2out.c:27346)
2016-03-17 Richard Biener <rguenther@suse.de>
PR debug/70271
* dwarf2out.c (dwarf2out_early_finish): Process deferred_asm_name
last.
* g++.dg/debug/pr70271.C: New testcase.
From-SVN: r234289
Jakub Jelinek [Thu, 17 Mar 2016 11:53:53 +0000 (12:53 +0100)]
re PR middle-end/70245 (Miscompilation of ICU on i386 with atom tuning starting with r227382)
PR target/70245
* rtl.h (replace_rtx): Add ALL_REGS argument.
* rtlanal.c (replace_rtx): Likewise. If true, use REGNO
equality and assert mode is the same, instead of just rtx pointer
equality.
* config/i386/i386.md (mov + arithmetics with load peephole): Pass
true as ALL_REGS argument to replace_rtx.
From-SVN: r234285
H.J. Lu [Thu, 17 Mar 2016 11:07:10 +0000 (11:07 +0000)]
Set flag_pic to flag_pie for PIE in LTO
Since PIE implies PIC, we should set flag_pic to flag_pie for PIE in
LTO.
PR lto/70258
* lto-lang.c (lto_post_options): Set flag_pic to flag_pie for
PIE.
From-SVN: r234284
Ilya Enkovich [Thu, 17 Mar 2016 10:58:26 +0000 (10:58 +0000)]
match.pd (A + (B vcmp C ? 1 : 0) -> A - (B vcmp C)): Apply for boolean vector with vector mode only.
gcc/
* match.pd (A + (B vcmp C ? 1 : 0) -> A - (B vcmp C)): Apply
for boolean vector with vector mode only.
(A - (B vcmp C ? 1 : 0) -> A + (B vcmp C)): Likewise.
gcc/testsuite/
* gcc.target/i386/pr70251.c: New test.
From-SVN: r234283
Andreas Schwab [Thu, 17 Mar 2016 10:47:58 +0000 (10:47 +0000)]
Summary: libffi: define FFI_SIZEOF_JAVA_RAW for aarch64 ILP32
* src/aarch64/ffitarget.h (FFI_SIZEOF_JAVA_RAW) [__ILP32__]:
Define.
From-SVN: r234282
Marek Polacek [Thu, 17 Mar 2016 10:29:36 +0000 (10:29 +0000)]
re PR c++/70194 (missing -Waddress on constexpr pointer)
PR c++/70194
* typeck.c (warn_for_null_address): New function.
(cp_build_binary_op): Call it.
* g++.dg/warn/constexpr-70194.C: New test.
From-SVN: r234281
Nick Clifton [Thu, 17 Mar 2016 10:16:38 +0000 (10:16 +0000)]
re PR target/70162 ([RX] const_int printing causes wrong code on 32 bit host)
PR target/70162
* config/rx/rx.c (rx_print_integer): Print negative constants in
decimal.
From-SVN: r234280
Jakub Jelinek [Thu, 17 Mar 2016 08:01:26 +0000 (09:01 +0100)]
re PR rtl-optimization/70261 (r234265 causes fails on rs6000)
PR target/70261
* rtlanal.c (replace_rtx): Revert 2016-03-16 change.
From-SVN: r234279
Joseph Myers [Thu, 17 Mar 2016 00:21:09 +0000 (00:21 +0000)]
* fr.po: Update.
From-SVN: r234278
Joseph Myers [Thu, 17 Mar 2016 00:20:21 +0000 (00:20 +0000)]
* fr.po: Update.
From-SVN: r234277
GCC Administrator [Thu, 17 Mar 2016 00:16:12 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r234276
Richard Henderson [Wed, 16 Mar 2016 23:53:18 +0000 (16:53 -0700)]
re PR middle-end/70240 (ICE: in gimplify_modify_expr, at gimplify.c:4854 with -ftree-vectorize)
PR middle-end/70240
* gcc.c-torture/compile/pr70240.c: New.
From-SVN: r234273
Richard Henderson [Wed, 16 Mar 2016 23:53:10 +0000 (16:53 -0700)]
Revert r231575
PR middle-end/70240
PR middle-end/68215
2015-12-11 Eric Botcazou <ebotcazou@adacore.com>
* tree-vect-generic.c (tree_vec_extract): Remove GSI parameter.
Do not gimplify the result.
(do_unop): Adjust call to tree_vec_extract.
(do_binop): Likewise.
(do_compare): Likewise.
(do_plus_minus): Likewise.
(do_negate): Likewise.
(expand_vector_condition): Likewise.
(do_cond): Likewise.
Co-Authored-By: Richard Biener <rguenther@suse.de>
From-SVN: r234272
Richard Henderson [Wed, 16 Mar 2016 23:53:01 +0000 (16:53 -0700)]
Gimplify vec_cond_expr with condition inside
PR middle-end/70240
PR middle-end/68215
PR tree-opt/68714
* gimplify.c (gimplify_expr) [VEC_COND_EXPR]: Gimplify the
first operand as is_gimple_condexpr.
Co-Authored-By: Richard Biener <rguenther@suse.de>
From-SVN: r234271
Richard Henderson [Wed, 16 Mar 2016 21:23:05 +0000 (14:23 -0700)]
re PR target/70048 ([AArch64] Inefficient local array addressing)
PR target/70048
* config/aarch64/aarch64.c (virt_or_elim_regno_p): New.
(aarch64_classify_address): Use it.
(aarch64_legitimize_address): Force all subexpressions of PLUS
into registers. Simplify as (sfp+const)+reg or (reg+reg)+const.
From-SVN: r234269
Jason Merrill [Wed, 16 Mar 2016 19:37:22 +0000 (15:37 -0400)]
re PR c++/70259 (-flifetime-dse=2 bug with empty bases)
PR c++/70259
* decl.c (start_preparsed_function): Don't clobber an empty base.
From-SVN: r234267
Senthil Kumar Selvaraj [Wed, 16 Mar 2016 18:09:51 +0000 (18:09 +0000)]
20151204.c: Skip for avr.
2016-03-16 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>
* gcc.c-torture/compile/
20151204.c: Skip for avr.
From-SVN: r234266
Jakub Jelinek [Wed, 16 Mar 2016 17:52:20 +0000 (18:52 +0100)]
re PR middle-end/70245 (Miscompilation of ICU on i386 with atom tuning starting with r227382)
PR target/70245
* rtlanal.c (replace_rtx): For REG, if from is a REG,
return to even if only REGNO is equal, and assert
mode is the same.
* g++.dg/opt/pr70245.C: New test.
* g++.dg/opt/pr70245.h: New file.
* g++.dg/opt/pr70245-aux.cc: New file.
Co-Authored-By: Richard Biener <rguenther@suse.de>
From-SVN: r234265
Martin Sebor [Wed, 16 Mar 2016 17:42:41 +0000 (17:42 +0000)]
g++.dg/cpp1y/constexpr-instantiate.C: Correct DejaGnu directives.
From-SVN: r234264
Jeff Law [Wed, 16 Mar 2016 17:03:45 +0000 (11:03 -0600)]
Fix bug ID in last commit
From-SVN: r234263
Jeff Law [Wed, 16 Mar 2016 16:58:12 +0000 (10:58 -0600)]
re PR rtl-optimization/70224 (ICE: RTL flag check: CROSSING_JUMP_P used with unexpected rtx code 'insn' in relax_delay_slots, at reorg.c:3310)
PR rtl-optimization/70024
* reorg.c (relax_delay_slots): Pass right argument to CROSSING_JUMP_P.
From-SVN: r234262
Richard Henderson [Wed, 16 Mar 2016 16:50:18 +0000 (09:50 -0700)]
re PR middle-end/70199 (Crash at -O2 when using labels.)
PR middle-end/70199
* function.h (struct function): Add has_forced_label_in_static.
* gimplify.c (force_labels_r): Set it.
* lto-streamer-in.c (input_struct_function_base): Read it.
* lto-streamer-out.c (output_struct_function_base): Write it.
* tree-inline.c (has_label_address_in_static_1): Remove.
(copy_forbidden): Remove fndecl parameter; test
has_forced_label_in_static.
(inline_forbidden_p): Update call to copy_forbidden.
(tree_versionable_function_p): Likewise.
* ipa-chkp.c (chkp_instrumentable_p): Likewise.
(chkp_versioning): Likewise.
* tree-inline.h (copy_forbidden): Update decl.
testsuite/
* gcc.c-torture/compile/pr70199.c: New.
From-SVN: r234261
H.J. Lu [Wed, 16 Mar 2016 16:14:34 +0000 (16:14 +0000)]
Run dos2unix on gcc.dg/uninit-19.c
* gcc.dg/uninit-19.c: Run dos2unix.
From-SVN: r234260
Marek Polacek [Wed, 16 Mar 2016 15:51:47 +0000 (15:51 +0000)]
re PR c/70093 (Instancing function with VM return type cases internal compiler error in 'assign_stack_temp_for_type'.)
PR c/70093
* c-typeck.c (build_function_call_vec): Create a TARGET_EXPR for
nested functions returning VM types.
* cgraphunit.c (cgraph_node::expand_thunk): Also build call to the
function being thunked if the result type doesn't have fixed size.
* gimplify.c (gimplify_modify_expr): Also set LHS if the result type
doesn't have fixed size.
* gcc.dg/nested-func-10.c: New test.
* gcc.dg/nested-func-9.c: New test.
From-SVN: r234259
Jakub Jelinek [Wed, 16 Mar 2016 13:34:36 +0000 (14:34 +0100)]
re PR tree-optimization/68714 (less folding of vector comparison)
PR tree-optimization/68714
* gcc.dg/tree-ssa/pr68714.c: Add -w -Wno-psabi to dg-options.
From-SVN: r234258
Thomas Schwinge [Wed, 16 Mar 2016 13:10:20 +0000 (14:10 +0100)]
Nowadays, we use plain -fopenacc to enable OpenACC kernels processing
libgomp/
* testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: Adjust to
-ftree-parallelize-loops/-fopenacc changes.
* testsuite/libgomp.oacc-fortran/kernels-loop-data-2.f95:
Likewise.
* testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit-2.f95:
Likewise.
* testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit.f95:
Likewise.
* testsuite/libgomp.oacc-fortran/kernels-loop-data-update.f95:
Likewise.
* testsuite/libgomp.oacc-fortran/kernels-loop-data.f95: Likewise.
* testsuite/libgomp.oacc-fortran/kernels-loop.f95: Likewise.
From-SVN: r234257
Rainer Orth [Wed, 16 Mar 2016 11:57:02 +0000 (11:57 +0000)]
Save call-clobbered registers in _mcount on 32-bit Solaris/x86 (PR target/38239)
PR target/38239
* config/sol2/gmon.c [__i386__] (_mcount): Save and restore
call-clobbered registers.
(internal_mcount): Remove __i386__ handling.
From-SVN: r234256
Andreas Schwab [Wed, 16 Mar 2016 11:44:36 +0000 (11:44 +0000)]
Summary: boehm-gc: add support for aarch64 ILP32
* include/private/gcconfig.h [AARCH64] (ALIGNMENT, CPP_WORDSZ):
Define for __ILP32__.
From-SVN: r234255
Bin Cheng [Wed, 16 Mar 2016 10:57:34 +0000 (10:57 +0000)]
tree-vect-loop.c (vect_analyze_loop_2): Fix wrong dump info by reporting malformed loop nest.
* tree-vect-loop.c (vect_analyze_loop_2): Fix wrong dump info by
reporting malformed loop nest.
From-SVN: r234254
Tom de Vries [Wed, 16 Mar 2016 10:21:27 +0000 (10:21 +0000)]
Safely use nodes[0] in possible_polymorphic_call_targets
2016-03-16 Tom de Vries <tom@codesourcery.com>
PR lto/70187
* ipa-devirt.c (possible_polymorphic_call_targets): Move
nodes.length () == 1 test to before first nodes[0] access.
From-SVN: r234253
Svante Signell [Wed, 16 Mar 2016 10:04:01 +0000 (10:04 +0000)]
Makefile.in: Add support for x86 GNU/Hurd.
* gcc-interface/Makefile.in: Add support for x86 GNU/Hurd.
* s-osinte-gnu.ads: New file.
From-SVN: r234252
Tom de Vries [Wed, 16 Mar 2016 09:19:23 +0000 (09:19 +0000)]
Add missing single_pred_p test in scop_detection::merge_sese
2016-03-16 Tom de Vries <tom@codesourcery.com>
PR tree-optimization/68715
* graphite-scop-detection.c (scop_detection::merge_sese): Add missing
single_pred_p test.
* gcc.dg/graphite/pr68715-2.c: New test.
* gcc.dg/graphite/pr68715.c: New test.
* gfortran.dg/graphite/pr68715.f90: New test.
From-SVN: r234251
Tom de Vries [Wed, 16 Mar 2016 09:19:12 +0000 (09:19 +0000)]
Fix same_close_phi_node
2016-03-16 Tom de Vries <tom@codesourcery.com>
PR tree-optimization/68809
* graphite-scop-detection.c (same_close_phi_node): Test if result types
are the same.
* gcc.dg/graphite/pr68809-2.c: New test.
* gcc.dg/graphite/pr68809.c: New test.
From-SVN: r234250
Jakub Jelinek [Wed, 16 Mar 2016 07:02:30 +0000 (08:02 +0100)]
re PR sanitizer/70147 (testcase from hana testsuite gets miscompiled with -fsanitize=undefined)
PR c++/70147
* cp-ubsan.c (cp_ubsan_dfs_initialize_vtbl_ptrs): Conditionalize
BINFO_VIRTUAL_P vtable clearing on current_in_charge_parm.
* g++.dg/ubsan/pr70147-2.C (C::C): Initialize A base with invalid
method call to i () as argument. Adjust expected output.
From-SVN: r234249
Jakub Jelinek [Wed, 16 Mar 2016 07:01:36 +0000 (08:01 +0100)]
re PR sanitizer/70147 (testcase from hana testsuite gets miscompiled with -fsanitize=undefined)
PR c++/70147
* cp-ubsan.c (cp_ubsan_maybe_initialize_vtbl_ptrs): Temporarily
set in_base_initializer.
* g++.dg/ubsan/pr70147-1.C: New test.
* g++.dg/ubsan/pr70147-2.C: New test.
From-SVN: r234248
Carlos O'Donell [Wed, 16 Mar 2016 05:00:58 +0000 (05:00 +0000)]
Cleanup and expand on the 'leaf' function attribute documentation.
Describe the problems that a user might face with indirect functions
and ELF symbol interposition.
gcc/ChangeLog:
2016-03-16 Carlos O'Donell <carlos@redhat.com>
Sandra Loosemore <sandra@codesourcery.com>
* doc/extend.texi (Common Function Attributes): Describe ifunc impact
on leaf attribute. Mention ELF interposition problems.
Co-Authored-By: Sandra Loosemore <sandra@codesourcery.com>
From-SVN: r234247
Martin Sebor [Wed, 16 Mar 2016 03:00:02 +0000 (03:00 +0000)]
PR c++/58281 - Problem with explicitly instantiated constexpr template
PR c++/58281 - Problem with explicitly instantiated constexpr template
functions
gcc/testsuite/ChangeLog:
2016-03-15 Martin Sebor <msebor@redhat.com>
PR c++/58281
* g++.dg/cpp1y/constexpr-instantiate.C: Add new test.
From-SVN: r234246
GCC Administrator [Wed, 16 Mar 2016 00:16:18 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r234245
John David Anglin [Wed, 16 Mar 2016 00:11:28 +0000 (00:11 +0000)]
pr68532.c: Add -fno-common option on hppa*-*-hpux*.
* gcc.c-torture/execute/pr68532.c: Add -fno-common option on
hppa*-*-hpux*.
From-SVN: r234242
John David Anglin [Tue, 15 Mar 2016 23:49:40 +0000 (23:49 +0000)]
ifcvt-4.c: Add hppa*64*-*-* to skip list.
* gcc.dg/ifcvt-4.c: Add hppa*64*-*-* to skip list.
From-SVN: r234241
John David Anglin [Tue, 15 Mar 2016 23:34:49 +0000 (23:34 +0000)]
re PR libfortran/69799 (FAIL: gfortran.dg/coarray_allocate_3.f08 at -O1 and above)
PR libfortran/69799
* gfortran.dg/coarray_allocate_5.f08: Add "-latomic" option if
libatomic_available.
From-SVN: r234240
Richard Henderson [Tue, 15 Mar 2016 23:08:45 +0000 (16:08 -0700)]
Fix compiling large files
* line-map.c (new_linemap): Make alloc_size a size_t.
From-SVN: r234239
Alan Modra [Tue, 15 Mar 2016 22:04:42 +0000 (08:34 +1030)]
Fix thinko in indirect_jump_optimize
PR rtl-optimization/69195
PR rtl-optimization/47992
* ira.c (indirect_jump_optimize): Ignore artificial defs.
Add comments.
From-SVN: r234235
Marek Polacek [Tue, 15 Mar 2016 21:10:11 +0000 (21:10 +0000)]
re PR c++/70209 (ICE in strip_typedefs, at cp/tree.c:1377)
PR c++/70209
* tree.c (strip_typedefs): Call strip_typedefs again on the
DECL_ORIGINAL_TYPE result.
* g++.dg/ext/attribute-may-alias-4.C: New test.
From-SVN: r234234
Jason Merrill [Tue, 15 Mar 2016 19:37:37 +0000 (15:37 -0400)]
re PR c++/70095 ([C++14] Link error on partially specialized variable template)
PR c++/70095
* pt.c (instantiate_decl): Fix call to variable_template_p.
From-SVN: r234231
Jason Merrill [Tue, 15 Mar 2016 19:37:32 +0000 (15:37 -0400)]
Fix more P0184R0 references.
From-SVN: r234230
Jason Merrill [Tue, 15 Mar 2016 19:21:44 +0000 (15:21 -0400)]
re PR c++/70141 (template parameter not deducible in partial specialization of template inside template)
PR c++/70141
* pt.c (for_each_template_parm_r): Always walk into TYPENAME_TYPE.
From-SVN: r234228
Alexander Monakov [Tue, 15 Mar 2016 18:11:14 +0000 (21:11 +0300)]
pr63384.C: Add -w to dg-options.
* g++.dg/pr63384.C: Add -w to dg-options. Remove '-toggle'
in -fvar-tracking-assignments-toggle flag.
From-SVN: r234227
Eric Botcazou [Tue, 15 Mar 2016 17:55:39 +0000 (17:55 +0000)]
re PR middle-end/69513 (LTO bootstrap fails with bootstrap-profiled during linking gnat1 in stagefeedback)
PR bootstrap/69513
* dwarf2out.c (flush_limbo_die_list): Really flush the limbo list.
From-SVN: r234226
Pat Haugen [Tue, 15 Mar 2016 17:45:13 +0000 (17:45 +0000)]
ifcvt-4.c: Add -misel for powerpc*.
* gcc.dg/ifcvt-4.c: Add -misel for powerpc*.
From-SVN: r234224
Senthil Kumar Selvaraj [Tue, 15 Mar 2016 16:21:49 +0000 (16:21 +0000)]
avr.md (rotl<mode>3): Set mode for operand 2.
* config/avr/avr.md (rotl<mode>3): Set mode for operand 2.
From-SVN: r234223
Jakub Jelinek [Tue, 15 Mar 2016 16:11:48 +0000 (17:11 +0100)]
re PR rtl-optimization/70222 (Test miscompiled with -O1)
PR rtl-optimization/70222
* combine.c (simplify_shift_const_1): For A >> B >> C LSHIFTRT
optimization if mode is different from result_mode, queue up masking
of the result in outer_op. Formatting fix.
* gcc.c-torture/execute/pr70222-1.c: New test.
* gcc.c-torture/execute/pr70222-2.c: New test.
From-SVN: r234222
Jakub Jelinek [Tue, 15 Mar 2016 16:10:59 +0000 (17:10 +0100)]
re PR middle-end/70239 (ICE in ggc_set_mark)
PR middle-end/70239
* tree-ssa-sccvn.c (VN_INFO_GET): Use safe_grow_cleared instead
of safe_grow.
From-SVN: r234221
Richard Henderson [Tue, 15 Mar 2016 15:43:00 +0000 (08:43 -0700)]
Fix pr68714 test for targets not supporting V4SImode.
* gcc.dg/tree-ssa/pr68714.c: Test during reassoc pass.
From-SVN: r234220
Andrey Belevantsev [Tue, 15 Mar 2016 15:42:07 +0000 (18:42 +0300)]
re PR rtl-optimization/69032 (ICE: in cfg_preds_1, at sel-sched-ir.c:4809 with -fsched-pressure -fsel-sched-pipelining -fselective-scheduling)
gcc/
PR rtl-optimization/69032
* sel-sched-ir.c (get_seqno_by_preds): Include both insn and head when
looping backwards over basic block insns.
testsuite/
PR rtl-optimization/69032
* gcc.dg/pr69032.c: New test.
From-SVN: r234219
Andrey Belevantsev [Tue, 15 Mar 2016 15:36:44 +0000 (18:36 +0300)]
re PR target/66660 ([ia64] Speculative load not checked before use, leading to a NaT Consumption Vector interruption)
PR target/66660
* sel-sched-ir.c (merge_expr): Avoid changing the speculative pattern
to non-speculative when propagating trap bits.
From-SVN: r234218
Andrey Belevantsev [Tue, 15 Mar 2016 15:25:41 +0000 (18:25 +0300)]
re PR rtl-optimization/63384 (scheduler loops on endless fence list with -fselective-scheduling2 on x86)
gcc/
PR rtl-optimization/63384
* sel-sched.c (invoke_aftermath_hooks): Do not decrease issue_more
on DEBUG_INSN_P insns.
testsuite/
PR rtl-optimization/63384
* g++.dg/pr63384.C: New test.
From-SVN: r234217
Andrey Belevantsev [Tue, 15 Mar 2016 15:13:29 +0000 (18:13 +0300)]
re PR target/64411 (ICE: in verify_target_availability, at sel-sched.c:1577 with -Os -mcmodel=medium -fPIC -fschedule-insns -fselective-scheduling)
gcc/
PR target/64411
* sched-deps.c (get_implicit_reg_pending_clobbers): New function,
factored out from ...
(sched_analyze_insn): ... here.
* sched-int.h (get_implicit_reg_pending_clobbers): Declare it.
* sel-sched-ir.c (setup_id_implicit_regs): New function, use
get_implicit_reg_pending_clobbers in it.
(setup_id_reg_sets): Use setup_id_implicit_regs.
(deps_init_id): Ditto.
testsuite/
PR target/64411
* gcc.target/i386/pr64411.C: New test.
From-SVN: r234216
Tom de Vries [Tue, 15 Mar 2016 13:01:51 +0000 (13:01 +0000)]
Add goacc/kernels-alias{,-2}.f95
2016-03-15 Tom de Vries <tom@codesourcery.com>
* gfortran.dg/goacc/kernels-alias-2.f95: New test.
* gfortran.dg/goacc/kernels-alias.f95: New test.
From-SVN: r234214
Jason Merrill [Tue, 15 Mar 2016 12:08:31 +0000 (08:08 -0400)]
expr.c (cpp_classify_number): Hex floats are new in C++1z.
* libcpp/expr.c (cpp_classify_number): Hex floats are new in C++1z.
* libcpp/init.c (lang_defaults): Likewise.
* gcc/c-family/c-cppbuiltin.c (c_cpp_builtins): Set __cpp_hex_float.
From-SVN: r234213
Jason Merrill [Tue, 15 Mar 2016 12:08:25 +0000 (08:08 -0400)]
feat-cxx1z.C: Fix __cpp_fold_expressions value.
* g++.dg/cpp1z/feat-cxx1z.C: Fix __cpp_fold_expressions value.
* g++.dg/cpp1z/fold7.C: Likewise.
From-SVN: r234212
Tom de Vries [Tue, 15 Mar 2016 11:51:32 +0000 (11:51 +0000)]
Fix fdump-ipa-all-graph
2016-03-15 Tom de Vries <tom@codesourcery.com>
PR ipa/70161
* cgraph.c (cgraph_node::get_body): Save, reset and restore
dump_file_name.
* passes.c (execute_one_ipa_transform_pass): Add missing argument to
execute_function_dump.
(execute_one_pass): Don't dump function if it will be dumped after ipa
transform.
From-SVN: r234211
Martin Sebor [Tue, 15 Mar 2016 03:05:17 +0000 (03:05 +0000)]
PR c++/53792 - [C++11] improving compiler-time constexpr evaluation
gcc/testsuite/ChangeLog:
2016-03-14 Martin Sebor <msebor@redhat.com>
PR c++/53792
* g++.dg/cpp0x/constexpr-inline.C: New test.
* g++.dg/cpp0x/constexpr-inline-1.C: Same.
From-SVN: r234208
Jason Merrill [Tue, 15 Mar 2016 02:57:52 +0000 (22:57 -0400)]
* c-cppbuiltin.c (c_cpp_builtins): Bump __cpp_range_based_for.
From-SVN: r234207
Segher Boessenkool [Tue, 15 Mar 2016 00:42:43 +0000 (01:42 +0100)]
genrecog: Fix crash on invalid input
If your machine description refers to a non-existent predicate genrecog
crashes. This fixes it.
* genrecog.c (match_pattern_2): If pred is NULL don't call
safe_predicate_mode on it.
From-SVN: r234206
GCC Administrator [Tue, 15 Mar 2016 00:16:14 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r234205
David Edelsohn [Mon, 14 Mar 2016 23:30:52 +0000 (23:30 +0000)]
* gcc.dg/torture/pr70083.c: Prune non-standard ABI.
From-SVN: r234202
Jakub Jelinek [Mon, 14 Mar 2016 22:19:32 +0000 (23:19 +0100)]
re PR middle-end/70219 (ICE: in delete_move_and_clobber, at lra-constraints.c:5864 with -O2)
PR middle-end/70219
* lra-constraints.c (delete_move_and_clobber): Change assertion
to also allow dregno == 0.
* gcc.dg/pr70219.c: New test.
From-SVN: r234201
Richard Henderson [Mon, 14 Mar 2016 20:48:15 +0000 (13:48 -0700)]
re PR tree-optimization/68714 (less folding of vector comparison)
PR tree-opt/68714
* tree-ssa-reassoc.c (ovce_extract_ops, optimize_vec_cond_expr): New.
(can_reassociate_p): Allow ANY_INTEGRAL_TYPE_P.
(reassociate_bb): Use optimize_vec_cond_expr; avoid
optimize_range_tests, attempt_builtin_copysign and attempt_builtin_powi
on vectors.
From-SVN: r234196
Casey Carter [Mon, 14 Mar 2016 19:57:54 +0000 (19:57 +0000)]
P08184R0: Generalizing the Range-Based For Loop
* parser.c (cp_convert_range_for): Set the type of __end separately.
(cp_parser_perform_range_for_lookup): Allow different begin/end
types if they are comparable.
Co-Authored-By: Jason Merrill <jason@redhat.com>
From-SVN: r234191
Bernd Schmidt [Mon, 14 Mar 2016 15:08:54 +0000 (15:08 +0000)]
LRA: identify biggest access mode for hard_regs and use it in split_reg
PR target/70083
* lra-lives.c (process_bb_lives): Also update biggest mode for hard
regs.
(lra_create_live_ranges_1): initialize hard register biggest_mode to
VOIDmode.
* lra-constraints.c (split_reg): For hard regs, try to find the
biggest single-register mode used in the function.
testsuite/
PR target/70083
* gcc.dg/torture/pr70083.c: New test.
* gcc.target/i386/pr70083.c: New test.
From-SVN: r234184
Richard Biener [Mon, 14 Mar 2016 14:50:40 +0000 (14:50 +0000)]
re PR tree-optimization/56365 (Missed opportunities for smin/smax standard name patterns when compiling as C++)
2016-03-14 Richard Biener <rguenther@suse.de>
PR tree-optimization/56365
* tree-ssa-phiopt.c (minmax_replacement): Handle alternate
constants to compare against.
* gcc.dg/tree-ssa/phi-opt-14.c: New testcase.
From-SVN: r234183
Segher Boessenkool [Mon, 14 Mar 2016 14:18:44 +0000 (15:18 +0100)]
rs6000: Handle "d" output in the bd*z patterns (PR70098)
In the rs6000 port, FLOAT_REGS can contain DImode values when compiling
for 64-bit targets. Some instructions (like "fcfid" in the testcase,
convert from integer to DP float) only work on floating point registers.
So, we do want to allow DImode in these regs.
Now, in unusual cases IRA will assign FLOAT_REGS to some allocno where
some insns cannot handle FLOAT_REGS there, so they will need a reload.
Maybe IRA can be made smarter, but it isn't doing anything wrong here,
so we should be able to handle it.
The place it goes wrong is in the output of the *ctrdi_internal[1256]
pattern: the "bdz" and "bdnz" instructions. GCC refuses to do output
reloads on JUMP_INSNs, probably because it is hard to do, needs different
strategies than "normal" reloads do, and it cannot even be done at all
for general patterns. So JUMP_INSNs need to be able to handle every
possible output for the register class used.
These patterns already handle writing to "c" (the base insn case), and
to "r", "m", and "c" or "l"; all those via splitters. We just need to
handle "d" as well. That is what this patch does. [A predicate in one
of the splitters needs to be touched up so that the correct splitter
is used for the FLOAT_REGS case.]
But, that leaves another problem. One of the insns that are split to
is a move from a GPR to an FPR. That work fine on targets with direct
move (which does exactly that), i.e. power8 and up. But older targets
need memory to do the move, and this splitter runs after reload so
it cannot allocate memory; and allocating memory beforehand for every
bdnz insn is pretty horrible as well.
This patch implements the easy part. With it, power8 works, where it
didn't before.
PR target/70098
* config/rs6000/rs6000.md (*ctr<mode>_internal1, *ctr<mode>_internal2,
*ctr<mode>_internal5, *ctr<mode>_internal6): Also allow "d" as output.
(define_split for the GPR case): Use int_reg_operand instead of
gpc_reg_operand for the output.
gcc/testsuite/
PR target/70098
* lib/target-supports.exp (check_effective_target_powerpc64_no_dm):
New function.
* g++.dg/pr70098.C: New testcase.
From-SVN: r234181
Tom de Vries [Mon, 14 Mar 2016 09:19:14 +0000 (09:19 +0000)]
Unshare create_empty_if_region_on_edge argument
2016-03-14 Tom de Vries <tom@codesourcery.com>
PR tree-optimization/70045
* graphite-isl-ast-to-gimple.c (graphite_create_new_loop_guard): Unshare
create_empty_if_region_on_edge argument.
* gcc.dg/graphite/pr70045.c: New test.
From-SVN: r234177
Andreas Schwab [Mon, 14 Mar 2016 08:54:06 +0000 (08:54 +0000)]
Summary: libcc1: rerun configure when gcc/BASE-VER changes
* configure.ac (CONFIG_STATUS_DEPENDENCIES): Substitute.
* configure: Regenerate.
* Makefile.in: Regenerate.
From-SVN: r234176
GCC Administrator [Mon, 14 Mar 2016 00:16:15 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r234175
Eric Botcazou [Sun, 13 Mar 2016 20:35:48 +0000 (20:35 +0000)]
vxworks.h (STACK_CHECK_STATIC_BUILTIN): Define.
* config/arm/vxworks.h (STACK_CHECK_STATIC_BUILTIN): Define.
(STACK_CHECK_PROTECT): Likewise.
* config/i386/vxworks.h (STACK_CHECK_STATIC_BUILTIN): Likewise
(STACK_CHECK_PROTECT): Likewise.
* config/rs6000/vxworks.h (STACK_CHECK_STATIC_BUILTIN): Likewise
(STACK_CHECK_PROTECT): Likewise.
* config/rs6000/vxworksae.h (STACK_CHECK_PROTECT): Likewise.
* config/sparc/vxworks.h (STACK_CHECK_STATIC_BUILTIN): Likewise.
(STACK_CHECK_PROTECT): Likewise.
ada/
* system-vxworks-m68k.ads (Stack_Check_Probes): Set to True.
(Stack_Check_Limits): Set to False.
* system-vxworks-mips.ads (Stack_Check_Probes): Set to True.
(Stack_Check_Limits): Set to False.
* system-vxworks-ppc.ads (Stack_Check_Probes): Set to True.
(Stack_Check_Limits): Set to False.
* system-vxworks-sparcv9.ads (Stack_Check_Probes): Set to True.
(Stack_Check_Limits): Set to False.
* system-vxworks-x86.ads (Stack_Check_Probes): Set to True.
(Stack_Check_Limits): Set to False.
From-SVN: r234171
Thomas Schwinge [Sun, 13 Mar 2016 19:08:21 +0000 (20:08 +0100)]
libgcc_s is required by libstdc++
libgomp/
* testsuite/lib/libgomp.exp (libgomp_init): Potentially append to
always_ld_library_path the path to libgcc_s.
From-SVN: r234170
Jerry DeLisle [Sun, 13 Mar 2016 17:38:07 +0000 (17:38 +0000)]
re PR fortran/69043 (Trying to include a directory causes an infinite loop)
2016-03-13 Jerry DeLisle <jvdelisle@gcc.gnu.org>
Jim MacArthur <jim.macarthur@codethink.co.uk>
PR fortran/69043
* scanner.c (load_file): Check that included file is regular.
PR fortran/69043
* gfortran.dg/include_9.f90: New test.
Co-Authored-By: Jim MacArthur <jim.macarthur@codethink.co.uk>
From-SVN: r234169
Dominique d'Humieres [Sun, 13 Mar 2016 09:48:20 +0000 (10:48 +0100)]
re PR fortran/45076 ([OOP] gfortran.dg/dynamic_dispatch_6.f03 ICEs with -fprofile-use)
2016-03-13 Dominique d'Humieres <dominiq@lps.ens.fr>
PR fortran/45076
gfortran.dg/prof/prof.exp: New script.
gfortran.dg/prof/dynamic_dispatch_6.f03: New test.
From-SVN: r234168
Jerry DeLisle [Sun, 13 Mar 2016 00:19:08 +0000 (00:19 +0000)]
re PR fortran/69520 (Implement reversal of -fcheck options)
2016-03-12 Jerry DeLisle <jvdelisle@gcc.gnu.org>
Harold Anlauf <anlauf@gmx.de>
PR fortran/69520
* invoke.texi: Explain use of the 'no-' construct within the
-fcheck= option.
* options.c (gfc_handle_runtime_check_option): Enable use of
'no-' prefix for the various options with -fcheck= to allow
negating previously enabled check options.
Co-Authored-By: Harald Anlauf <anlauf@gmx.de>
From-SVN: r234167
GCC Administrator [Sun, 13 Mar 2016 00:16:14 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r234166