- 21 Oct, 2015 40 commits
-
-
gcc/ PR driver/68043 * opts.c (undocumented_msg, use_diagnosed_msg): New globals. (print_filtered_help): Reference aliased option's name and encourage readers to use it in preference to the alias if the former is not documented. Mention when using an option is diagnosed. * gcc.c (display_help): End each sentence with a period. * ada/gcc-interface/lang.opt: End each sentence that describes an option with a period. * c-family/c.opt: Same. * common.opt: Same. * config/aarch64/aarch64.opt: Same. * config/alpha/alpha.opt: Same. * config/arc/arc.opt: Same. * config/arm/arm.opt: Same. * config/avr/avr.opt: Same. * config/bfin/bfin.opt: Same. * config/c6x/c6x.opt: Same. * config/cr16/cr16.opt: Same. * config/cris/cris.opt: Same. * config/cris/linux.opt: Same. * config/darwin.opt: Same. * config/epiphany/epiphany.opt: Same. * config/fr30/fr30.opt: Same. * config/frv/frv.opt: Same. * config/ft32/ft32.opt: Same. * config/g.opt: Same. * config/h8300/h8300.opt: Same. * config/i386/cygming.opt: Same. * config/i386/djgpp.opt: Same. * config/i386/i386.opt: Same. * config/i386/interix.opt: Same. * config/i386/mingw-w64.opt: Same. * config/i386/mingw.opt: Same. * config/ia64/ia64.opt: Same. * config/ia64/ilp32.opt: Same. * config/iq2000/iq2000.opt: Same. * config/linux.opt: Same. * config/lm32/lm32.opt: Same. * config/lynx.opt: Same. * config/m32c/m32c.opt: Same. * config/m32r/m32r.opt: Same. * config/m68k/ieee.opt: Same. * config/m68k/m68k.opt: Same. * config/mcore/mcore.opt: Same. * config/mep/mep.opt: Same. * config/microblaze/microblaze.opt: Same. * config/mips/mips.opt: Same. * config/mmix/mmix.opt: Same. * config/mn10300/mn10300.opt: Same. * config/moxie/moxie.opt: Same. * config/msp430/msp430.opt: Same. * config/nios2/elf.opt: Same. * config/nios2/nios2.opt: Same. * config/nvptx/nvptx.opt: Same. * config/pa/pa-hpux.opt: Same. * config/pa/pa-hpux1010.opt: Same. * config/pa/pa-hpux1111.opt: Same. * config/pa/pa-hpux1131.opt: Same. * config/pa/pa.opt: Same. * config/pa/pa64-hpux.opt: Same. * config/pdp11/pdp11.opt: Same. * config/rl78/rl78.opt: Same. * config/rs6000/476.opt: Same. * config/rs6000/aix64.opt: Same. * config/rs6000/darwin.opt: Same. * config/rs6000/linux64.opt: Same. * config/rs6000/rs6000.opt: Same. * config/rs6000/sysv4.opt: Same. * config/s390/s390.opt: Same. * config/s390/tpf.opt: Same. * config/sh/sh.opt: Same. * config/sol2.opt: Same. * config/sparc/long-double-switch.opt: Same. * config/sparc/sparc.opt: Same. * config/spu/spu.opt: Same. * config/stormy16/stormy16.opt: Same. * config/tilegx/tilegx.opt: Same. * config/tilepro/tilepro.opt: Same. * config/v850/v850.opt: Same. * config/vax/vax.opt: Same. * config/visium/visium.opt: Same. * config/vms/vms.opt: Same. * config/vxworks.opt: Same. * config/xtensa/xtensa.opt: Same. * fortran/lang.opt: Same. testsuite/ PR driver/68043 * gcc.misc-tests/help.exp: Adjust. * lib/options.exp (check_for_options): Add detail to output. From-SVN: r229155
Martin Sebor committed -
[PATCH 2/9] ENABLE_CHECKING refactoring: libcpp * include/line-map.h: Use CHECKING_P instead of ENABLE_CHECKING. * init.c: Likewise. * macro.c (struct macro_arg_token_iter, set_arg_token, macro_arg_token_iter_init, macro_arg_token_iter_forward, macro_arg_token_iter_get_token, macro_arg_token_iter_get_location, alloc_expanded_arg_mem, _cpp_backup_tokens): Likewise. From-SVN: r229154
Mikhail Maltsev committed -
2015-10-21 Steven G. Kargl <kargl@gcc.gnu.org> PR fortran/67939 * data.c (create_character_initializer): Deal with zero length string. 2015-10-21 Steven G. Kargl <kargl@gcc.gnu.org> PR fortran/67939 * gfortran.dg/pr67939.f90: New test. From-SVN: r229153
Steven G. Kargl committed -
From-SVN: r229152
Jonathan Wakely committed -
When a scalar is defined in function of an array reference in the current scop, it does variate. Graphite cannot represent the condition in scop-11.c, as a[*] variates in the current region, and it is not an affine condition: for (j = 0; j <= 20; j++) a[j] = b + i; if (a[12] == 23) b = 3; else b = 1; for (j = 0; j <= 20; j++) a[j] = b + i; * graphite-scop-detection.c (parameter_index_in_region): Update call to invariant_in_sese_p_rec. * graphite-sese-to-poly.c (extract_affine): Same. * sese.c (invariant_in_sese_p_rec): Pass in an extra parameter has_vdefs. (scalar_evolution_in_region): Return chrec_dont_know when the scalar variable depends on virtual definitions in the current region. * sese.h (invariant_in_sese_p_rec): Update declaration. testsuite/ * gcc.dg/graphite/scop-11.c: Update pattern. Co-Authored-By: Sebastian Pop <s.pop@samsung.com> From-SVN: r229151
Aditya Kumar committed -
* graphite-scop-detection.c (build_scops): Do not handle scops with more than PARAM_GRAPHITE_MAX_ARRAYS_PER_SCOP arrays. * params.def (PARAM_GRAPHITE_MAX_ARRAYS_PER_SCOP): New. Co-Authored-By: Sebastian Pop <s.pop@samsung.com> From-SVN: r229150
Aditya Kumar committed -
gcc/ * config.in: Regenerate. * configure: Regenerate. * configure.ac (CHECKING_P): Define. * system.h: Use CHECKING_P. libcpp/ * config.in: Regenerate. * configure: Regenerate. * configure.ac (CHECKING_P): Define. * system.h (fancy_abort): Declare. (abort): Define. (gcc_assert): Define. Use CHECKING_P. From-SVN: r229149
Mikhail Maltsev committed -
PR ipa/67056 * ipa-polymorphic-call.c (possible_placement_new): If cur_offset is negative we don't know the type. (check_stmt_for_type_change): Skip constructors of non-polymorphic types as those won't help devirutalization. * g++.dg/ipa/pr67056.C: New testcase. From-SVN: r229148
Jan Hubicka committed -
* fold-const.c (operand_equal_p): Add code matching empty constructors. * gcc.dg/tree-ssa/operand-equal-1.c: Verify that empty constructors are matched. From-SVN: r229147
Jan Hubicka committed -
* tree.def (CEIL_DIV_EXPR, FLOOR_DIV_EXPR, ROUND_DIV_EXPR): Tweak comments. (TRUNC_MOD_EXPR, CEIL_MOD_EXPR, FLOOR_MOD_EXPR, ROUND_MOD_EXPR): Add comments on sign of the result. * fold-const.c (tree_binary_nonnegative_warnv_p) <FLOOR_MOD_EXPR>: Recurse on operand #1 instead of operand #0. <CEIL_MOD_EXPR>: Do not recurse. <ROUND_MOD_EXPR>: Likewise. From-SVN: r229146
Eric Botcazou committed -
gcc/ChangeLog: 2015-10-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org> * cfgrtl.c (pass_free_cfg::execute): Adjust. * final.c (dbr_sequence_length): Always define. (shorten_branches): Adjust. * genattr-common.c (main): Always define DELAY_SLOTS. * genattr.c (main): Unconditionally declare functions and define macros related to delay slots. * genattrtab.c (write_eligible_delay): Adjust. (main): Always write out delay slot functions. * opts.c (default_options_table): Adjust. * reorg.c (redirect_with_delay_slots_safe_p): Likewise. (redirect_with_delay_list_safe_p): Likewise. (fill_simple_delay_slots): Likewise. (fill_slots_from_thread): Likewise. (make_return_insns): Likewise. (dbr_schedule): Likewise. (rest_of_handle_delay_slots): Likewise. (pass_delay_slots::gate): Likewise. * toplev.c (process_options): Likewise. From-SVN: r229145
Trevor Saunders committed -
* target.def (addr_space.pointer_mode): Update documentation of default behavior. (addr_space.address_mode): Likewise. * tm.texi: Update. From-SVN: r229144
Richard Henderson committed -
If all address spaces use the same modes and forms, we would be forced to replicate these hooks in the backend. Which would then require the creation of a new hook to replace target_default_pointer_address_modes_p. * targhooks.c (default_addr_space_pointer_mode): Remove check for generic address space. (default_addr_space_address_mode): Likewise. (default_addr_space_valid_pointer_mode): Likewise. (default_addr_space_legitimate_address_p): Likewise. (default_addr_space_legitimize_address): Likewise. From-SVN: r229143
Richard Henderson committed -
The current default of making all undefined coversions being set to null is not useful. It has caused all users to lie and say that spaces are subsets when they are not, just so that they can override the conversion. * expr.c (expand_expr_real_2): Use convert_modes on disjoint address spaces. From-SVN: r229142
Richard Henderson committed -
The fold code also expanded cabs(x+yi) to fsqrt(x*x+y*y) when optimising for speed. tree-ssa-math-opts.c has this transformation too, but unlike the fold code, it first checks whether the target implements the sqrt optab. The patch simply removes the fold code and keeps the tree-ssa-math-opts.c logic the same. gcc.dg/lto/20110201-1_0.c was relying on us replacing cabs with fsqrt even on targets where fsqrt is itself a library call. The discussion leading up to that patch suggested that we only want to test the fold on targets with a square root instruction, so it would be OK to skip the test on other targets: https://gcc.gnu.org/ml/gcc-patches/2011-07/msg01961.html https://gcc.gnu.org/ml/gcc-patches/2011-07/msg02036.html The patch does that using the sqrt_insn effective target. It's possible that removing the tree folds renders the LTO trick unnecessary, but since the test was originally for an ICE, it seems better to leave it as-is. Tested on x86_64-linux-gnu, aarch64-linux-gnu and arm-linux-gnueabi. 20110201-1_0.c passes on all three. gcc/ * builtins.c (fold_builtin_cabs): Delete. (fold_builtin_1): Update accordingly. Handle constant arguments here. * match.pd: Add rules previously handled by fold_builtin_cabs. gcc/testsuite/ * gcc.dg/lto/20110201-1_0.c: Restrict to sqrt_insn targets. Add associated options for arm*-*-*. (sqrt): Remove dummy definition. From-SVN: r229141
Richard Sandiford committed -
This patch deletes fold_strip_sign_ops in favour of the gimple-ssa-backprop.c pass. Tested on x86_64-linux-gnu, aarch64-linux-gnu and arm-linux-gnueabi. gcc/ * fold-const.h (fold_strip_sign_ops): Delete. * fold-const.c (fold_strip_sign_ops): Likewise. (fold_unary_loc, fold_binary_loc): Remove calls to it. * builtins.c (fold_builtin_cos, fold_builtin_cosh) (fold_builtin_ccos): Delete. (fold_builtin_pow): Don't call fold_strip_sign_ops. (fold_builtin_hypot, fold_builtin_copysign): Likewise. Remove fndecl argument. (fold_builtin_1): Update calls accordingly. Handle constant cos, cosh, ccos and ccosh here. gcc/testsuite/ * gcc.dg/torture/builtin-symmetric-1.c: Don't run at -O0. From-SVN: r229140
Richard Sandiford committed -
This patch adds a pass that collects information that is common to all uses of an SSA name X and back-propagates that information up the statements that generate X. The general idea is to use the information to simplify instructions (rather than a pure DCE) so I've simply called it gimple-ssa-backprop.c, to go with tree-ssa-forwprop.c. At the moment the only use of the pass is to remove unnecessary sign operations, so that it's effectively a global version of fold_strip_sign_ops. I'm hoping it could be extended in future to record which bits of an integer are significant. There are probably other potential uses too. A later patch gets rid of fold_strip_sign_ops. Tested on x86_64-linux-gnu, aarch64-linux-gnu and arm-linux-gnueabi. gcc/ * doc/invoke.texi (-fdump-tree-backprop, -fssa-backprop): Document. * Makefile.in (OBJS): Add gimple-ssa-backprop.o. * common.opt (fssa-backprop): New option. * fold-const.h (negate_mathfn_p): Declare. * fold-const.c (negate_mathfn_p): Make public. * timevar.def (TV_TREE_BACKPROP): New. * tree-pass.h (make_pass_backprop): Declare. * passes.def (pass_backprop): Add. * gimple-ssa-backprop.c: New file. gcc/testsuite/ * gcc.dg/tree-ssa/backprop-1.c, gcc.dg/tree-ssa/backprop-2.c, gcc.dg/tree-ssa/backprop-3.c, gcc.dg/tree-ssa/backprop-4.c, gcc.dg/tree-ssa/backprop-5.c, gcc.dg/tree-ssa/backprop-6.c: New tests. From-SVN: r229139
Richard Sandiford committed -
We used to insert a trivial integer_onep condition around loops we know have more than an iteration. This patch avoids generating those conditions. * graphite-isl-ast-to-gimple.c (graphite_create_new_loop_guard): Do not call create_empty_if_region_on_edge when cond_expr is true. (translate_isl_ast_node_for): Check whether a guard has been generated. Co-Authored-By: Sebastian Pop <s.pop@samsung.com> From-SVN: r229137
Aditya Kumar committed -
Now that scop contains a list of all the basic blocks inside, it makes sense to iterate over only those basic blocks in graphite-sese-to-poly.c:rewrite_reductions_out_of_ssa,rewrite_cross_bb_scalar_deps_out_of_ssa Passes regtest and bootstrap. gcc/ChangeLog: 2015-10-20 Aditya Kumar <hiraditya@msn.com> * graphite-poly.h (struct dr_info): Added invalid_alias_set number. (operator=): Removed. (dr_info): Make alias_set number the last argument with default value of invalid_alias_set. * graphite-sese-to-poly.c (build_scop_drs): Update constructor of dr_info. (rewrite_reductions_out_of_ssa): Iterate only through the basic blocks which are inside region. (rewrite_cross_bb_scalar_deps_out_of_ssa): Same. * sese.h (struct sese_l): Removed assignment operator. (split_region_for_bb): Removed dead code. From-SVN: r229136
Aditya Kumar committed -
Rename scop->region to scop->scop_info Removed conversion constructors for sese_l and dr_info. Removed macros. No functional changed intended. Passes regtest and bootstrap. gcc/ChangeLog: 2015-19-10 Aditya Kumar <aditya.k7@samsung.com> * graphite-poly.h (struct dr_info): Removed conversion constructor. (struct scop): Renamed scop::region to scop::scop_info (scop_set_region): Same. (SCOP_REGION): Removed (SCOP_CONTEXT): Removed. (POLY_SCOP_P): Removed. * graphite-isl-ast-to-gimple.c (translate_isl_ast_node_user): Rename scop->region to scop->scop_info. (add_parameters_to_ivs_params): Same. (graphite_regenerate_ast_isl): Same. * graphite-poly.c (new_scop): Same. (free_scop): Same. (print_scop_params): Same. * graphite-scop-detection.c (scop_detection::remove_subscops): Same. (scop_detection::remove_intersecting_scops): Use pointer to sese_l. (dot_all_scops_1): Rename scop->region to scop->scop_info. (scop_detection::nb_pbbs_in_loops): Same. (find_scop_parameters): Same. (try_generate_gimple_bb): Same. (gather_bbs::before_dom_children): Same. (gather_bbs::after_dom_children): Same. (build_scops): Same. * graphite-sese-to-poly.c (build_scop_scattering): Same. (extract_affine_chrec): Same. (extract_affine): Same. (set_scop_parameter_dim): Same. (build_loop_iteration_domains): Same. (create_pw_aff_from_tree): Same. (add_param_constraints): Same. (build_scop_iteration_domain): Same. (build_scop_drs): Same. (analyze_drs_in_stmts): Same. (insert_out_of_ssa_copy_on_edge): Same. (rewrite_close_phi_out_of_ssa):Same. (rewrite_reductions_out_of_ssa):Same. (handle_scalar_deps_crossing_scop_limits):Same. (rewrite_cross_bb_scalar_deps):Same. (rewrite_cross_bb_scalar_deps_out_of_ssa):Same. (build_poly_scop):Same. (build_alias_set): Use pointer to dr_info. * graphite.c (print_graphite_scop_statistics): (graphite_transform_loops): * sese.h (struct sese_l): Remove conversion constructor. From-SVN: r229135
Aditya Kumar committed -
* gcc.dg/tree-ssa/sra-12.c: Enable test on all targets; add --param sra-max-scalarization-size-Ospeed. From-SVN: r229134
Alan Lawrence committed -
PR middle-end/67966 * tree.c (verify_type): Verify that TYPE_MODE match between TYPE_CANONICAL and type. * expr.c (store_expr_with_bounds): Revert my previous change. * expmed.c (store_bit_field_1): Revert prevoius change. * gimple-expr.c (useless_type_conversion_p): Require TYPE_MODE to match for all types. From-SVN: r229132
Jan Hubicka committed -
PR c/68024 * c-decl.c (start_function): Warn about vararg functions without a prototype. * gcc.dg/pr68024.c: New test. From-SVN: r229131
Marek Polacek committed -
gcc/ * omp-low.c (check_omp_nesting_restrictions): Check OpenACC loop nesting. testsuite/ * c-c++-common/goacc/clauses-fail.c: Adjust errors. * c-c++-common/goacc/sb-1.c: Adjust errors. * c-c++-common/goacc/sb-3.c: Adjust errors. * c-c++-common/goacc/loop-1.c: Adjust errors. * c-c++-common/goacc/nesting-1.c: Adjust errors. * c-c++-common/goacc-gomp/nesting-fail-1.c: Adjust errors. * c-c++-common/goacc-gomp/nesting-1.c: Adjust errors. From-SVN: r229129
Nathan Sidwell committed -
gcc/ * doc/tm.texi: Regenerated. * doc/tm.texi.in (TARGET_VECTORIZE_GET_MASK_MODE): New. * stor-layout.c (layout_type): Use mode to get vector mask size. * target.def (get_mask_mode): New. * targhooks.c (default_get_mask_mode): New. * targhooks.h (default_get_mask_mode): New. * gcc/tree-vect-stmts.c (get_same_sized_vectype): Add special case for boolean vector. * tree.c (MAX_BOOL_CACHED_PREC): New. (nonstandard_boolean_type_cache): New. (build_nonstandard_boolean_type): New. (make_vector_type): Vector mask has no canonical type. (build_truth_vector_type): New. (build_same_sized_truth_vector_type): New. (truth_type_for): Support vector masks. * tree.h (VECTOR_BOOLEAN_TYPE_P): New. (build_truth_vector_type): New. (build_same_sized_truth_vector_type): New. (build_nonstandard_boolean_type): New. * tree-cfg.c (verify_gimple_comparison) Require boolean vector type for vector comparison. (verify_gimple_assign_ternary): Likewise. * optabs.c (expand_vec_cond_expr): Accept boolean vector as condition operand. * tree-vect-stmts.c (vectorizable_condition): Use boolean vector type for vector comparison. * tree-vect-generic.c (elem_op_func): Add new operand to hold vector type. (do_unop): Adjust to modified function type. (do_binop): Likewise. (do_plus_minus): Likewise. (do_negate); Likewise. (expand_vector_piecewise): Likewise. (do_cond): Likewise. (do_compare): Use comparison instead of condition. (expand_vector_divmod): Use boolean vector type for comparison. (expand_vector_operations_1): Skip scalar mask operations. gcc/c * c-typeck.c (build_conditional_expr): Use boolean vector type for vector comparison. (build_vec_cmp): New. (build_binary_op): Use build_vec_cmp for comparison. gcc/cp * call.c (build_conditional_expr_1): Use boolean vector type for vector comparison. * typeck.c (build_vec_cmp): New. (cp_build_binary_op): Use build_vec_cmp for comparison. gcc/testsuite/ * g++.dg/ext/vector22.C: Allow VEC_COND_EXPR. From-SVN: r229128
Ilya Enkovich committed -
gcc/ * omp-low.c (simd_clone_create): Set in_other_partition for created clones. gcc/testsuite/ * gcc.dg/lto/simd-function_0.c: New test. From-SVN: r229127
Ilya Enkovich committed -
* doc/extend.exp (Local Register Variables): Rewrite. From-SVN: r229124
David Wohlferd committed -
This patch makes sure that, for every simplification that uses fold_strip_sign_ops, there are associated match.pd rules for the leaf sign ops, i.e. abs, negate and copysign. A follow-on patch will add a pass to handle more complex cases. Tested on x86_64-linux-gnu, aarch64-linux-gnu and arm-linux-gnueabi. gcc/ * match.pd: Add rules to simplify ccos, ccosh, hypot, copysign and x*x in cases where the operands are sign ops. Extend these rules to handle copysign as a sign op (including for cos, cosh and pow, which already treated negate and abs as sign ops). From-SVN: r229123
Richard Sandiford committed -
re PR target/68018 (ICE: in ix86_compute_frame_layout, at config/i386/i386.c:11308 with -mstackrealign) PR target/68018 * config/i386/i386.c (ix86_compute_frame_layout): Realign the stack for 64-bit MS_ABI targets also when default incoming stack boundary is overriden. testsuite/ChangeLog: PR target/68018 * gcc.target/i386/pr68018.c: New test. From-SVN: r229120
Uros Bizjak committed -
tree-ssa-sccvn.c (cond_stmts_equal_p): Compare two GIMPLE cond stmts, enhanced and split out from ... 2015-10-21 Richard Biener <rguenther@suse.de> * tree-ssa-sccvn.c (cond_stmts_equal_p): Compare two GIMPLE cond stmts, enhanced and split out from ... (vn_phi_eq): ... here. From-SVN: r229119
Richard Biener committed -
2015-10-21 Richard Biener <rguenther@suse.de> PR middle-end/68031 * fold-const.c: Include tree-ssa-operands.h and tree-into-ssa.h. (tree_ssa_name_nonnegative_warnv_p): Fold into ... (tree_single_nonnegative_warnv_p): ... here. For SSA names make sure they are not registered for update. * gcc.dg/torture/pr68031.c: New testcase. From-SVN: r229118
Richard Biener committed -
2015-10-21 Richard Biener <rguenther@suse.de> PR tree-optimization/68026 * tree-ssa-ccp.c (get_value_for_expr): Zero-extend mask for unsigned VARYING values. * gcc.dg/tree-ssa/ssa-ccp-39.c: New testcase. From-SVN: r229117
Richard Biener committed -
libsanitizer/ * HOWTO_MERGE: New file. From-SVN: r229116
Max Ostapenko committed -
sanitizer_stacktrace.cc (GetCanonicFrame): Assume we compiled code with GCC when extracting the caller PC for ARM if... libsanitizer/ * sanitizer_common/sanitizer_stacktrace.cc (GetCanonicFrame): Assume we compiled code with GCC when extracting the caller PC for ARM if no valid frame pointer is available. From-SVN: r229115
Max Ostapenko committed -
re PR bootstrap/63888 (bootstrap failed when configured with -with-build-config=bootstrap-asan --disable-werror) libsanitizer/ PR bootstrap/63888 Reapply: 2015-02-20 Jakub Jelinek <jakub@redhat.com> * asan/asan_globals.cc (RegisterGlobal): Disable detect_odr_violation support until it is rewritten upstream. * c-c++-common/asan/pr63888.c: New test. From-SVN: r229114
Max Ostapenko committed -
libsanitizer/ PR sanitizer/63958 Reapply: 2014-10-14 David S. Miller <davem@davemloft.net> * sanitizer_common/sanitizer_platform_limits_linux.cc (time_t): Define at __kernel_time_t, as needed for sparc. (struct __old_kernel_stat): Don't check if __sparc__ is defined. * libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.h (__sanitizer): Define struct___old_kernel_stat_sz, struct_kernel_stat_sz, and struct_kernel_stat64_sz for sparc. (__sanitizer_ipc_perm): Adjust for sparc targets. (__sanitizer_shmid_ds): Likewsie. (__sanitizer_sigaction): Likewise. (IOC_SIZE): Likewsie. From-SVN: r229113
Max Ostapenko committed -
gcc/ * asan.c (asan_emit_stack_protection): Don't pass local stack to asan_stack_malloc_[n] anymore. Check if asan_stack_malloc_[n] returned NULL and use local stack than. (asan_finish_file): Insert __asan_version_mismatch_check_v[n] call in addition to __asan_init. * sanitizer.def (BUILT_IN_ASAN_INIT): Rename to __asan_init. (BUILT_IN_ASAN_VERSION_MISMATCH_CHECK): Add new builtin call. * asan.h (asan_intercepted_p): Handle new string builtins. * ubsan.c (ubsan_use_new_style_p): New function. (ubsan_instrument_float_cast): If location is unknown, assign input_location to loc. Propagate loc to ubsan_create_data if ubsan_use_new_style_p returned true. config/ * bootstrap-asan.mk: Replace ASAN_OPTIONS=detect_leaks with LSAN_OPTIONS=detect_leaks. gcc/testsuite/ * c-c++-common/ubsan/float-cast-overflow-10.c: Adjust test. * c-c++-common/ubsan/float-cast-overflow-8.c: Likewise. * c-c++-common/ubsan/float-cast-overflow-9.c: Likewise. * g++.dg/asan/default-options-1.C: Likewise. From-SVN: r229112
Max Ostapenko committed -
libsanitizer/ 2015-10-20 Maxim Ostapenko <m.ostapenko@partner.samsung.com> * All source files: Merge from upstream r250806. * configure.ac (link_sanitizer_common): Add -lrt flag. * configure.tgt: Enable TSAN and LSAN for aarch64-linux targets. Set CXX_ABI_NEEDED=true for darwin. * asan/Makefile.am (asan_files): Add new files. (DEFS): Add DCAN_SANITIZE_UB=0 and remove unused and legacy DASAN_FLEXIBLE_MAPPING_AND_OFFSET=0. * asan/Makefile.in: Regenerate. * ubsan/Makefile.am (ubsan_files): Add new files. (DEFS): Add DCAN_SANITIZE_UB=1. (libubsan_la_LIBADD): Add -lc++abi if CXX_ABI_NEEDED is true. * ubsan/Makefile.in: Regenerate. * tsan/Makefile.am (tsan_files): Add new files. (DEFS): Add DCAN_SANITIZE_UB=0. * tsan/Makefile.in: Regenerate. * sanitizer_common/Makefile.am (sanitizer_common_files): Add new files. * sanitizer_common/Makefile.in: Regenerate. * asan/libtool-version: Bump the libasan SONAME. From-SVN: r229111
Max Ostapenko committed -
* Makefile.in (OBJS): Remove sched-vis.c * sched-vis.c: Removed. Code moved into... * print-rtl.c: Here. Include cfg.h, pretty-print.h and print-rtl.h. * rtl.h: Remove prototypes for functions now living in print-rtl.c * print-rtl.h Add prototypes for new functions in print-rtl.c. * auto-inc-dec.c: Include print-rtl.h * cfgrtl.c, combine.c, final.c haifa-sched.c: Likewise. * ira.c, lra-constraints.c, lra.c, sel-sched-dump.c: Likewise. From-SVN: r229110
Jeff Law committed -
* varasm.c (handle_vtv_comdat_section): Mark 2nd parameter with ATTRIBUTE_UNUSED. From-SVN: r229109
Jeff Law committed
-