1. 12 Apr, 2017 1 commit
  2. 11 Apr, 2017 22 commits
    • faq.xml: Update reference link to C++ ABI for Itanium. · 5ee26fce
      	* 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
    • re PR target/80376 (Some vec_xxpermdi usage lead to ICE) · 6f780390
      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
    • PR c++/80294 - ICE with constexpr and inheritance. · 125db6a1
      	* 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… · 347e1f77
      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… · 98b5e81a
      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
    • re PR rtl-optimization/70478 ([LRA] S/390: Performance regression - superfluous stack frame) · 4796d8f6
      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
    • re PR middle-end/80100 (simplify-rtx.c sanitizer detects undefined behaviour with optimization) · df1c878e
      	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
    • re PR rtl-optimization/80385 (Segfault in commutative_operand_precedence() rtlanal.c:3373) · 8585103f
      	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
    • re PR libgomp/80394 (Empty OpenMP task is wrongly removed when optimizing) · fbc698e0
      	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
    • Add function part to a same comdat group (PR ipa/80212). · c6cf6ef7
      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
    • Do not create a constprop clone for calls_comdat_local nodes (PR ipa/80212). · 58928b35
      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
    • PR middle-end/80364 - sanitizer detects signed integer overflow in gimple-ssa-sprintf.c · 3812f460
      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
    • download_prerequisites (md5_check): New function emulates Linux 'md5 --check' on macOS. · b1c0468f
      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
    • [arm] PR 80389 - if architecture and cpu mismatch, don't print an architecture name as a CPU name · 9b523c93
      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
    • close.c: Fix white space in pointer declarations and comment formats where applicable. · f29876bb
      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
    • re PR tree-optimization/80374 (ICE in fold_convert_loc, at fold-const.c:2384) · 276ebde7
      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
    • Do not instrument register variables in object-size sanitizer (PR sanitizer/70878). · 9f679370
      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
    • re PR target/80381 (AVX512: -O3, _mm512_srai_epi32, the last argument must be an 8-bit immediate) · cb278caa
      	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
    • re PR c++/80363 (#'vec_cond_expr' not supported by dump_expr#<expression error>) · 82665822
      	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
    • Fix pr80374 testcase · fc647d44
      From-SVN: r246832
      Markus Trippelsdorf committed
    • Fix bogus builtin-sprintf-warn-{3,10}.c failures for avr. · abde687a
      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
    • Daily bump. · b75179f3
      From-SVN: r246830
      GCC Administrator committed
  3. 10 Apr, 2017 17 commits