- 13 Apr, 2017 6 commits
-
-
* reload1.c (eliminate_regs_1): Call gen_rtx_raw_SUBREG for SUBREGs appearing in DEBUG_INSNs. From-SVN: r246904
Jeff Law committed -
2017-04-13 Martin Liska <mliska@suse.cz> PR gcov-profile/80413 * gcov-io.c (gcov_write_string): Copy to buffer just when allocated size is greater than zero. From-SVN: r246903
Martin Liska committed -
2017-04-13 Richard Biener <rguenther@suse.de> PR testsuite/80416 * g++.dg/torture/pr79671.C: Fix asm constraints. From-SVN: r246902
Richard Biener committed -
PR debug/80321 * dwarf2out.c (decls_for_scope): Ignore declarations of current_function_decl in BLOCK_NONLOCALIZED_VARS. * gcc.dg/debug/pr80321.c: New test. 2017-04-13 Eric Botcazou <ebotcazou@adacore.com> * gnat.dg/debug10.adb: New test. * gnat.dg/debug10_pkg.ads: New helper. From-SVN: r246900
Jakub Jelinek committed -
PR lto/69953 * ipa-visibility.c (non_local_p): Fix typos. (localize_node): When localizing symbol in same comdat group, dissolve the group only when we know external symbols are going to be privatized. (function_and_variable_visibility): Do not localize DECL_EXTERNAL. From-SVN: r246899
Jan Hubicka committed -
From-SVN: r246898
GCC Administrator committed
-
- 12 Apr, 2017 13 commits
-
-
PR tree-optimization/79390 * optabs.c (emit_conditional_move): If the preferred op2/op3 operand order does not result in usable sequence, retry with reversed operand order. * gcc.target/i386/pr70465-2.c: Xfail the scan-assembler-not test. From-SVN: r246882
Jakub Jelinek committed -
re PR sanitizer/80403 (UBSAN: compile time crash with "type mismatch in binary expression" message in / and % expr) PR sanitizer/80403 PR sanitizer/80404 PR sanitizer/80405 * fold-const.c (fold_ternary_loc): Use op1 instead of arg1 as argument to fold_build2_loc. Convert TREE_OPERAND (tem, 0) to type. Use op0 instead of fold_convert_loc (loc, type, arg0). * g++.dg/ubsan/pr80403.C: New test. * g++.dg/ubsan/pr80404.C: New test. * g++.dg/ubsan/pr80405.C: New test. From-SVN: r246881
Jakub Jelinek committed -
genattrtab.c (write_eligible_delay): Verify DELAY_INSN still has a delay slot in the generated code. * genattrtab.c (write_eligible_delay): Verify DELAY_INSN still has a delay slot in the generated code. From-SVN: r246879
Jeff Law committed -
* config/cris/cris.md (cris_preferred_reload_class): Return GENNONACR_REGS rather than GENERAL_REGS. From-SVN: r246877
Jeff Law committed -
PR c/80163 * expr.c <CASE_CONVERT>: For EXPAND_INITIALIZER determine SIGN_EXTEND vs. ZERO_EXTEND based on signedness of treeop0's type rather than signedness of the result type. * gcc.dg/torture/pr80163.c: New test. From-SVN: r246876
Jakub Jelinek committed -
2017-04-12 Richard Biener <rguenther@suse.de> Jeff Law <law@redhat.com> PR tree-optimization/80359 * tree-ssa-dse.c (maybe_trim_partially_dead_store): Do not trim stores to TARGET_MEM_REFs. * gcc.dg/torture/pr80359.c: New testcase. Co-Authored-By: Jeff Law <law@redhat.com> From-SVN: r246875
Richard Biener committed -
2017-04-12 Richard Biener <rguenther@suse.de> PR tree-optimization/79390 * gimple-ssa-split-paths.c (is_feasible_trace): Restrict threading case even more. From-SVN: r246869
Richard Biener committed -
Whatever expand expands to should be valid instructions. The defined instructions here have a quad_memory_operand predicate, which boils down to quad_address_p on the address, so let's test for that instead of only disallowing indexed addresses. * config/rs6000/sync.md (atomic_load<mode>, atomic_store<mode): Test for quad_address_p for TImode, instead of just not indexed_address. From-SVN: r246868
Segher Boessenkool committed -
Whatever expand expands to should be valid instructions. The defined instructions here have a quad_memory_operand predicate, which boils down to quad_address_p on the address, so let's test for that instead of only disallowing indexed addresses. * config/rs6000/sync.md (atomic_load<mode>, atomic_store<mode): Test for quad_address_p for TImode, instead of just not indexed_address. From-SVN: r246867
Segher Boessenkool committed -
2017-04-12 Richard Biener <rguenther@suse.de> Bernd Edlinger <bernd.edlinger@hotmail.de> PR middle-end/79671 * alias.c (component_uses_parent_alias_set_from): Handle TYPE_TYPELESS_STORAGE. (get_alias_set): Likewise. * tree-core.h (tree_type_common): Add typeless_storage flag. * tree.h (TYPE_TYPELESS_STORAGE): New macro. * stor-layout.c (place_union_field): Set TYPE_TYPELESS_STORAGE for types containing members with TYPE_TYPELESS_STORAGE. (place_field): Likewise. (layout_type): Likewise for ARRAY_TYPE. * lto-streamer-out.c (hash_tree): Hash TYPE_TYPELESS_STORAGE. * tree-streamer-in.c (unpack_ts_type_common_value_fields): Stream TYPE_TYPELESS_STORAGE. * tree-streamer-out.c (pack_ts_type_common_value_fields): Likewise. lto/ * lto.c (compare_tree_sccs_1): Compare TYPE_TYPELESS_STORAGE. cp/ * tree.c (build_cplus_array_type): Set TYPE_TYPELESS_STORAGE for arrays of character or std::byte type. * g++.dg/torture/pr79671.C: New testcase. * g++.dg/lto/pr79671_0.C: Likewise. * g++.dg/lto/pr79671_1.c: Likewise. Co-Authored-By: Bernd Edlinger <bernd.edlinger@hotmail.de> From-SVN: r246866
Richard Biener committed -
PR sanitizer/80349 * fold-const.c (fold_binary_loc) <case BIT_IOR_EXPR>: Convert arg0's first argument to type. * g++.dg/ubsan/pr80349.C: New test. From-SVN: r246865
Jakub Jelinek committed -
PR go/77857 cmd/go: generate vendor paths for -I arg on compile This change generates the vendor path to be used with -I on a gccgo compile to find imports from the vendor directories. Fixes golang/go#15628 Reviewed-on: https://go-review.googlesource.com/39590 From-SVN: r246864
Ian Lance Taylor committed -
From-SVN: r246863
GCC Administrator committed
-
- 11 Apr, 2017 21 commits
-
-
* doc/xml/faq.xml: Update reference link to C++ ABI for Itanium. * doc/xml/manual/abi.xml. Ditto (thrice). From-SVN: r246860
Gerald Pfeifer committed -
2017-04-11 Bill Schmidt <wschmidt@linux.vnet.ibm.com> PR target/80376 PR target/80315 * config/rs6000/rs6000.c (rs6000_expand_unop_builtin): Return CONST0_RTX (mode) rather than const0_rtx where appropriate. (rs6000_expand_binop_builtin): Likewise. (rs6000_expand_ternop_builtin): Likewise; also add missing vsx_xxpermdi_* variants; also fix typo (arg1 => arg2) for vshasigma built-ins. * doc/extend.texi: Document that vec_xxpermdi's third argument must be a constant. From-SVN: r246859
Bill Schmidt committed -
* constexpr.c (reduced_constant_expression_p): A null constructor element is non-constant. (cxx_eval_indirect_ref): Don't VERIFY_CONSTANT before returning an empty base. From-SVN: r246858
Jason Merrill committed -
re PR c++/80370 (ICE when using structured bindings and nested generic lambdas (tsubst_decomp_names)) PR c++/80370 * decl.c (cp_finish_decomp): If processing_template_decl on non-dependent decl, only set TREE_TYPE on the v[i] decls, but don't change their DECL_VALUE_EXPR nor cp_finish_decl them. Instead make sure DECL_VALUE_EXPR is the canonical NULL type ARRAY_REF for tsubst processing. * pt.c (value_dependent_expression_p) <case VAR_DECL>: For variables with DECL_VALUE_EXPR, return true if DECL_VALUE_EXPR is type dependent. * g++.dg/cpp1z/decomp28.C: New test. From-SVN: r246857
Jakub Jelinek committed -
i386.c (dimode_scalar_chain::compute_convert_gain): Use shift_const cost parameter when calculating gain of STV shifts. * config/i386/i386.c (dimode_scalar_chain::compute_convert_gain): Use shift_const cost parameter when calculating gain of STV shifts. From-SVN: r246856
Uros Bizjak committed -
2017-04-11 Vladimir Makarov <vmakarov@redhat.com> PR rtl-optimization/70478 * lra-constraints.c (process_alt_operands): Check memory for disfavoring memory insn operand. From-SVN: r246854
Vladimir Makarov committed -
PR middle-end/80100 * simplify-rtx.c (simplify_binary_operation_1) <case IOR>: Perform left shift in unsigned HOST_WIDE_INT type. * gcc.dg/pr80100.c: New test. From-SVN: r246851
Jakub Jelinek committed -
PR rtl-optimization/80385 * simplify-rtx.c (simplify_unary_operation_1): Don't transform (not (neg X)) into (plus X -1) for complex or non-integral modes. * g++.dg/opt/pr80385.C: New test. From-SVN: r246850
Jakub Jelinek committed -
PR libgomp/80394 * omp-low.c (scan_omp_task): Don't optimize away empty tasks if they have any depend clauses. * testsuite/libgomp.c/pr80394.c: New test. From-SVN: r246849
Jakub Jelinek committed -
2017-04-11 Martin Liska <mliska@suse.cz> PR ipa/80212 * cgraph.c (cgraph_node::dump): Dump calls_comdat_local. * ipa-split.c (split_function): Create a local comdat symbol if caller is in a comdat group. 2017-04-11 Martin Liska <mliska@suse.cz> PR ipa/80212 * g++.dg/ipa/pr80212.C: New test. From-SVN: r246848
Martin Liska committed -
2017-04-11 Martin Liska <mliska@suse.cz> PR ipa/80212 * ipa-cp.c (determine_versionability): Handle calls_comdat_local flags. From-SVN: r246847
Martin Liska committed -
gcc/ChangeLog: PR middle-end/80364 * gimple-ssa-sprintf.c (get_int_range): Remove second argument and always use the int type. Use INTEGRAL_TYPE_P() rather than testing for INTEGER_TYPE. (directive::set_width, directive::set_precision, format_character): Adjust. (parse_directive): Use INTEGRAL_TYPE_P() rather than testing for INTEGER_TYPE. gcc/testsuite/ChangeLog: PR middle-end/80364 * gcc.dg/tree-ssa/builtin-sprintf-warn-16.c: New test. From-SVN: r246846
Martin Sebor committed -
2017-04-11 Damian Rouson <damian@sourceryinstitute.org> * download_prerequisites (md5_check): New function emulates Linux 'md5 --check' on macOS. Modified script for macOS compatibility. From-SVN: r246845
Damian Rouson committed -
In this PR we incorrectly print the architecture name in a .cpu directive in the assembly file when the -mcpu and -march options conflict (don't target the same base architecture). In this case the .arch overrides the .cpu directive and we should emit a .arch option. PR target/80389 * config/arm/arm.c (arm_configure_build_target): When -mcpu and -arch conflict, set target->arch_name instead of target->cpu_name. From-SVN: r246843
Richard Earnshaw committed -
2017-04-11 Jerry DeLisle <jvdelisle@gcc.gnu.org> * close.c: Fix white space in pointer declarations and comment formats where applicable. * fbuf.c: Likewise. * fbuf.h: Likewise. * format.c: Likewise. * inquire.c: Likewise. * intrinsics.c: Likewise. * list_read.c: Likewise. * lock.c: Likewise. * open.c: Likewise. * read.c: Likewise. * transfer.c: Likewise. * unit.c: Likewise. * unix.c: Likewise. * unix.h: Likewise. * write.c: Likewise. From-SVN: r246842
Jerry DeLisle committed -
2017-04-11 Richard Biener <rguenther@suse.de> PR tree-optimization/80374 * tree-ssa-dom.c (derive_equivalences_from_bit_ior): Use build_zero_cst, remove fold_convertible_p check again. From-SVN: r246840
Richard Biener committed -
2017-04-11 Martin Liska <mliska@suse.cz> PR sanitizer/70878 * ubsan.c (instrument_object_size): Do not instrument register variables. 2017-04-11 Martin Liska <mliska@suse.cz> PR sanitizer/70878 * gcc.dg/ubsan/pr70878.c: New test. From-SVN: r246837
Martin Liska committed -
PR target/80381 * config/i386/i386-builtin-types.def (V16HI_FTYPE_V16HI_INT_V16HI_UHI_COUNT, V16HI_FTYPE_V16HI_V8HI_V16HI_UHI_COUNT, V16SI_FTYPE_V16SI_INT_V16SI_UHI_COUNT, V16SI_FTYPE_V16SI_V4SI_V16SI_UHI_COUNT, V2DI_FTYPE_V2DI_INT_V2DI_UQI_COUNT, V2DI_FTYPE_V2DI_V2DI_V2DI_UQI_COUNT, V32HI_FTYPE_V32HI_INT_V32HI_USI_COUNT, V32HI_FTYPE_V32HI_V8HI_V32HI_USI_COUNT, V4DI_FTYPE_V4DI_INT_V4DI_UQI_COUNT, V4DI_FTYPE_V4DI_V2DI_V4DI_UQI_COUNT, V4SI_FTYPE_V4SI_INT_V4SI_UQI_COUNT, V4SI_FTYPE_V4SI_V4SI_V4SI_UQI_COUNT, V8DI_FTYPE_V8DI_INT_V8DI_UQI_COUNT, V8DI_FTYPE_V8DI_V2DI_V8DI_UQI_COUNT, V8HI_FTYPE_V8HI_INT_V8HI_UQI_COUNT, V8HI_FTYPE_V8HI_V8HI_V8HI_UQI_COUNT, V8SI_FTYPE_V8SI_INT_V8SI_UQI_COUNT, V8SI_FTYPE_V8SI_V4SI_V8SI_UQI_COUNT): New function type aliases. * config/i386/i386-builtin.def (__builtin_ia32_pslld512_mask, __builtin_ia32_pslldi512_mask, __builtin_ia32_psllq512_mask, __builtin_ia32_psllqi512_mask, __builtin_ia32_psrad512_mask, __builtin_ia32_psradi512_mask, __builtin_ia32_psraq512_mask, __builtin_ia32_psraqi512_mask, __builtin_ia32_psrld512_mask, __builtin_ia32_psrldi512_mask, __builtin_ia32_psrlq512_mask, __builtin_ia32_psrlqi512_mask, __builtin_ia32_psllwi128_mask, __builtin_ia32_pslldi128_mask, __builtin_ia32_psllqi128_mask, __builtin_ia32_psllw128_mask, __builtin_ia32_pslld128_mask, __builtin_ia32_psllq128_mask, __builtin_ia32_psllwi256_mask, __builtin_ia32_psllw256_mask, __builtin_ia32_pslldi256_mask, __builtin_ia32_pslld256_mask, __builtin_ia32_psllqi256_mask, __builtin_ia32_psllq256_mask, __builtin_ia32_psradi128_mask, __builtin_ia32_psrad128_mask, __builtin_ia32_psradi256_mask, __builtin_ia32_psrad256_mask, __builtin_ia32_psraqi128_mask, __builtin_ia32_psraq128_mask, __builtin_ia32_psraqi256_mask, __builtin_ia32_psraq256_mask, __builtin_ia32_psrldi128_mask, __builtin_ia32_psrld128_mask, __builtin_ia32_psrldi256_mask, __builtin_ia32_psrld256_mask, __builtin_ia32_psrlqi128_mask, __builtin_ia32_psrlq128_mask, __builtin_ia32_psrlqi256_mask, __builtin_ia32_psrlq256_mask, __builtin_ia32_psrawi256_mask, __builtin_ia32_psraw256_mask, __builtin_ia32_psrawi128_mask, __builtin_ia32_psraw128_mask, __builtin_ia32_psrlwi256_mask, __builtin_ia32_psrlw256_mask, __builtin_ia32_psrlwi128_mask, __builtin_ia32_psrlw128_mask, __builtin_ia32_psllwi512_mask, __builtin_ia32_psllw512_mask, __builtin_ia32_psrawi512_mask, __builtin_ia32_psraw512_mask, __builtin_ia32_psrlwi512_mask, __builtin_ia32_psrlw512_mask): Use _COUNT suffixed function type aliases. * config/i386/i386.c (ix86_expand_args_builtin): Rename last_arg_count flag to second_arg_count, handle 4 argument function type _COUNT aliases, handle second_arg_count on second argument rather than last. * gcc.target/i386/pr80381.c: New test. From-SVN: r246835
Jakub Jelinek committed -
PR c++/80363 * error.c (dump_expr): Handle VEC_COND_EXPR like COND_EXPR. * g++.dg/ext/pr80363.C: New test. From-SVN: r246834
Jakub Jelinek committed -
From-SVN: r246832
Markus Trippelsdorf committed -
This patch fixes a whole bunch of failures reported for gcc.dg/tree-ssa/builtin-sprintf-warn-{3,10}.c for the avr target. builtin-sprintf-warn-10.c fails because the bounds in the warning messages expect 4 digit wide exponents i.e. __DBL_MAX_EXP__ > 999. For the avr, floats and doubles are both 32 bits wide, __DBL_MAX_EXP__ == 128, and the max number of exponent digits can only be 3 . The computed size thus ends up one short of the value the test expects. The patch makes the test run only for targets with double64plus. builtin-sprintf-warn-3.c fails because the test appears to assume all non lp64 targets to be ilp32. For the avr, pointer size and int size are equal, but both are 16 bits, not 32. The patch fixes this by explicitly adding avr to the dejagnu selector. gcc/testsuite 2017-04-06 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com> * gcc.dg/tree-ssa/builtin-sprintf-warn-10.c: Require double64plus. * gcc.dg/tree-ssa/builtin-sprintf-warn-3.c (void test_too_large): Add avr-*-* to non-lp64 selector. From-SVN: r246831
Senthil Kumar Selvaraj committed
-