- Oct 21, 2015
-
-
Marek Polacek authored
PR c/68024 * c-decl.c (start_function): Warn about vararg functions without a prototype. * gcc.dg/pr68024.c: New test. From-SVN: r229131
-
Nathan Sidwell authored
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
-
Ilya Enkovich authored
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 authored
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
-
David Wohlferd authored
* doc/extend.exp (Local Register Variables): Rewrite. From-SVN: r229124
-
Richard Sandiford authored
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
-
Uros Bizjak authored
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
-
Richard Biener authored
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 authored
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 authored
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
-
Max Ostapenko authored
libsanitizer/ * HOWTO_MERGE: New file. From-SVN: r229116
-
Max Ostapenko authored
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 authored
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 authored
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 authored
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 authored
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
-
Jeff Law authored
* 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 authored
* varasm.c (handle_vtv_comdat_section): Mark 2nd parameter with ATTRIBUTE_UNUSED. From-SVN: r229109
-
Jason Merrill authored
re PR c++/66583 (incorrect implicitly-defined move constructor for class with anonymous union and NSDMI) PR c++/66583 * init.c (innermost_aggr_scope): New. (build_field_list): Change uses_unions_p to uses_unions_or_anon_p. (sort_mem_initializers): Handle initializers for entire anonymous aggregates. From-SVN: r229108
-
Richard Biener authored
2015-10-20 Richard Biener <rguenther@suse.de> Naveen H.S <Naveen.Hurugalawadi@caviumnetworks.com> * fold-const.c (fold_binary_loc) : Move (-A) * (-B) -> A * B to match.pd. Move (a * (1 << b)) is (a << b) to match.pd. Move convert (C1/X)*C2 into (C1*C2)/X to match.pd. Move ~X & X, (X == 0) & X, and !X & X are zero to match.pd. Move X & ~X , X & (X == 0), and X & !X are zero to match.pd. * match.pd (mult:c @0 (convert? (lshift integer_onep@1 @2))): New simplifier. (mult (rdiv:s REAL_CST@0 @1) REAL_CST@2): New simplifier. (bit_and:c (convert? @0) (convert? (bit_not @0))): New simplifier. (bit_ior (bit_and:s @0 (bit_not:s @1)) (bit_and:s (bit_not:s @0) @1)) : New simplifier. (mult:c (convert1? (negate @0)) (convert2? negate_expr_p@1)): New simplifier. (match (logical_inverted_value @0) (truth_not @0)) : New Predicate. Co-Authored-By:
Naveen H.S <Naveen.Hurugalawadi@caviumnetworks.com> From-SVN: r229107
-
GCC Administrator authored
From-SVN: r229106
-
- Oct 20, 2015
-
-
Gregor Richards authored
* config/rs6000/secureplt.h (LINK_SECURE_PLT_DEFAULT_SPEC): Define. * config/rs6000/sysv4.h (LINK_SECURE_PLT_SPEC): Define. (LINK_SPEC): Add %(link_secure_plt). (SUBTARGET_EXTRA_SPECS): Add "link_secure_plt". * config/rs6000/linux64.h (LINK_SECURE_PLT_SPEC): Redefine. Co-Authored-By:
Alan Modra <amodra@gmail.com> Co-Authored-By:
Szabolcs Nagy <szabolcs.nagy@arm.com> From-SVN: r229102
-
Nathan Sidwell authored
* testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Set sane vector_length. * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise. From-SVN: r229100
-
Marek Polacek authored
* array-notation-common.c (is_cilkplus_vector_p): Define. * c-common.h (is_cilkplus_vector_p): Declare. * c-parser.c (is_cilkplus_vector_p): Don't define here. * parser.c (is_cilkplus_vector_p): Don't define here. From-SVN: r229099
-
Ian Lance Taylor authored
The fix for golang/go#11541 made the assertion that getting an invalid Numeric_constant after evaluating an invalid constant must result in an error in a binary expression. However, a Numeric_constant can be invalid if it is unset, which occurs when either operand cannot be converted to the right type. These errors are issued after the Numeric_constant is lowered. Fixes golang/go#12615. Reviewed-on: https://go-review.googlesource.com/14646 From-SVN: r229098
-
Ian Lance Taylor authored
Fixes golang/go#12618. Reviewed-on: https://go-review.googlesource.com/14647 From-SVN: r229096
-
Gregor Richards authored
* config/sh/linux.h (MUSL_DYNAMIC_LINKER): Define. (MUSL_DYNAMIC_LINKER_E, MUSL_DYNAMIC_LINKER_FP): Define. Co-Authored-By:
Szabolcs Nagy <szabolcs.nagy@arm.com> From-SVN: r229095
-
Kyrylo Tkachov authored
* config/aarch64/aarch64.c (aarch64_mode_valid_for_sched_fusion_p): New function. (fusion_load_store): Use it. * config/aarch64/aarch64-ldpstp.md: Add new peephole2s for ldp and stp in VD modes. * config/aarch64/aarch64-simd.md (load_pair<mode>, VD): New pattern. (store_pair<mode>, VD): Likewise. * gcc.target/aarch64/stp_vec_64_1.c: New test. * gcc.target/aarch64/ldp_vec_64_1.c: Likewise. From-SVN: r229094
-
Alan Lawrence authored
* lib/target-supports.exp (check_effective_target_vect64): Add AArch64. From-SVN: r229092
-
Marek Polacek authored
PR c/67964 * c-parser.c (c_parser_attributes): Break out of the loop if the token after an attribute isn't a comma. * gcc.dg/pr67964.c: New test. From-SVN: r229091
-
H.J. Lu authored
This patch removes the gas configure option: --enable-compressed-debug-sections and adds a toplevel configure option: --enable-compressed-debug-sections={all,gas,gold,ld} to enable compressed debug sections for gas, gold or ld by default. At the moment, this configure option is ignored by gold and ld. For x86 Linux targets, default to compressing debug sections in gas. Sync with binutils-gdb: PR gas/19109 * configure.ac: Add --enable-compressed-debug-sections={all,gas,gold,ld}. * configure: Regenerated. From-SVN: r229088
-
Vladimir Makarov authored
2015-10-20 Vladimir Makarov <vmakarov@redhat.com> PR rtl-optimization/67609 * lra-splill.c (lra_final_code_change): Don't remove all sub-registers. 2015-10-20 Vladimir Makarov <vmakarov@redhat.com> PR rtl-optimization/67609 * gcc.target/i386/pr67609.c: New. From-SVN: r229087
-
Kyrylo Tkachov authored
* simplify-rtx.c (simplify_binary_operation): If either operand was a constant pool reference use them if all other simplifications failed. * gcc.target/aarch64/fmul_fcvt_1.c: Add multiply-by-32 cases. From-SVN: r229086
-
Kyrylo Tkachov authored
* config/aarch64/aarch64.md (*aarch64_fcvt<su_optab><GPF:mode><GPI:mode>2_mult): New pattern. * config/aarch64/aarch64-simd.md (*aarch64_fcvt<su_optab><VDQF:mode><fcvt_target>2_mult): Likewise. * config/aarch64/aarch64.c (aarch64_rtx_costs): Handle above patterns. (aarch64_fpconst_pow_of_2): New function. (aarch64_vec_fpconst_pow_of_2): Likewise. * config/aarch64/aarch64-protos.h (aarch64_fpconst_pow_of_2): Declare prototype. (aarch64_vec_fpconst_pow_of_2): Likewise. * config/aarch64/predicates.md (aarch64_fp_pow2): New predicate. (aarch64_fp_vec_pow2): Likewise. * gcc.target/aarch64/fmul_fcvt_1.c: New test. * gcc.target/aarch64/fmul_fcvt_2.c: Likewise. From-SVN: r229085
-
Uros Bizjak authored
* config/alpha/alpha.h (HARD_REGNO_NREGS): Use CEIL macro. (ALPHA_ARG_SIZE): Ditto. Remove unused NAMED argument. * config/alpha/alpha.c (alpha_function_arg_advance): Update ALPHA_ARG_SIZE usage. (alpha_arg_partial_bytes): Ditto. From-SVN: r229084
-
H.J. Lu authored
There is no need to finalize local error_mark_node decls. gcc/ PR target/66810 * cgraphbuild.c (pass_build_cgraph_edges::execute): Skip local error_mark_node decls. gcc/testsuite/ PR target/66810 * gcc.target/i386/pr66810.c: New test. From-SVN: r229083
-
H.J. Lu authored
-miamcu specifies how parameters are passed to functions and how value is returned from a function. Inside function, we can use instructions supported by -march=XXX. -miamcu -march=haswell can generate x87, SSE and AVX instructions as long as the IA MCU psABI is followed. But since Lakemont processor doesn't support x87 instructions, we shouldn't generate x87 instructions with -march=lakemont. This patch separates code generation from -miamcu and makes -march=lakemont not to generate x87 instructions. gcc/ PR target/67963 PR target/67985 * common/config/i386/i386-common.c (ix86_handle_option): Remove OPT_miamcu handling. * config/i386/i386.c (PTA_NO_80387): New macro. (processor_alias_table): Add PTA_NO_80387 to lakemont. (ix86_option_override_internal): Update MASK_80387 from PTA_NO_80387. Don't warn x87/MMX/SSE/AVX for -miamcu. Warn SSE math only if 80387 is supported. Don't change MASK_FLOAT_RETURNS. (ix86_valid_target_attribute_tree): Enable FPMATH_387 only if 80387 is supported. * config/i386/i386.h (TARGET_FLOAT_RETURNS_IN_80387): True only if TARGET_80387 is true and TARGET_IAMCU is false. (TARGET_FLOAT_RETURNS_IN_80387_P): True only if TARGET_80387_P is true and TARGET_IAMCU_P is false. gcc/testsuite/ PR target/67963 PR target/67985 * gcc.target/i386/pr67963-1.c: New test. * gcc.target/i386/pr67963-2.c: Likewise. * gcc.target/i386/pr67963-3.c: Likewise. * gcc.target/i386/pr67985-1.c: Likewise. * gcc.target/i386/pr67985-2.c: Likewise. * gcc.target/i386/pr67985-3.c: Likewise. From-SVN: r229082
-
Marek Polacek authored
* c.opt (std=gnu++11): Do not describe as experimental. (std=gnu++14): Likewise. From-SVN: r229081
-
Alan Lawrence authored
* gcc.target/aarch64/vdiv_f.c: Use __builtin_nan. From-SVN: r229080
-
Yannick Moy authored
2015-10-20 Yannick Moy <moy@adacore.com> * fmap.adb, a-cihama.adb, sem_ch5.adb, make.adb, inline.adb, a-cfhase.adb, scng.adb, sem_ch12.adb, freeze.adb, tempdir.adb, sem_util.adb, sem_res.adb, s-regexp.adb, a-clrefi.adb: Fix coding style for marking start of processing of subprograms. 2015-10-20 Yannick Moy <moy@adacore.com> * lib-xref-spark_specific.adb (Add_SPARK_File): Start traversal by requesting info from stubs. (Traverse_All_Compilation_Units): Remove unused procedure. (Traverse_Declarations_Or_Statements): Handle protected and task units. * lib-xref.ads (Traverse_All_Compilation_Units): Remove unused procedure. * restrict.adb (Check_Restriction): Do not ignore restrictions in GNATprove_Mode. From-SVN: r229078
-