PR tree-optimization/59362
* tree-object-size.c (object_sizes): Change into array of
vec<unsigned HOST_WIDE_INT>.
(compute_builtin_object_size): Check computed bitmap for
non-NULL instead of object_sizes. Call safe_grow on object_sizes
vector if new SSA_NAMEs appeared.
(init_object_sizes): Check computed bitmap for non-NULL.
Call safe_grow on object_sizes elements instead of initializing
it with XNEWVEC.
(fini_object_sizes): Call release on object_sizes elements, don't
set it to NULL.
* gcc.c-torture/compile/pr59362.c: New test.
From-SVN: r205623
PR middle-end/59011
* gimplify.c (nonlocal_vla_vars): New variable.
(gimplify_var_or_parm_decl): Put VAR_DECLs for VLAs into
nonlocal_vla_vars chain.
(gimplify_body): Call declare_vars on nonlocal_vla_vars chain
if outer_bind has DECL_INITIAL (current_function_decl) block.
* gcc.dg/pr59011.c: New test.
From-SVN: r205621
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58944
ix86_valid_target_attribute_tree in config/i386/i386.c was
refactored to not depend on global_options structure and to be able to
use any gcc_options structure. One clean way to fix this is by having
target_option_default_node save all the default target options which
can be restored to any gcc_options structure. The root cause of the
above bugs was that ix86_arch_string and ix86_tune_string was not
saved in target_option_deault_node.
This patch saves all the target options used in i386.opt which are
either obtained from the command-line or set to some default.
Testing:
Patch tested for bootstrap on all default languages(also obj-c++ and ada)
on x86_64 and regression testsuite checked for parity with RUNTESTFLAGS -m32
and m64.
From-SVN: r205616
PR tree-optimization/59358
* tree-vrp.c (union_ranges): To check for the partially
overlapping ranges or adjacent ranges, also compare *vr0max
with vr1max.
* gcc.c-torture/execute/pr59358.c: New test.
From-SVN: r205607
2013-12-02 Sterling Augustine <saugustine@google.com>
* dwarf2out.c (output_pubnames): Use comp_unit_die ()->die_offset
when there isn't a skeleton die.
From-SVN: r205603
2013-12-02 Bernd Edlinger <bernd.edlinger@hotmail.de>
Fix C++0x memory model for unaligned fields in packed, aligned(4)
structures with -fno-strict-volatile-bitfields on STRICT_ALIGNMENT
targets like arm-none-eabi.
* expr.c (expand_assignment): Handle normal fields like bit regions.
testsuite:
2013-12-02 Bernd Edlinger <bernd.edlinger@hotmail.de>
* gcc.dg/pr56997-4.c: New testcase.
From-SVN: r205597
2013-12-02 Richard Biener <rguenther@suse.de>
PR tree-optimization/59139
* tree-ssa-loop-niter.c (chain_of_csts_start): Properly match
code in get_val_for.
(get_val_for): Use gcc_checking_asserts.
* gcc.dg/torture/pr59139.c: New testcase.
From-SVN: r205588
2013-12-02 Richard Biener <rguenther@suse.de>
* tree-ssa-operands.c (opf_implicit): Remove.
(opf_address_taken): New flag.
(get_expr_operands): Remove early out, pass down
opf_address_taken for ADDR_EXPRs, add a use operand only
for non-opf_address_taken bases.
(get_indirect_ref_operands): Rename to ...
(get_mem_ref_operands): ... this.
(get_asm_expr_operands): Rename to ...
(get_asm_stmt_operands): ... this.
From-SVN: r205587
PR tree-optimization/59356
* tree-dfa.h (get_addr_base_and_unit_offset_1) <case ARRAY_REF>: Do the
offset computation using the precision of the index type.
From-SVN: r205585
2013-12-01 Paul Thomas <pault@gcc.gnu.org>
PR fortran/57354
* trans-array.c (gfc_conv_resolve_dependencies): For other than
SS_SECTION, do a dependency check if the lhs is liable to be
reallocated.
2013-12-01 Paul Thomas <pault@gcc.gnu.org>
PR fortran/57354
* gfortran.dg/realloc_on_assign_23.f90 : New test
From-SVN: r205567
2013-12-01 Paul Thomas <pault@gcc.gnu.org>
PR fortran/58410
* trans-array.c (gfc_alloc_allocatable_for_assignment): Do not
use the array bounds of an unallocated array but set its size
to zero instead.
From-SVN: r205566
When a 386 function returns a struct, it needs to return using
an rtd instruction that pops the hidden struct parameter off
the stack. That wasn't happening.
From-SVN: r205551
* combine.c (reg_nonzero_bits_for_combine): Apply mask transformation
as applied to nonzero_sign_valid when last_set_mode has less precision
than mode.
Co-Authored-By: Eric Botcazou <ebotcazou@adacore.com>
From-SVN: r205550
2013-11-30 Tobias Burnus <burnus@net-b.de>
PR sanitizer/59275
* doc/invoke.texi (-fsanitize=address,leak): Mention the
* associated
environment variable and link to a list with flags.
(-fsanitize=thread): Ditto and update link.
From-SVN: r205548
PR c/42262
c:
* c-typeck.c (process_init_element): Do not treat a string as
initializing a whole array when used with a designator for an
individual element.
testsuite:
* gcc.dg/c99-init-5.c, gcc.dg/c99-init-6.c: New tests.
From-SVN: r205543
2013-11-29 Vladimir Makarov <vmakarov@redhat.com>
PR rtl-optimization/59340
* lra.c (check_rtl): Use recog_memoized instead of insn_invalid_p.
Revert
2013-11-20 Robert Suchanek <Robert.Suchanek@imgtec.com>
* lra.c (lra): Set lra_in_progress before check_rtl call.
* recog.c (insn_invalid_p): Add !lra_in_progress to prevent
adding clobber regs when LRA is running.
From-SVN: r205541