1. 17 Apr, 2018 17 commits
    • Update gcc .po files. · 1a013c94
      	* be.po, da.po, de.po, el.po, es.po, fi.po, fr.po, hr.po, id.po,
      	ja.po, nl.po, ru.po, sr.po, sv.po, tr.po, uk.po, vi.po, zh_CN.po,
      	zh_TW.po: Update.
      
      From-SVN: r259443
      Joseph Myers committed
    • rs6000-protos.h (rs6000_builtin_is_supported_p): New prototype. · 48784b00
      gcc/ChangeLog:
      
      2018-04-13  Kelvin Nilsen  <kelvin@gcc.gnu.org>
      
      	* config/rs6000/rs6000-protos.h (rs6000_builtin_is_supported_p):
      	New prototype.
      	* config/rs6000/rs6000-c.c (altivec_resolve_overloaded_builtin):
      	Add note to error message to explain internal mapping of overloaded
      	built-in function name to non-overloaded built-in function name.
      	* config/rs6000/rs6000.c (rs6000_builtin_is_supported_p): New
      	function.
      
      gcc/testsuite/ChangeLog:
      
      2018-04-13  Kelvin Nilsen  <kelvin@gcc.gnu.org>
      
      	* gcc.target/powerpc/bfp/scalar-extract-sig-5.c: Simplify to
      	prevent cascading of errors and change expected error message.
      	* gcc.target/powerpc/bfp/scalar-test-neg-4.c: Restrict this test
      	to 64-bit targets.
      	* gcc.target/powerpc/bfp/scalar-test-data-class-8.c: Likewise.
      	* gcc.target/powerpc/bfp/scalar-test-data-class-9.c: Likewise.
      	* gcc.target/powerpc/bfp/scalar-test-data-class-10.c: Likewise.
      	* gcc.target/powerpc/bfp/scalar-insert-exp-11.c: Change expected
      	error message.
      	* gcc.target/powerpc/bfp/scalar-extract-exp-5.c: Likewise.
      
      From-SVN: r259442
      Kelvin Nilsen committed
    • re PR target/85424 (The __builtin_packlongdouble function might have issues with… · 63d6cbd1
      re PR target/85424 (The __builtin_packlongdouble function might have issues with the output overlapping the inputs)
      
      2018-04-17  Michael Meissner  <meissner@linux.vnet.ibm.com>
      
      	PR target/85424
      	* config/rs6000/rs6000.md (pack<mode>): Do not try handle a pack
      	where the inputs overlap with the output.
      
      From-SVN: r259441
      Michael Meissner committed
    • backtrace.c: Revert last two changes. · 21070494
      	* backtrace.c: Revert last two changes.  Don't call mmap
      	directly.
      
      From-SVN: r259440
      Ian Lance Taylor committed
    • backtrace.c: Include backtrace-supported.h before checking BACKTRACE_USES_MALLOC. · c36af1b4
      	* backtrace.c: Include backtrace-supported.h before checking
      	BACKTRACE_USES_MALLOC.
      
      From-SVN: r259439
      Ian Lance Taylor committed
    • sse.md (vec_extract_lo_<mode><mask_name>): Add (=v, v) alternative and explicit "memory" attribute. · db051c24
      	* config/i386/sse.md (vec_extract_lo_<mode><mask_name>): Add
      	(=v, v) alternative and explicit "memory" attribute.
      	(vec_extract_lo_<mode><mask_name>): Likewise.  Also add
      	"type", "prefix", "prefix_extra", "length_immediate" and "mode"
      	attributes.
      	(vec_extract_lo_<mode><mask_name>): Add (=v, v) alternative and use
      	"sselog1" type instead of "sselog".
      	(vec_extract_hi_<mode><mask_name>): Use "sselog1" type instead of
      	"sselog".  Remove explicit "memory" attribute.
      	(vec_extract_lo_v32hi): Add (=v, v) alternative and explicit "memory",
      	"type", "prefix", "prefix_extra", "length_immediate" and "mode"
      	attributes.
      	(vec_extract_hi_v32hi): Merge all alternatives into one, use
      	"sselog1" type instead of "sselog".  Remove explicit "memory"
      	attribute.
      	(vec_extract_hi_v16hi): Merge each pair of alternatives into one,
      	use "sselog1" type instead of "sselog".  Remove explicit "memory"
      	attribute.
      	(vec_extract_lo_v64qi): Add (=v, v) alternative and explicit "memory",
      	"type", "prefix", "prefix_extra", "length_immediate" and "mode"
      	attributes.
      	(vec_extract_hi_v64qi): Merge all alternatives into one, use
      	"sselog1" type instead of "sselog".  Remove explicit "memory"
      	attribute.
      	(vec_extract_hi_v32qi): Merge each pair of alternatives into one,
      	use "sselog1" type instead of "sselog".  Remove explicit "memory"
      	attribute.
      
      From-SVN: r259438
      Jakub Jelinek committed
    • re PR testsuite/85326 (`make check` fails with `--disable-bootstrap` and `--enable-languages=c`) · fcab9fce
      PR testsuite/85326
      
      Commit missing hunk from r259435.
      
      From-SVN: r259437
      Kyrylo Tkachov committed
    • re PR target/85430 (ICE: SIGSEGV in memory_operand at recog.c:1358/9 with -O2… · 2f00fe6d
      re PR target/85430 (ICE: SIGSEGV in memory_operand at recog.c:1358/9 with -O2 -fno-tree-ccp -fno-tree-fre)
      
      	PR target/85430
      	* config/i386/i386.md (*ashlqi3_1_slp): Use alu1 type instead of alu.
      
      	* gcc.dg/pr85430.c: New test.
      
      From-SVN: r259436
      Jakub Jelinek committed
    • [AArch64/arm] PR testsuite/85326 Avoid C++ tests when C++ compiler not present · a422e1ca
      	PR testsuite/85326
      	* gcc.target/arm/pr54300.C: Move to...
      	* g++.dg/other/pr54300.C: ... Here.  Add target directives.
      	* gcc.target/arm/pr55073.C: Move to...
      	* g++.dg/other/pr55073.C: ... Here.  Add target directives.
      	* gcc.target/arm/pr56184.C: Move to...
      	* g++.dg/other/pr56184.C: ... Here.  Add target directives.
      	* gcc.target/arm/pr59985.C: Move to...
      	* g++.dg/other/pr59985.C: ... Here.  Add target directives.
      	* gcc.target/aarch64/pr60675.C: Move to...
      	* g++.dg/other/pr60675.C: ... Here.  Add target directives.
      	* gcc.target/aarch64/pr81422.C: Move to...
      	* g++.dg/other/pr81422.C: ... Here.  Add target directives.
      	* gcc.target/aarch64/sve/const_pred_1.C: Move to...
      	* g++.dg/other/sve_const_pred_1.C: ... Here.  Add target directives.
      	* gcc.target/aarch64/sve/const_pred_2.C: Move to...
      	* g++.dg/other/sve_const_pred_2.C: ... Here.  Add target directives.
      	* gcc.target/aarch64/sve/const_pred_3.C: Move to...
      	* g++.dg/other/sve_const_pred_3.C: ... Here.  Add target directives.
      	* gcc.target/aarch64/sve/const_pred_4.C: Move to...
      	* g++.dg/other/sve_const_pred_4.C: ... Here.  Add target directives.
      	* gcc.target/aarch64/sve/tls_2.C: Move to...
      	* g++.dg/other/sve_tls_2.C: ... Here.  Add target directives.
      	* gcc.target/aarch64/pr81414.C: Rename to...
      	* gcc.target/aarch64/pr81414.c: ... This.
      	* gcc.target/aarch64/simd/pr67896.C: Rename to...
      	* gcc.target/aarch64/simd/pr67896.c: ... This.  Update error expected
      	messages.
      	* gcc.target/aarch64/sve/vcond_1.C: Rename to...
      	* gcc.target/aarch64/sve/vcond_1.c: ... This.  Avoid use of stdint.h.
      	* gcc.target/aarch64/sve/vcond_1_run.C: Rename to...
      	* gcc.target/aarch64/sve/vcond_1_run.c: ... This.  Update include
      	file name.
      
      From-SVN: r259435
      Kyrylo Tkachov committed
    • backtrace.c (backtrace_full): When testing whether we can allocate memory... · 83a658ca
      	* backtrace.c (backtrace_full): When testing whether we can
      	allocate memory, call mmap directly, and munmap the memory.
      
      Fixes https://github.com/ianlancetaylor/libbacktrace/issues/13 .
      
      From-SVN: r259434
      Ian Lance Taylor committed
    • re PR middle-end/85414 (ICE: in ix86_expand_prologue, at config/i386/i386.c:13810 with -Og -fgcse) · 50ffe7ad
      	PR middle-end/85414
      	* rtlhooks.c (gen_lowpart_if_possible): Don't call gen_lowpart_SUBREG
      	on a SUBREG.
      
      	* gcc.dg/pr85414.c: New test.
      
      From-SVN: r259433
      Jakub Jelinek committed
    • Call expand_all_artificial_thunks in ipa-cp if necessary · 5bf31c64
      2018-04-17  Martin Jambor  <mjambor@suse.cz>
      
      	PR ipa/85421
      	* ipa-cp.c (create_specialized_node): Call
      	expand_all_artificial_thunks if necessary.
      
      	testsuite/
      	* g++.dg/ipa/pr85421.C: New test.
      
      From-SVN: r259432
      Martin Jambor committed
    • Fix coding style and add a new test-case (PR lto/85405). · 1236cd66
      2018-04-17  Martin Liska  <mliska@suse.cz>
      
      	PR lto/85405
      	* ipa-devirt.c (odr_types_equivalent_p): Remove trailing
      	in message, remote space in between '_G' and '('.
      2018-04-17  Martin Liska  <mliska@suse.cz>
      
      	PR lto/85405
      	* g++.dg/lto/pr85405b_0.C: New test.
      	* g++.dg/lto/pr85405b_1.C: New test.
      
      From-SVN: r259431
      Martin Liska committed
    • re PR target/85281 (Assembler messages: Error: operand size mismatch for… · 7044c89c
      re PR target/85281 (Assembler messages: Error: operand size mismatch for `vpbroadcastb' with -mavx512bw -masm=intel)
      
      	PR target/85281
      	* config/i386/sse.md (reduces<mode><mask_scalar_name>,
      	avx512f_vmcmp<mode>3<round_saeonly_name>,
      	avx512f_vmcmp<mode>3_mask<round_saeonly_name>,
      	avx512f_sgetexp<mode><mask_scalar_name><round_saeonly_scalar_name>,
      	avx512f_rndscale<mode><round_saeonly_name>,
      	avx512dq_ranges<mode><mask_scalar_name><round_saeonly_scalar_name>,
      	avx512f_vgetmant<mode><mask_scalar_name><round_saeonly_scalar_name>):
      	Use %<iptr>2 instead of %2 for -masm=intel.
      	(avx512f_vcvtss2usi<round_name>, avx512f_vcvtss2usiq<round_name>,
      	avx512f_vcvttss2usi<round_saeonly_name>,
      	avx512f_vcvttss2usiq<round_saeonly_name>): Use %k1 instead of %1 for
      	-masm=intel.
      	(avx512f_vcvtsd2usi<round_name>, avx512f_vcvtsd2usiq<round_name>,
      	avx512f_vcvttsd2usi<round_saeonly_name>,
      	avx512f_vcvttsd2usiq<round_saeonly_name>, ufloatv2siv2df2<mask_name>):
      	Use %q1 instead of %1 for -masm=intel.
      	(avx512f_sfixupimm<mode><sd_maskz_name><round_saeonly_name>,
      	avx512f_sfixupimm<mode>_mask<round_saeonly_name>): Use %<iptr>3 instead
      	of %3 for -masm=intel.
      	(sse2_shufpd_v2df_mask): Fix a typo, change %{6%} to %{%6%} for
      	-masm=intel.
      	(*avx512vl_<code>v2div2qi2_store): Use %w0 instead of %0 for
      	-masm=intel.
      	(*avx512vl_<code><mode>v4qi2_store): Use %k0 instead of %0 for
      	-masm=intel.
      	(avx512vl_<code><mode>v4qi2_mask_store): Use a single pattern with
      	%k0 and %1 for -masm=intel rather than two patterns, one with %0 and
      	%g1.
      	(*avx512vl_<code><mode>v8qi2_store): Use %q0 instead of %0 for
      	-masm=intel.
      	(avx512vl_<code><mode>v8qi2_mask_store): Use a single pattern with
      	%q0 and %1 for -masm=intel rather than two patterns, one with %0 and
      	%g1 and one with %0 and %1.
      	(avx512er_vmrcp28<mode><round_saeonly_name>,
      	avx512er_vmrsqrt28<mode><round_saeonly_name>): Use %<iptr>1 instead of
      	%1 for -masm=intel.
      	(avx5124fmaddps_4fmaddps_mask, avx5124fmaddps_4fmaddss_mask,
      	avx5124fmaddps_4fnmaddps_mask, avx5124fmaddps_4fnmaddss_mask,
      	avx5124vnniw_vp4dpwssd_mask, avx5124vnniw_vp4dpwssds_mask): Swap order
      	of %0 and %{%4%} for -masm=intel.
      	(avx5124fmaddps_4fmaddps_maskz, avx5124fmaddps_4fmaddss_maskz,
      	avx5124fmaddps_4fnmaddps_maskz, avx5124fmaddps_4fnmaddss_maskz,
      	avx5124vnniw_vp4dpwssd_maskz, avx5124vnniw_vp4dpwssds_maskz): Swap
      	order of %0 and %{%5%}%{z%} for -masm=intel.
      
      From-SVN: r259430
      Jakub Jelinek committed
    • Support bitfields in Wodr machinery (PR lto/85405). · ec214f92
      2018-04-17  Jan Hubicka  <jh@suse.cz>
      
      	PR lto/85405
      	* ipa-devirt.c (odr_types_equivalent_p): Handle bit fields.
      2018-04-17  Martin Liska  <mliska@suse.cz>
      
      	PR lto/85405
      	* g++.dg/lto/pr85405_0.C: New test.
      	* g++.dg/lto/pr85405_1.C: New test.
      
      From-SVN: r259429
      Martin Liska committed
    • Make redirection only for target_clones: V3 (PR ipa/85329). · 646cf252
      2018-04-17  Martin Liska  <mliska@suse.cz>
      
      	PR ipa/85329
      	* multiple_target.c (create_dispatcher_calls): Set apostrophes
      	for target_clone error message.  Make default implementation
              clone to be a local declaration.
      	(separate_attrs): Add new argument and check for an empty
      	string.
      	(expand_target_clones): Handle it.
      	(ipa_target_clone): Make redirection just for target_clones
      	functions.
      2018-04-17  Martin Liska  <mliska@suse.cz>
      
      	PR ipa/85329
      	* g++.dg/ext/pr85329-2.C: New test.
      	* g++.dg/ext/pr85329.C: New test.
      	* gcc.target/i386/mvc12.c: New test.
      
      From-SVN: r259428
      Martin Liska committed
    • Daily bump. · 42c884b1
      From-SVN: r259426
      GCC Administrator committed
  2. 16 Apr, 2018 12 commits
    • [PR c++/85039] no type definitions in builtin offsetof · 7c5b407f
      Types defined within a __builtin_offsetof argument don't always get
      properly recorded as members of their context types, so if they're
      anonymous, we may fail to assign them an anon type index for mangling
      and ICE.
      
      We shouldn't allow types to be introduced in __builtin_offsetof, I
      think, and Jason says the std committee agrees, so I've arranged for
      us to reject them.
      
      Even then, we still parse the definitions and attempt to assign
      mangled names to its member functions, so the ICE remains.  Since
      we've already reported an error, we might as well complete the name
      assignment with an arbitrary index, thus avoiding the ICE.
      
      We used to have a test that expected to be able to define types in
      __builtin_offsetof; this patch removes that specific test.
      
      
      for  gcc/cp/ChangeLog
      
      	PR c++/85039
      	* parser.c (cp_parser_builtin_offset): Reject type definitions.
      	* mangle.c (nested_anon_class_index): Avoid crash returning -1
      	if we've seen errors.
      
      for  gcc/testsuite/ChangeLog
      
      	PR c++/85039
      	* g++.dg/pr85039-1.C: New.
      	* g++.dg/pr85039-2.C: New.
      	* g++.dg/parse/semicolon3.C: Remove test_offsetof.
      
      From-SVN: r259423
      Alexandre Oliva committed
    • re PR target/85080 (gcc.dg/vect/costmodel/ppc/costmodel-pr37194.c fails starting with r248678) · 34722c36
      [gcc/testsuite]
      
      2018-04-16  Bill Schmidt  <wschmidt@linux.ibm.com>
      
      	PR target/85080
      	* gcc.dg/vect/costmodel/ppc/costmodel-pr37194.c: Skip dump checks
      	if the target supports efficient unaligned storage accesses.
      
      From-SVN: r259407
      Bill Schmidt committed
    • [openacc] Fix ICE when compiling tile loop containing infinite loop · 05e0af43
      2018-04-16  Cesar Philippidis  <cesar@codesourcery.com>
      	    Tom de Vries  <tom@codesourcery.com>
      
      	PR middle-end/84955
      	* omp-expand.c (expand_oacc_for): Add dummy false branch for
      	tiled basic blocks without omp continue statements.
      
      	* testsuite/libgomp.oacc-c-c++-common/pr84955.c: New test.
      	* testsuite/libgomp.oacc-fortran/pr84955.f90: New test.
      
      Co-Authored-By: Tom de Vries <tom@codesourcery.com>
      
      From-SVN: r259406
      Cesar Philippidis committed
    • re PR target/83660 (ICE with vec_extract inside expression statement) · 2d4e0a12
      2018-04-16  Aaron Sawdey  <acsawdey@linux.ibm.com>
      
      	PR target/83660
      	* config/rs6000/rs6000-c.c (altivec_resolve_overloaded_builtin): Mark
      	vec_extract expression as having side effects to make sure it gets
      	a cleanup point.
      
      2018-04-16  Aaron Sawdey  <acsawdey@linux.ibm.com>
      
      	PR target/83660
      	* gcc.target/powerpc/pr83660.C: New test.
      
      From-SVN: r259403
      Aaron Sawdey committed
    • i386: Check error_mark_node in multiversioning · af7a5758
      Since CET is applied to the whole program, it is correct to disallow
      -fcf-protection=full without -mcet.  But compiler shouldn't crash.
      
      gcc/
      
      	PR target/85403
      	* config/i386/i386.c (get_builtin_code_for_version): Check
      	error_mark_node.
      
      gcc/testsuite/
      
      	PR target/85403
      	* gcc.target/i386/pr85403.c: New test.
      ---
       gcc/config/i386/i386.c                            |  2 ++
       gcc/testsuite/g++.dg/ext/mv1.C                    |  2 +-
       gcc/testsuite/g++.dg/ext/mv14.C                   |  2 +-
       gcc/testsuite/g++.dg/ext/mv15.C                   |  2 +-
       gcc/testsuite/g++.dg/ext/mv16.C                   |  2 +-
       gcc/testsuite/g++.dg/ext/mv17.C                   |  2 +-
       gcc/testsuite/g++.dg/ext/mv18.C                   |  2 +-
       gcc/testsuite/g++.dg/ext/mv19.C                   |  2 +-
       gcc/testsuite/g++.dg/ext/mv20.C                   |  2 +-
       gcc/testsuite/g++.dg/ext/mv21.C                   |  2 +-
       gcc/testsuite/g++.dg/ext/mv22.C                   |  2 +-
       gcc/testsuite/g++.dg/ext/mv23.C                   |  2 +-
       gcc/testsuite/g++.dg/ext/mv26.C                   |  1 +
       gcc/testsuite/g++.dg/ext/mv6.C                    |  2 +-
       gcc/testsuite/g++.dg/ext/mvc1.C                   |  1 +
       gcc/testsuite/gcc.target/i386/cet-notrack-icf-1.c |  2 +-
       gcc/testsuite/gcc.target/i386/cet-notrack-icf-3.c |  2 +-
       gcc/testsuite/gcc.target/i386/cet-property-2.c    |  2 +-
       gcc/testsuite/gcc.target/i386/mvc1.c              |  1 +
       gcc/testsuite/gcc.target/i386/mvc10.c             |  1 +
       gcc/testsuite/gcc.target/i386/mvc11.c             |  2 +-
       gcc/testsuite/gcc.target/i386/mvc6.c              |  2 +-
       gcc/testsuite/gcc.target/i386/mvc7.c              |  1 +
       gcc/testsuite/gcc.target/i386/mvc8.c              |  2 +-
       gcc/testsuite/gcc.target/i386/mvc9.c              |  2 +-
       gcc/testsuite/gcc.target/i386/pr81213.c           |  1 +
       gcc/testsuite/gcc.target/i386/pr81214.c           |  1 +
       gcc/testsuite/gcc.target/i386/pr85403.c           | 10 ++++++++++
       gcc/testsuite/gcc.target/i386/sse-26.c            |  2 +-
       29 files changed, 39 insertions(+), 20 deletions(-)
       create mode 100644 gcc/testsuite/gcc.target/i386/pr85403.c
      
      diff --git a/gcc/config/i386/i386.c b/gcc/config/i386/i386.c
      index 6fa5b0add02..8a73fc0d316 100644
      --- a/gcc/config/i386/i386.c
      +++ b/gcc/config/i386/i386.c
      @@ -32344,6 +32344,8 @@ get_builtin_code_for_version (tree decl, tree *predicate_list)
       						      &global_options_set);
           
             gcc_assert (target_node);
      +      if (target_node == error_mark_node)
      +	return 0;
             new_target = TREE_TARGET_OPTION (target_node);
             gcc_assert (new_target);
             
      diff --git a/gcc/testsuite/gcc.target/i386/pr85403.c b/gcc/testsuite/gcc.target/i386/pr85403.c
      new file mode 100644
      index 00000000000..f4fb12dd4e2
      --- /dev/null
      +++ b/gcc/testsuite/gcc.target/i386/pr85403.c
      @@ -0,0 +1,10 @@
      +/* { dg-do compile } */
      +/* { dg-options "-fcf-protection -mcet" } */
      +/* { dg-require-ifunc "" } */
      +
      +__attribute__((target_clones("avx","arch=slm","arch=core-avx2","default")))
      +int
      +foo ()
      +{
      +  return -2;
      +} /* { dg-error "requires Intel CET support" } */
      
      From-SVN: r259400
      H.J. Lu committed
    • Fixed g++.dg/ext/mv16.C with -march=native. · 176a3386
      gcc/
      	PR target/84331
      	* gcc/config.gcc: Support "skylake".
      	* gcc/config/i386/i386-c.c (ix86_target_macros_internal): Handle
      	PROCESSOR_SKYLAKE.
      	* gcc/config/i386/i386.c (m_SKYLAKE): Define.
      	(processor_target_table): Add "skylake".
      	(ix86_option_override_internal): Add "skylake".
      	(get_builtin_code_for_version): Handle PROCESSOR_SKYLAKE,
      	PROCESSOR_CANNONLAKE.
      	(get_builtin_code_for_version): Fix priority for
      	PROCESSOR_ICELAKE_CLIENT, PROCESSOR_ICELAKE_SERVER,
      	PROCESSOR_SKYLAKE-AVX512.
      	* gcc/config/i386/i386.h (processor_costs): Define TARGET_SKYLAKE.
      	(processor_type): Add PROCESSOR_SKYLAKE.
      
      gcc/testsuite/
      	PR target/84331
      	* gcc/testsuite/gcc.target/i386/funcspec-56.inc: Test arch=skylake.
      
      From-SVN: r259399
      Olga Makhotina committed
    • re PR target/84945 (UBSAN: gcc/config/i386/i386.c:33312:22: runtime error: shift… · a57f99ba
      re PR target/84945 (UBSAN: gcc/config/i386/i386.c:33312:22: runtime error: shift exponent 32 is too large for 32-bit type 'int')
      
      	PR target/84945
      	* config/i386/cpuinfo.c (set_feature): Wrap into do while (0) to avoid
      	-Wdangling-else warnings.  Mask shift counts to avoid
      	-Wshift-count-negative and -Wshift-count-overflow false positives.
      
      From-SVN: r259398
      Jakub Jelinek committed
    • re PR c++/85112 (ICE with invalid constexpr) · c814ac9e
      2018-04-16  Paolo Carlini  <paolo.carlini@oracle.com>
      	    Jason Merrill  <jason@redhat.com>
      
      	PR c++/85112
      	* convert.c (convert_to_integer_1): Use direct recursion for
      	enumeral types and types with a precision less than the number
      	of bits in their mode.
      
      /testsuite
      2018-04-16  Paolo Carlini  <paolo.carlini@oracle.com>
      	    Jason Merrill  <jason@redhat.com>
      
      	PR c++/85112
      	* g++.dg/cpp0x/pr85112.C: New.
      
      Co-Authored-By: Jason Merrill <jason@redhat.com>
      
      From-SVN: r259397
      Paolo Carlini committed
    • Make Filesystem TS tests pass in C++17 mode · ef0e80d2
      The <testsuite_fs.h> header defaults to using std::filesystem in C++17
      mode. The Filesystem TS tests need to define the macro that causes
      std::experimental::filesystem to be used instead.
      
      	* testsuite/experimental/filesystem/file_status/1.cc: Add
      	-DUSE_FILESYSTEM_TS to dg-options.
      	* testsuite/experimental/filesystem/iterators/directory_iterator.cc:
      	Likewise.
      	* testsuite/experimental/filesystem/iterators/pop.cc: Likewise.
      	* testsuite/experimental/filesystem/iterators/
      	recursive_directory_iterator.cc: Likewise.
      	* testsuite/experimental/filesystem/operations/absolute.cc: Likewise.
      	* testsuite/experimental/filesystem/operations/canonical.cc: Likewise.
      	* testsuite/experimental/filesystem/operations/copy.cc: Likewise.
      	* testsuite/experimental/filesystem/operations/copy_file.cc: Likewise.
      	* testsuite/experimental/filesystem/operations/create_directories.cc:
      	Likewise.
      	* testsuite/experimental/filesystem/operations/create_directory.cc:
      	Likewise.
      	* testsuite/experimental/filesystem/operations/create_symlink.cc:
      	Likewise.
      	* testsuite/experimental/filesystem/operations/current_path.cc:
      	Likewise.
      	* testsuite/experimental/filesystem/operations/equivalent.cc: Likewise.
      	* testsuite/experimental/filesystem/operations/exists.cc: Likewise.
      	* testsuite/experimental/filesystem/operations/file_size.cc: Likewise.
      	* testsuite/experimental/filesystem/operations/is_empty.cc: Likewise.
      	* testsuite/experimental/filesystem/operations/last_write_time.cc:
      	Likewise.
      	* testsuite/experimental/filesystem/operations/permissions.cc:
      	Likewise.
      	* testsuite/experimental/filesystem/operations/read_symlink.cc:
      	Likewise.
      	* testsuite/experimental/filesystem/operations/remove.cc: Likewise.
      	* testsuite/experimental/filesystem/operations/remove_all.cc: Likewise.
      	* testsuite/experimental/filesystem/operations/status.cc: Likewise.
      	* testsuite/experimental/filesystem/operations/temp_directory_path.cc:
      	Likewise.
      	* testsuite/experimental/filesystem/path/append/path.cc: Likewise.
      	* testsuite/experimental/filesystem/path/assign/assign.cc: Likewise.
      	* testsuite/experimental/filesystem/path/assign/copy.cc: Likewise.
      	* testsuite/experimental/filesystem/path/compare/compare.cc: Likewise.
      	* testsuite/experimental/filesystem/path/compare/path.cc: Likewise.
      	* testsuite/experimental/filesystem/path/compare/strings.cc: Likewise.
      	* testsuite/experimental/filesystem/path/concat/path.cc: Likewise.
      	* testsuite/experimental/filesystem/path/concat/strings.cc: Likewise.
      	* testsuite/experimental/filesystem/path/construct/copy.cc: Likewise.
      	* testsuite/experimental/filesystem/path/construct/default.cc:
      	Likewise.
      	* testsuite/experimental/filesystem/path/construct/locale.cc: Likewise.
      	* testsuite/experimental/filesystem/path/construct/range.cc: Likewise.
      	* testsuite/experimental/filesystem/path/construct/string_view.cc:
      	Likewise.
      	* testsuite/experimental/filesystem/path/decompose/extension.cc:
      	Likewise.
      	* testsuite/experimental/filesystem/path/decompose/filename.cc:
      	Likewise.
      	* testsuite/experimental/filesystem/path/decompose/parent_path.cc:
      	Likewise.
      	* testsuite/experimental/filesystem/path/decompose/relative_path.cc:
      	Likewise.
      	* testsuite/experimental/filesystem/path/decompose/root_directory.cc:
      	Likewise.
      	* testsuite/experimental/filesystem/path/decompose/root_name.cc:
      	Likewise.
      	* testsuite/experimental/filesystem/path/decompose/root_path.cc:
      	Likewise.
      	* testsuite/experimental/filesystem/path/decompose/stem.cc: Likewise.
      	* testsuite/experimental/filesystem/path/generic/generic_string.cc:
      	Likewise.
      	* testsuite/experimental/filesystem/path/itr/traversal.cc: Likewise.
      	* testsuite/experimental/filesystem/path/modifiers/clear.cc: Likewise.
      	* testsuite/experimental/filesystem/path/modifiers/make_preferred.cc:
      	Likewise.
      	* testsuite/experimental/filesystem/path/modifiers/remove_filename.cc:
      	Likewise.
      	* testsuite/experimental/filesystem/path/modifiers/replace_extension.cc:
      	Likewise.
      	* testsuite/experimental/filesystem/path/modifiers/replace_filename.cc:
      	Likewise.
      	* testsuite/experimental/filesystem/path/modifiers/swap.cc: Likewise.
      	* testsuite/experimental/filesystem/path/native/string.cc: Likewise.
      	* testsuite/experimental/filesystem/path/nonmember/hash_value.cc:
      	Likewise.
      	* testsuite/experimental/filesystem/path/query/empty.cc: Likewise.
      	* testsuite/experimental/filesystem/path/query/has_extension.cc:
      	Likewise.
      	* testsuite/experimental/filesystem/path/query/has_filename.cc:
      	Likewise.
      	* testsuite/experimental/filesystem/path/query/has_parent_path.cc:
      	Likewise.
      	* testsuite/experimental/filesystem/path/query/has_relative_path.cc:
      	Likewise.
      	* testsuite/experimental/filesystem/path/query/has_root_directory.cc:
      	Likewise.
      	* testsuite/experimental/filesystem/path/query/has_root_name.cc:
      	Likewise.
      	* testsuite/experimental/filesystem/path/query/has_root_path.cc:
      	Likewise.
      	* testsuite/experimental/filesystem/path/query/has_stem.cc: Likewise.
      	* testsuite/experimental/filesystem/path/query/is_relative.cc:
      	Likewise.
      
      From-SVN: r259396
      Jonathan Wakely committed
    • Add sse_unaligned_load_optimal and sse_unaligned_store_optimal to Skylake. · 2cb0369c
      gcc/
      	PR target/84413
      	* config/i386/x86-tune.def (X86_TUNE_SSE_UNALIGNED_LOAD_OPTIMAL,
      	X86_TUNE_SSE_UNALIGNED_STORE_OPTIMAL): Add m_SKYLAKE_AVX512
      
      From-SVN: r259395
      Julia Koval committed
    • re PR testsuite/85326 (`make check` fails with `--disable-bootstrap` and `--enable-languages=c`) · 23addc61
      [gcc/testsuite]
      
      2018-04-15  Bill Schmidt  <wschmidt@linux.ibm.com>
      
      	PR testsuite/85326
      	* g++.dg/ext/undef-bool-1.C: New file.
      	* gcc.target/powerpc/powerpc.exp: Remove .C support.
      	* gcc.target/powerpc/undef-bool-1.C: Remove file.
      
      From-SVN: r259393
      Bill Schmidt committed
    • Daily bump. · 7cb1612b
      From-SVN: r259392
      GCC Administrator committed
  3. 15 Apr, 2018 1 commit
  4. 14 Apr, 2018 4 commits
    • rs6000: Disable -m[no-]direct-move (PR85293) · 57f108f5
      The -mno-direct-move option causes a lot of problems, since it forces
      us to be able to generate code for p8 and up with some crucial
      instructions missing.  This patch removes the -m[no-]direct-move
      options so that the user cannot put us into this unexpected situation
      anymore.  Internally we still have all the same flags, and they are
      automatically set based on -mcpu; getting rid of that is a lot more
      work and will have to wait for GCC 9 (in some places the flag is used
      to see if we are compiling for a p8 _at all_).
      
      
      	PR target/85293
      	* config/rs6000/rs6000.opt (mdirect-move): Make deprecated.
      	* doc/invoke.texi (RS/6000 and PowerPC Options): Remove -mdirect-move
      	and -mno-direct-move.
      
      gcc/testsuite/
      	PR target/85293
      	* gcc.target/powerpc/pr80098-2.c: Remove -mdirect-move.  Remove the
      	corresponding dg-error clause.
      	* gcc.target/powerpc/pr80098-3.c: Ditto.
      	* gcc.target/powerpc/pr80103-1.c: Delete.
      
      From-SVN: r259386
      Segher Boessenkool committed
    • re PR fortran/81773 ([Coarray] Get with vector index on lhs leads to incorrect… · 2368eaf9
      re PR fortran/81773 ([Coarray] Get with vector index on lhs leads to incorrect caf_get_by_ref() call.)
      
      gcc/fortran/ChangeLog:
      
      2018-04-14  Andre Vehreschild  <vehre@gcc.gnu.org>
      
      	PR fortran/81773
      	PR fortran/83606
      	* dependency.c (gfc_dep_resolver): Coarray indexes are to be ignored
      	during dependency computation.  They define no data dependency.
      	* trans-array.c (conv_array_index_offset): The stride can not be set
      	here, prevent fail.
      	* trans-intrinsic.c (conv_caf_send): Add creation of temporary array
      	for caf_get's result and copying to the array with vectorial
      	indexing.
      
      gcc/testsuite/ChangeLog:
      
      2018-04-14  Andre Vehreschild  <vehre@gcc.gnu.org>
      
      	PR fortran/81773
      	PR fortran/83606
      	* gfortran.dg/coarray/get_to_indexed_array_1.f90: New test.
      	* gfortran.dg/coarray/get_to_indirect_array.f90: New test.
      
      From-SVN: r259385
      Andre Vehreschild committed
    • re PR fortran/85387 (incorrect output with optimization /= 0) · acd1559a
      2018-04-14  Thomas Koenig  <tkoenig@gcc.gnu.org>
      
      	PR fortran/85387
      	* frontend-passes.c (traverse_io_block): Check for start, end or
      	stride being defined by an outer implied DO loop.
      
      2018-04-14  Thomas Koenig  <tkoenig@gcc.gnu.org>
      
      	PR fortran/85387
      	* gfortran.dg/implied_do_io_5.f90: New test.
      
      From-SVN: r259384
      Thomas Koenig committed
    • Daily bump. · 4be91498
      From-SVN: r259383
      GCC Administrator committed
  5. 13 Apr, 2018 6 commits
    • rs6000: Fix _mm_slli_epi{32,64} for shift values 16 through 31 and negative (PR84302) · eef4632c
      The powerpc versions of _mm_slli_epi32 and __mm_slli_epi64 in emmintrin.h
      do not properly handle shift values between 16 and 31, inclusive.
      These are setting up the shift with vec_splat_s32, which only accepts
      *5 bit signed* shift values, or a range of -16 to 15.  Values above 15
      produce an error:
      
        error: argument 1 must be a 5-bit signed literal
      
      Fix is to effectively reduce the range for which vec_splat_s32 is used
      to < 32 and use vec_splats otherwise.
      
      Also, __mm_slli_epi{16,32,64}, when given a negative shift value,
      should always return a vector of {0}.
      
      
      	PR target/83402
      	* config/rs6000/emmintrin.h (_mm_slli_epi{16,32,64}):
      	Ensure that vec_splat_s32 is only called with 0 <= shift < 16.
      	Ensure negative shifts result in {0}.
      
      gcc/testsuite/
      	PR target/83402
      	* gcc.target/powerpc/sse2-psllw-1.c: Refactor and add tests for
      	several values:  positive, negative, and zero.
      	* gcc.target/powerpc/sse2-pslld-1.c: Same.
      	* gcc.target/powerpc/sse2-psllq-1.c: Same.
      
      From-SVN: r259380
      Paul A. Clarke committed
    • re PR rtl-optimization/79916 (ICE in Max. number of generated reload insns per… · 53bdbcbc
      re PR rtl-optimization/79916 (ICE in Max. number of generated reload insns per insn is achieved (90))
      
      2018-04-13  Vladimir Makarov  <vmakarov@redhat.com>
      
      	PR rtl-optimization/79916
      	* config/rs6000/rs6000.c (rs6000_emit_move): Use assigned hard
      	regs (if any) to define how to gnerate SD moves when LRA is in
      	progress.
      
      2018-04-13  Vladimir Makarov  <vmakarov@redhat.com>
      
      	PR rtl-optimization/79916
      	* gcc.target/powerpc/pr79916.c: New.
      
      From-SVN: r259379
      Vladimir Makarov committed
    • re PR rtl-optimization/85393 (Miscompilation with hot/cold partitioning starting with r254832) · 465d0087
      	PR rtl-optimization/85393
      	* except.h (expand_dw2_landing_pad_for_region): Remove declaration.
      	* except.c (expand_dw2_landing_pad_for_region): Make static.
      	* bb-reorder.c (fix_up_crossing_landing_pad): In new_bb emit just
      	a label and unconditional jump to old_bb, rather than
      	expand_dw2_landing_pad_for_region insn(s) and jump to single_succ
      	basic block.
      
      	* g++.dg/opt/pr85393.C: New test.
      	* g++.dg/opt/pr85393-aux.cc: New file.
      
      From-SVN: r259378
      Jakub Jelinek committed
    • re PR rtl-optimization/85376 (wrong code with -Og -fno-dce -fgcse -fno-tree-ccp… · 9b915824
      re PR rtl-optimization/85376 (wrong code with -Og -fno-dce -fgcse -fno-tree-ccp -fno-tree-copy-prop)
      
      	PR rtl-optimization/85376
      	* simplify-rtx.c (simplify_const_unary_operation): For CLZ and CTZ and
      	zero op0, if C?Z_DEFINED_VALUE_AT_ZERO is false, return NULL_RTX
      	instead of a specific value.
      
      	* gcc.dg/pr85376.c: New test.
      
      From-SVN: r259377
      Jakub Jelinek committed
    • Fix broken sed command from previous commit · 272277dc
      	* src/c++11/Makefile.am: Fix sed command.
      	* src/c++11/Makefile.in: Regenerate.
      
      From-SVN: r259374
      Jonathan Wakely committed
    • re PR rtl-optimization/83852 (ICE in sel_redirect_edge_and_branch, at… · 4807c076
      re PR rtl-optimization/83852 (ICE in sel_redirect_edge_and_branch, at sel-sched-ir.c:5644 on 32-bit BE powerpc targets)
      
              PR rtl-optimization/83852
              * gcc.dg/pr83852.c: New testcase.
      
      From-SVN: r259373
      Andrey Belevantsev committed