PR rtl-optimization/70263
* ira.c (memref_used_between_p): Assert we found END in the insn chain.
(update_equiv_regs): When trying to move a store to after the insn
that sets the source of the store, make sure the store occurs after
the insn that sets the source of the store. When successful note
the REG_EQUIV note created in the dump file.
PR rtl-optimization/70263
* gcc.c-torture/compile/pr70263-1.c: New test.
* gcc.target/i386/pr70263-2.c: New test.
From-SVN: r234344
PR rtl-optimization/70278
* lra-constraints.c (split_reg): Handle the case where biggest_mode is
VOIDmode.
testsuite/
* gcc.dg/torture/pr70278.c: New test.
* gcc.target/arm/pr70278.c: New test.
From-SVN: r234342
gcc/c/ChangeLog:
PR c/70281
* c-parser.c (c_parser_postfix_expression): Set the source range
for uses of "__builtin_types_compatible_p".
gcc/testsuite/ChangeLog:
PR c/70281
* gcc.dg/plugin/diagnostic-test-expressions-1.c
(test_builtin_types_compatible_p): New test function.
* gcc.dg/pr70281.c: New test case.
From-SVN: r234340
* class.c (vptr_via_virtual_p): New.
(most_primary_binfo): Factor out of build_rtti_vtbl_entries.
* cp-ubsan.c (cp_ubsan_dfs_initialize_vtbl_ptrs): Don't clear
a vptr from any virtual base in a not-in-charge 'structor.
From-SVN: r234335
* class.c (build_if_in_charge): Split out from build_base_path.
* init.c (expand_virtual_init, expand_default_init): Use it.
* call.c (build_special_member_call): Use it.
From-SVN: r234333
2015-07-02 Uros Bizjak <ubizjak@gmail.com>
* libsupc++/guard.cc (__test_and_acquire): Use __p after __atomic_load
to avoid unused variable warning.
(__set_and_release): Use __p after __atomic_store to avoid unused
variable warning.
From-SVN: r234331
2016-03-18 Tom de Vries <tom@codesourcery.com>
PR ipa/70269
* cgraph.c (cgraph_node::get_body): Set dump_file to NULL after save.
* gcc.dg/pr70269.c: New test.
From-SVN: r234321
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
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
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
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
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
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
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
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
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
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
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
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
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