1. 17 Apr, 2018 5 commits
    • 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 13 commits
  6. 12 Apr, 2018 5 commits
    • Prevent erroneous "macro had not yet been defined" messages (PR c++/85385) · b0cc1e53
      PR c++/85385 reports an issue where we emit bogus "macro had not yet been
      defined" notes when a macro is mis-used:
      
        $ cat test.c
        #define MACRO(X,Y)
      
        void test ()
        {
          MACRO(42);
        }
      
        $ ./xg++ -B. -c test.c
        test.c:5:11: error: macro "MACRO" requires 2 arguments, but only 1 given
           MACRO(42);
                   ^
        test.c: In function ‘void test()’:
        test.c:5:3: error: ‘MACRO’ was not declared in this scope
           MACRO(42);
           ^~~~~
        test.c:5:3: note:
        test.c:1: note: it was later defined here
         #define MACRO(X,Y)
      
      The macro *had* been defined, it was merely misused.
      
      This patch fixes the issue by only issuing the note if the use location
      is before the definition location (using linemap_location_before_p).
      
      gcc/cp/ChangeLog:
      	PR c++/85385
      	* name-lookup.c (macro_use_before_def::maybe_make): New function,
      	checking that the use is indeed before the definition.
      	(macro_use_before_def::macro_use_before_def): Make private.
      	(macro_use_before_def::~macro_use_before_def): Make private.  Move
      	check for UNKNOWN_LOCATION to macro_use_before_def::maybe_make.
      	(lookup_name_fuzzy): Call macro_use_before_def::maybe_make rather
      	than using new directly.
      
      gcc/testsuite/ChangeLog:
      	PR c++/85385
      	* g++.dg/diagnostic/macro-arg-count.C: New test.
      
      From-SVN: r259360
      David Malcolm committed
    • re PR fortran/83064 (DO CONCURRENT and auto-parallelization) · bc436e10
      2018-04-12  Thomas Koenig  <tkoenig@gcc.gnu.org>
      
      	PR fortran/83064
      	PR testsuite/85346
      	* trans-stmt.c (gfc_trans_forall_loop): Use annot_expr_ivdep_kind
      	for annotation and remove dependence on -ftree-parallelize-loops.
      
      2018-04-12  Thomas Koenig  <tkoenig@gcc.gnu.org>
      
      	PR fortran/83064
      	PR testsuite/85346
      	* gfortran.dg/do_concurrent_5.f90: Dynamically allocate main work
      	array and move test to libgomp/testsuite/libgomp.fortran.
      	* gfortran.dg/do_concurrent_6.f90: New test.
      
      2018-04-12  Thomas Koenig  <tkoenig@gcc.gnu.org>
      
      	PR fortran/83064
      	PR testsuite/85346
      	* testsuite/libgomp.fortran/do_concurrent_5.f90: Move modified
      	test from gfortran.dg to here.
      
      From-SVN: r259359
      Thomas Koenig committed
    • Fix comments that misspell names of files and classes · 741346a2
      	* src/c++11/Makefile.am: Fix comment.
      	* src/c++11/Makefile.in: Regenerate.
      	* src/c++11/cxx11-ios_failure.cc: Fix comment.
      	* src/c++98/ios_failure.cc: Likewise.
      
      From-SVN: r259357
      Jonathan Wakely committed
    • PR c++/85356 - ICE with pointer to member function. · 38f3a877
      	* pt.c (maybe_instantiate_noexcept): Do instantiate in templates if
      	flag_noexcept_type.  Build the new spec within the function context.
      	* except.c (build_noexcept_spec): Do get constant value in templates
      	if flag_noexcept_type.
      	* decl.c (check_redeclaration_exception_specification): Don't
      	instantiate noexcept on a dependent declaration.
      
      From-SVN: r259356
      Jason Merrill committed
    • re PR c++/85258 (ICE with invalid range-based for-loop) · 4930c53e
      	PR c++/85258
      	* constexpr.c (reduced_constant_expression_p): Return false for null
      	trees.
      
      	* g++.dg/parse/error61.C: New test.
      
      From-SVN: r259355
      Marek Polacek committed