1. 12 Apr, 2018 8 commits
    • re PR middle-end/84955 (Incorrect OpenACC tile expansion) · 2e5efa67
      PR middle-end/84955
      
      	gcc/
      	* lto-streamer-out.c (output_function): Fix CFG loop state before
      	streaming out.
      	* omp-expand.c (expand_oacc_for): Handle calls to internal
      	functions like regular functions.
      
      	libgomp/
      	* testsuite/libgomp.oacc-c-c++-common/pr84955.c: New test.
      	* testsuite/libgomp.oacc-fortran/pr84955.f90: New test.
      
      Co-Authored-By: Richard Biener <rguenther@suse.de>
      
      From-SVN: r259346
      Cesar Philippidis committed
    • re PR lto/85371 (Compiling code with -g -flto gives an ICE on darwin after revision r259317) · c1566f89
      2018-04-12  Richard Biener  <rguenther@suse.de>
      
      	PR lto/85371
      	* dwarf2out.c (init_sections_and_labels): Use debug_line_section[_label]
      	for the early LTO debug to properly generate references to it
      	during DIE emission.  Do not re-use that for the skeleton for
      	split-dwarf.
      	(dwarf2out_early_finish): Likewise.
      
      From-SVN: r259345
      Richard Biener committed
    • re PR target/85328 (accessing ymm16 with non-avx512 instruction form) · dcd88195
      	PR target/85328
      	* config/i386/sse.md
      	(<mask_codefor>avx512dq_vextract<shuffletype>64x2_1<mask_name> split,
      	<mask_codefor>avx512f_vextract<shuffletype>32x4_1<mask_name> split,
      	vec_extract_lo_<mode><mask_name> split, vec_extract_lo_v32hi,
      	vec_extract_lo_v64qi): For non-AVX512VL if input is xmm16+ reg
      	and output is a reg, avoid creating invalid lowpart subreg, but
      	instead split into a 512-bit move.  Don't split if not AVX512VL,
      	input is xmm16+ reg and output is a mem.
      	(vec_extract_lo_<mode><mask_name>, vec_extract_lo_v32hi,
      	vec_extract_lo_v64qi): Don't require split if not AVX512VL, input is
      	xmm16+ reg and output is a mem.
      
      	* gcc.target/i386/pr85328.c: New test.
      
      From-SVN: r259344
      Jakub Jelinek committed
    • IBM Z: Spectre: Prevent thunk cfi to be emitted with -fno-dwarf2-cfi-asm · b9dd1a79
      The CFI magic we emit as part of the indirect branch thunks in order to
      have somewhat sane unwind information must not be emitted with
      -fno-dwarf2-cfi-asm.
      
      gcc/ChangeLog:
      
      2018-04-12  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
      
      	* config/s390/s390.c (s390_output_indirect_thunk_function): Check
      	also for flag_dwarf2_cfi_asm.
      
      gcc/testsuite/ChangeLog:
      
      2018-04-12  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
      
      	* gcc.target/s390/nobp-no-dwarf2-cfi.c: New test.
      
      From-SVN: r259340
      Andreas Krebbel committed
    • Wzero-as-null-pointer-constant-7.C: Move... · c72a0e67
      2018-04-11  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	* g++.dg/warn/Wzero-as-null-pointer-constant-7.C: Move...
      	* g++.dg/cpp0x/Wzero-as-null-pointer-constant-3.C: ... here.
      
      From-SVN: r259339
      Paolo Carlini committed
    • re PR rtl-optimization/85342 (ICE: SIGSEGV in copyprop_hardreg_forward_1… · 868865f4
      re PR rtl-optimization/85342 (ICE: SIGSEGV in copyprop_hardreg_forward_1 (regcprop.c:995) with -O2 -mavx512vl)
      
      	PR rtl-optimization/85342
      	* regcprop.c (copyprop_hardreg_forward_1): Remove replaced array, use
      	a bool scalar var inside of the loop instead.  Don't try to update
      	recog_data.operand after failed apply_change_group.
      
      	* gcc.target/i386/pr85342.c: New test.
      
      From-SVN: r259338
      Jakub Jelinek committed
    • [nvptx] Fix handling of extern var with flexible array member · bf398920
      2018-04-12  Tom de Vries  <tom@codesourcery.com>
      
      	PR target/85296
      	* config/nvptx/nvptx.c (flexible_array_member_type_p): New function.
      	(nvptx_assemble_decl_begin): Add undefined param.  Declare undefined
      	array with flexible array member as array without given dimension.
      	(nvptx_assemble_undefined_decl): Set nvptx_assemble_decl_begin call
      	argument for undefined param to true.
      
      From-SVN: r259337
      Tom de Vries committed
    • Daily bump. · 39c168bf
      From-SVN: r259336
      GCC Administrator committed
  2. 11 Apr, 2018 20 commits
  3. 10 Apr, 2018 12 commits
    • re PR c++/70808 (Spurious -Wzero-as-null-pointer-constant for nullptr_t) · 310e77fe
      /cp
      2018-04-10  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	PR c++/70808
      	* init.c (build_zero_init_1): Handle NULLPTR_TYPE_P being true of
      	the type like TYPE_PTR_OR_PTRMEM_P.
      
      /testsuite
      2018-04-10  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	PR c++/70808
      	* g++.dg/warn/Wzero-as-null-pointer-constant-7.C: New.
      
      From-SVN: r259303
      Paolo Carlini committed
    • re PR target/85321 (Missing documentation and option misc for ppc64le) · 6f47ccff
      2018-04-10  Aaron Sawdey  <acsawdey@linux.ibm.com>
      
      	PR target/85321
      	* doc/invoke.texi (RS/6000 and PowerPC Options): Document options
      	-mblock-compare-inline-limit, -mblock-compare-inline-loop-limit,
      	and -mstring-compare-inline-limit.
      
      From-SVN: r259302
      Aaron Sawdey committed
    • MAINTAINERS: Update my email address. · a2919888
      2018-04-10  Aaron Sawdey  <acsawdey@linux.ibm.com>
      
      	* MAINTAINERS: Update my email address.
      
      From-SVN: r259301
      Aaron Sawdey committed
    • forgot the PR marker in the changelog · bbb4c5e1
      From-SVN: r259300
      Segher Boessenkool committed
    • rs6000: Fix stack clash for big residuals (PR85287) · 7321063d
      The stack clash protection code had a logic error in how it decided
      whether to put the final update size in a register, or to emit it
      directly in an insn.  This fixes it.  It also tidies some surrounding
      code.
      
      
      	PR target/85287
      	* gcc/config/rs6000/rs6000.md (allocate_stack): Put the residual size
      	for stack clash protection in a register whenever we need it to be in
      	a register.
      
      From-SVN: r259299
      Segher Boessenkool committed
    • rs6000: Enable -fasynchronous-unwind-tables by default · 0359465c
      To find out where on-entry register values live at any point in a
      program, GDB currently tries to parse to parse the executable code.
      This does not work very well, for example it gets confused if some
      accesses to the stack use the frame pointer (r31) and some use the
      stack pointer (r1).  A symptom is that backtraces can be cut short.
      
      This patch enables -fasynchronous-unwind-tables by default for rs6000,
      which causes us to emit DWARF unwind tables for all functions, solving
      these problems.
      
      This not do anything for sub-targets without DWARF, and only for ELF
      sub-targets for now.
      
      It increases executable size, but only modestly, and does not change
      memory use, only the disk image.
      
      
      	* common/config/rs6000/rs6000-common.c (rs6000_option_init_struct):
      	Enable -fasynchronous-unwind-tables by default if OBJECT_FORMAT_ELF.
      
      gcc/testsuite/
      	* gcc.target/powerpc/dfmode_off.c: Add -fno-asynchronous-unwind-tables.
      	* gcc.target/powerpc/dimode_off.c: Ditto.
      	* gcc.target/powerpc/tfmode_off.c: Ditto.
      	* gcc.target/powerpc/timode_off.c: Ditto.
      
      From-SVN: r259298
      Segher Boessenkool committed
    • rs6000: Improve --help=target (PR85321) · ccdfb975
      This updates the help text for some options to mention the allowed
      values for -mXX=XX.
      
      
      	PR target/85321
      	* config/rs6000/rs6000.opt (mtraceback=): Show the allowed values in
      	the help text.
      	(mlong-double-): Ditto.
      	* config/rs6000/sysv4.opt (msdata=): Ditto.
      	(mtls-size=): Ditto.
      
      From-SVN: r259296
      Segher Boessenkool committed
    • rs6000-c.c (altivec_overloaded_builtins): Remove erroneous entries for "vector int vec_ldl (int... · d4f18ec6
      gcc/ChangeLog:
      
      2018-04-10  Kelvin Nilsen  <kelvin@gcc.gnu.org>
      
      	* config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Remove
      	erroneous entries for
      	"vector int vec_ldl (int, long int *)", and
      	"vector unsigned int vec_ldl (int, unsigned long int *)".
      	Add comments and entries for
      	"vector bool char vec_ldl (int, bool char *)",
      	"vector bool short vec_ldl (int, bool short *)",
      	"vector bool int vec_ldl (int, bool int *)",
      	"vector bool long long vec_ldl (int, bool long long *)",
      	"vector pixel vec_ldl (int, pixel *)",
      	"vector long long vec_ldl (int, long long *)",
      	"vector unsigned long long vec_ldl (int, unsigned long long *)".
      	* config/rs6000/rs6000.c (rs6000_init_builtins): Initialize new
      	type tree bool_long_long_type_node and correct definition of
      	bool_V2DI_type_node to make reference to this new type tree.
      	(rs6000_mangle_type): Replace erroneous reference to
      	bool_long_type_node with bool_long_long_type_node.
      	* config/rs6000/rs6000.h (enum rs6000_builtin_type_index): Add
      	comments to emphasize sign distinctions for char and int types and
      	replace RS6000_BTI_bool_long constant with
      	RS6000_BTI_bool_long_long constant.  Also add comment to restrict
      	use of RS6000_BTI_pixel.
      	(bool_long_type_node): Remove this macro definition.
      	(bool_long_long_type_node): New macro definition
      
      gcc/testsuite/ChangeLog:
      
      2018-04-10  Kelvin Nilsen  <kelvin@gcc.gnu.org>
      
      	* gcc.target/powerpc/vec-ldl-1.c: New test.
      	* gcc.dg/vmx/ops-long-1.c: Correct test programs to reflect
      	corrections to ABI implementation.
      
      From-SVN: r259294
      Kelvin Nilsen committed
    • PR debug/65821 - wrong location for main(). · 45d14461
      	* call.c (clear_location_r, convert_default_arg): Revert.
      	* tree.c (break_out_target_exprs): Add clear_location parm.
      	(struct bot_data): New.
      	(bot_manip): Clear location if requested.
      	* init.c (get_nsdmi): Pass clear_location.
      
      From-SVN: r259291
      Jason Merrill committed
    • [PR target/85056] Address -Wmaybe-uninitialized diagnostic · f6d17c4d
      	gcc/testsuite/
      	* gcc.target/nvptx/pr85056.c (main): Initialize "sum".
      
      From-SVN: r259288
      Thomas Schwinge committed
    • cppopts.texi: Use "side effect" instead of side-effect. · df18c24a
      gcc/ChangeLog:
      
      	* doc/cppopts.texi: Use "side effect" instead of side-effect.
      	* doc/extend.texi: Same.
      	* doc/generic.texi: Same.
      	* doc/implement-c.texi: Same.
      	* doc/invoke.texi: Same.
      	* doc/md.texi: Same.
      	* doc/rtl.texi: Same.
      	* doc/tree-ssa.texi: Same.
      
      From-SVN: r259287
      Martin Sebor committed
    • Update links to archived copy of SGI STL docs · 25949ee3
      	* doc/xml/faq.xml: Update links to archived copy of SGI STL docs.
      	* doc/xml/manual/backwards_compatibility.xml: Likewise.
      	* doc/xml/manual/containers.xml: Likewise.
      	* doc/xml/manual/debug_mode.xml: Likewise.
      	* doc/xml/manual/extensions.xml: Likewise.
      	* doc/xml/manual/policy_data_structures_biblio.xml: Likewise.
      	* doc/xml/manual/using.xml: Likewise.
      	* doc/xml/manual/utilities.xml: Likewise.
      
      From-SVN: r259286
      Jonathan Wakely committed