- 25 Nov, 2015 19 commits
-
-
2015-11-25 Steven G. Kargl <kargl@gcc.gnu.org> PR fortran/68227 * trans-stmt.c (gfc_do_allocate): Convert gcc_assert argument into into part of conditional statement. From-SVN: r230873
Steven G. Kargl committed -
PR fortran/63858 gcc/fortran/ * scanner.c (skip_oacc_attribute): Remove continue_flag parameter. Rename as ... (skip_free_oacc_sentinel): ... this. (skip_omp_attribute): Remove continue_flag parameter. Rename as ... (skip_free_omp_sentinel): ... this. (skip_free_comments): Update to call skip_free_oacc_sentinel and skip_free_omp_sentinel. (skip_fixed_omp_sentinel): New function. (skip_fixed_oacc_sentinel): New function. (skip_fixed_comments): Fix mix of OpenACC and OpenMP sentinels in continuation. gcc/testsuite/ * goacc/omp-fixed.f: New test. * goacc/omp.f95: Add check for mis-matched omp and acc continuations. Co-Authored-By: Cesar Philippidis <cesar@codesourcery.com> From-SVN: r230872
Ilmir Usmanov committed -
PR c++/68385 * tree.c (integer_zerop, integer_onep, integer_each_onep) (integer_all_onesp, integer_minus_onep, integer_pow2p) (integer_nonzerop, integer_truep, tree_log2, tree_floor_log2) (real_zerop, real_onep, real_minus_onep): Remove STRIP_NOPS. From-SVN: r230871
Jason Merrill committed -
2015-11-25 Richard Biener <rguenther@suse.de> PR middle-end/68528 * fold-const.c (fold_binary_loc): Do not call negate_expr_p on stripped operands. * gcc.dg/torture/pr68528.c: New testcase. From-SVN: r230870
Richard Biener committed -
* config/nvptx/nvptx.c (walk_args_for_params): Delete. (nvptx_declare_function_name): Move assignments next to register declarations, and process params here. From-SVN: r230869
Nathan Sidwell committed -
* testsuite/27_io/ios_base/types/fmtflags/case_label.cc: Explicitly check minimum and maximum values, and size of underlying type. * testsuite/27_io/ios_base/types/iostate/case_label.cc: Likewise. * testsuite/27_io/ios_base/types/openmode/case_label.cc: Likewise. From-SVN: r230868
Jonathan Wakely committed -
rs6000.c (rs6000_declare_alias): Rename and globalize both the symbol and the "dot" symbol for function descriptors. * config/rs6000/rs6000.c (rs6000_declare_alias): Rename and globalize both the symbol and the "dot" symbol for function descriptors. Fix inversion for rename of symbols with dollar sign. From-SVN: r230867
David Edelsohn committed -
2015-11-25 Tom de Vries <tom@codesourcery.com> * cfgloop.c (find_single_latch): New function, factored out of ... (flow_loops_find): ... here. (verify_loop_structure): Improve verification of loop->latch. * cfgloop.h (find_single_latch): Declare. * omp-low.c (expand_omp_for_generic): Initialize latch of orig_loop. From-SVN: r230866
Tom de Vries committed -
libstdc++-v3: * acinclude.m4 (GLIBCXX_ENABLE_VTABLE_VERIFY) <solaris2*>: Use -Wl,-R in VTV_CXXLINKFLAGS. * configure: Regenerate. * testsuite/18_support/bad_exception/23591_thread-1.c: Use -fvtable-verify=none on Solaris 12+. libgcc: * Makefile.in (VTV_CFLAGS): New variable. (vtv_start$(objext), vtv_end$(objext), vtv_end$(objext)) (vtv_start_preinit$(objext), vtv_end_preinit$(objext)): Use it. * config.host (*-*-solaris2*): Add t-crtstuff-pic to tmake_file. Add vtv_start.o, vtv_end.o, vtv_start_preinit.o, vtv_end_preinit.o to extra_parts if $enable_vtable_verify = yes. libvtv: * configure.tgt (*-*-solaris2.[1-9]*): Declare supported. * configure.ac: Call AC_USE_SYSTEM_EXTENSIONS. <*-*-solaris2*>: Check for init priority support. Check for getexecname, __fortify_fail, _obstack_begin. (VTV_NO_OBSTACK): New conditional. * configure: Regenerate. * Makefile.am [VTV_NO_OBSTACK] (obstack.c): Use new condition. Create empty config.h * Makefile.in: Regenerate. * vtv_rts.cc [HAVE_GETEXECNAME] (program_invocation_name): New variable. (read_section_offset_and_length) [HAVE_GETEXECNAME]: Set it. (dl_iterate_phdr_callback) [HAVE_GETEXECNAME]: Set it. (__fortify_fail): Wrap in HAVE___FORTIFY_FAIL [!HAVE___FORTIFY_FAIL]: Provide non-Cygwin implementation. (read_section_offset_and_length): Assert sh_size >= VTV_PAGE_SIZE. (iterate_modules): Fix typo. Use VTV_PAGE_SIZE. (dl_iterate_phdr_callback): Fix typo. Use VTV_PAGE_SIZE. (__VLTChangePermission): Fix typos. include: * vtv-change-permission.h (VTV_PAGE_SIZE) [__sun__ && __svr4__ && __sparc__]: Define. gcc: * config/sol2.h (SUPPORTS_INIT_PRIORITY): Move up. (STARTFILE_VTV_SPEC, ENDFILE_VTV_SPEC): Define. (STARTFILE_SPEC): Use %(startfile_vtv). (ENDFILE_SPEC): Use %(endfile_vtv). (SUBTARGET_EXTRA_SPECS): Handle STARTFILE_VTV_SPEC, ENDFILE_VTV_SPEC. * gcc.c (LINK_COMMAND_SPEC): Move VTABLE_VERIFICATION_SPEC after %{L*}. From-SVN: r230865
Rainer Orth committed -
* ifcvt.c (noce_mem_write_may_trap_or_fault_p, noce_can_store_speculate): Delete. (noce_process_if_block): Don't try to handle single MEM stores. * rtl.h (memory_must_be_modified_in_insn_p): Don't declare. * alias.c (memory_must_be_modified_in_insn_p): Delete. From-SVN: r230864
Bernd Schmidt committed -
re PR c++/58910 (std::Tuple_impl is non constexpr when using identical userdefined structs as template-args) 2015-11-25 Paolo Carlini <paolo.carlini@oracle.com> PR c++/58910 * g++.dg/cpp0x/constexpr-tuple2.C: New. From-SVN: r230860
Paolo Carlini committed -
PR rtl-optimization/68435 * ifcvt.c (noce_try_cmove_arith): Skip final insn when checking for conflicts between a, b and the set destinations. * gcc.dg/pr68435.c: New test. From-SVN: r230859
Kyrylo Tkachov committed -
2015-11-25 Richard Biener <rguenther@suse.de> PR tree-optimization/68517 * tree-vect-data-refs.c (vect_analyze_data_ref_accesses): Properly handle zero-sized types. * gcc.dg/torture/pr68517.c: New testcase. From-SVN: r230858
Richard Biener committed -
* ipa-inline-analysis.c: Include gimplify.h (set_cond_stmt_execution_predicate, set_switch_stmt_execution_predicate): Be sure to not leak locations to function body. From-SVN: r230857
Jan Hubicka committed -
PR target/67089 * tree-ssa-math-opts.c (uaddsub_overflow_check_p, match_uaddsub_overflow): New functions. (pass_optimize_widening_mul::execute): Call match_uaddsub_overflow. * gcc.dg/pr67089-1.c: New test. * gcc.dg/pr67089-2.c: New test. * gcc.dg/pr67089-3.c: New test. * gcc.dg/pr67089-4.c: New test. * gcc.dg/pr67089-5.c: New test. * gcc.dg/pr67089-6.c: New test. * gcc.dg/pr67089-7.c: New test. From-SVN: r230856
Jakub Jelinek committed -
re PR tree-optimization/68492 (internal compiler error: in vect_is_simple_use, at tree-vect-stmts.c:8266) 2015-11-25 Richard Biener <rguenther@suse.de> PR tree-optimization/68492 * tree-vect-slp.c (vect_build_slp_tree): Consistently build up op from scalars after operand swapping. From-SVN: r230855
Richard Biener committed -
2015-11-25 Richard Biener <rguenther@suse.de> PR tree-optimization/68502 * tree-vect-data-refs.c (vect_analyze_group_access_1): Restore check that the step is a multiple of the type size. * gcc.dg/vect/pr68502-1.c: New testcase. * gcc.dg/vect/pr68502-2.c: Likewise. From-SVN: r230854
Richard Biener committed -
* config/aarch64/aarch64-simd.md (widen_ssum, widen_usum) (aarch64_<ANY_EXTEND:su><ADDSUB:optab>w<mode>_internal): New patterns * config/aarch64/iterators.md (Vhalf, VDBLW): New mode attributes. * gcc.target/aarch64/saddw-1.c: New test. * gcc.target/aarch64/saddw-2.c: New test. * gcc.target/aarch64/uaddw-1.c: New test. * gcc.target/aarch64/uaddw-2.c: New test. * gcc.target/aarch64/uaddw-3.c: New test. * lib/target-support.exp (check_effective_target_vect_widen_sum_hi_to_si_pattern): Add aarch64 to list of support targets. From-SVN: r230853
Michael Collison committed -
From-SVN: r230850
GCC Administrator committed
-
- 24 Nov, 2015 21 commits
-
-
From-SVN: r230847
Steve Ellcey committed -
2015-11-24 Steve Ellcey <sellcey@imgtec.com> * gcc.target/mips/frame-header-4.c: New test. From-SVN: r230846
Steve Ellcey committed -
2015-11-24 Steve Ellcey <sellcey@imgtec.com> * frame-header-opt.c (gate): Check for optimize > 0. (has_inlined_assembly): New function. (needs_frame_header_p): Remove is_leaf_function check, add argument type check. (callees_functions_use_frame_header): Add is_leaf_function and has_inlined_assembly calls.. (set_callers_may_not_allocate_frame): New function. (frame_header_opt): Add is_leaf_function call, add set_callers_may_not_allocate_frame call. * config/mips/mips.c (mips_compute_frame_info): Add check to see if callee saved regs can be put in frame header. (mips_expand_prologue): Add check to see if step1 is zero, fix cfa restores when using frame header to store regs. (mips_can_use_return_insn): Check to see if registers are stored in frame header. * config/mips/mips.h (machine_function): Add callers_may_not_allocate_frame and use_frame_header_for_callee_saved_regs fields. From-SVN: r230845
Steve Ellcey committed -
Part of the shrink-wrapping algorithm has this comment: /* Now see if we can put the prologue at the start of PRO. Putting it there might require duplicating a block that cannot be duplicated, or in some cases we cannot insert the prologue there at all. If PRO wont't do, try again with the immediate dominator of PRO, and so on. The blocks that need duplicating are those reachable from PRO but not dominated by it. We keep in BB_WITH a bitmap of the blocks reachable from PRO that we already found, and in VEC a stack of those we still need to consider (to find successors). */ Two of the cases that push to that stack do not actually check the bitmap first. Either I thought those blocks could not be on the stack already, or more likely I didn't think and it just didn't crash during any testing. But of course those blocks *can* already be on the stack (if you have a hideous loop structure), and then we end up with the same block on the stack more than once. This is harmless, except that (like in the PR) this can overflow the stack. This fixes it, by doing the necessary bitmap checks before pushing. PR rtl-optimization/68520 * shrink-wrap.c (try_shrink_wrapping): Don't push a block to VEC if its bit was already set in BB_WITH. From-SVN: r230843
Segher Boessenkool committed -
c-parser.c (c_parser_oacc_declare): Replace "ifdef ENABLE_OFFLOADING" with "if (ENABLE_OFFLOADING)". gcc/c/ * c-parser.c (c_parser_oacc_declare): Replace "ifdef ENABLE_OFFLOADING" with "if (ENABLE_OFFLOADING)". gcc/cp/ * parser.c (cp_parser_oacc_declare): replace "ifdef enable_offloading" with "if (enable_offloading)". From-SVN: r230842
Ilya Verbin committed -
alias.c (get_alias_set): Before checking TYPE_ALIAS_SET_KNOWN_P double check that type is main variant. * alias.c (get_alias_set): Before checking TYPE_ALIAS_SET_KNOWN_P double check that type is main variant. * tree.c (build_variant_type_copy): Clear TYPE_ALIAS_SET when producing variant. (verify_type_variant): Verify that variants have no TYPE_ALIAS_SET_KNOWN_P set * tree-streamer-out.c (pack_ts_type_common_value_fields): Reorder streaming so constant fields come first; stream TYPE_ALIAS_SET==0 only for main variants; stream TYPE_ALIAS_SET as a bit. * tree-streamer-in.c (unpack_ts_type_common_value_fields): Update accordingly. From-SVN: r230838
Jan Hubicka committed -
* tree.c (make_vector_type): Properly compute canonical type of the main variant. (verify_type): Verify that TYPE_CANONICAL of TYPE_MAIN_VARIANT is a main variant. From-SVN: r230837
Jan Hubicka committed -
* config/nvptx/nvptx.c (maybe_split_mode): Return new mode or VOIDmode, don't alter incoming mode. (nvptx_split_reg_p): Delete. (write_one_arg, walk_args_for_param, nvptx_declare_function_name, write_func_decl_from_insn, nvptx_output_call_insn): Adjust maybe_split_mode calls. (nvptx_print_operand): Use maybe_split_mode. From-SVN: r230836
Nathan Sidwell committed -
lto-streamer-in.c (lto_read_body_or_constructor): Set TYPE_CANONICAL only for types where LTO sets them. * lto-streamer-in.c (lto_read_body_or_constructor): Set TYPE_CANONICAL only for types where LTO sets them. * tree.c (build_array_type_1): Do ont set TYPE_CANONICAL for LTO. (make_vector_type): Likewise. (gimple_canonical_types_compatible_p): Use canonical_type_used_p. * tree.h (canonical_type_used_p): New inline. * alias.c (get_alias_set): Handle structural equality for all types that pass canonical_type_used_p. (record_component_aliases): Look through all types with record_component_aliases for possible pointers; sanity check that the alias sets match. * lto.c (iterative_hash_canonical_type): Recruse for all types which pass !canonical_type_used_p. (gimple_register_canonical_type_1): Sanity check we do not compute canonical type of anything with !canonical_type_used_p. (gimple_register_canonical_type): Skip all types that are !canonical_type_used_p From-SVN: r230835
Jan Hubicka committed -
2015-11-24 Michael Meissner <meissner@linux.vnet.ibm.com> * config/rs6000/rs6000.md (lround<mode>di2): Remove constraints. From-SVN: r230834
Michael Meissner committed -
* tree.c (free_node): New function. (type_hash_canon): Use it. * tree.h (free_node): Declare. * lto.c (unify_scc): Use free_node. From-SVN: r230833
Jan Hubicka committed -
2015-11-24 Steven G. Kargl <kargl@gcc.gnu.org> PR fortran/68486 * simplify.c (gfc_simplify_cshift): Allow all EXPR_*. 2015-11-24 Steven G. Kargl <kargl@gcc.gnu.org> PR fortran/68486 * gfortran.dg/simplify_cshift_3.f90 From-SVN: r230832
Steven G. Kargl committed -
From-SVN: r230831
Michael Meissner committed -
From-SVN: r230830
Michael Meissner committed -
2015-11-24 David Edelsohn <dje.gcc@gmail.com> Michael Meissner <meissner@linux.vnet.ibm.com> * config/rs6000/rs6000.md (UNSPEC_XSRDPI): New unspec. (Fv2): New mode attribute to be used when ISA 2.06 instructions are used on SF/DF values. (abs<mode>2_fpr): Use <Fv2> instead of <Fv>. (nabs<mode>2_fpr): Likewise. (neg<mode>2_fpr): Likewise. (copysign<mode>3_fcpsgn): Likewise. (smax<mode>3_vsx): Likewise. (smin<mode>3_vsx): Likewise. (floatsi<mode>2_lfiwax): Likewise. (floatunssi<mode>2_lfiwz): Likewise. (fctiwz_<mode>): Likewise. (fctiwuz_<mode>): Likewise. (btrunc<mode>2): Likewise. (ceil<mode>2): Likewise. (floor<mode>2): Likewise. (xsrdpi<mode>): Add support for the lround function. (lround<mode>2): Likewise. Co-Authored-By: Michael Meissner <meissner@linux.vnet.ibm.com> From-SVN: r230829
David Edelsohn committed -
2015-11-24 Paolo Carlini <paolo.carlini@oracle.com> PR c++/68278 * g++.dg/cpp1y/pr68278.C: New. From-SVN: r230828
Paolo Carlini committed -
2015-11-24 Paolo Carlini <paolo.carlini@oracle.com> PR c++/68388 * g++.dg/cpp1y/pr68388.C: New. From-SVN: r230827
Paolo Carlini committed -
Co-Authored-By: Sebastian Pop <s.pop@samsung.com> From-SVN: r230826
Aditya Kumar committed -
Co-Authored-By: Sebastian Pop <s.pop@samsung.com> From-SVN: r230825
Aditya Kumar committed -
... so that debugger users can reference them instead of the renamed subprograms. This is in accordance with the DWARF specification: the section 3.2.3 (Imported (or Renamed) Declaration Entities) allows DW_TAG_imported_declaration DIEs to be used "as a general means to rename or provide an alias for an entity regardless of the context in which the importing declaration or the imported entity occur." (wording from the DWARFv3 and DWARFv4 specifications, allowed in DWARFv2). gcc/ada/ChangeLog: * gcc-interface/utils.c (gnat_write_global_declarations): Output debugging information for top-level imported declarations. gcc/ChangeLog: * dwarf2out.c (gen_decl_die): Generate DW_TAG_imported_* instead of DW_TAG_namespace for IMPORTED_DECL declarations. Call dwarf2out_imported_module_or_decl_1 for all DWARF versions as this function already takes care of checking what it can emit. Bootstrapped, regtested and checked with GDB's testsuite on x86_64-linux. From-SVN: r230821
Pierre-Marie de Rodat committed -
gcc/ * doc/invoke.texi (-fpic): Add the AArch64 limit. (-fPIC): Add AArch64. From-SVN: r230819
Szabolcs Nagy committed
-