Commit Graph

160786 Commits

Author SHA1 Message Date
Jakub Jelinek
a57f99ba1c 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
2018-04-16 13:22:40 +02:00
Paolo Carlini
c814ac9e69 re PR c++/85112 (ICE with invalid constexpr)
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
2018-04-16 08:31:23 +00:00
Jonathan Wakely
ef0e80d23c Make Filesystem TS tests pass in C++17 mode
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
2018-04-16 09:24:40 +01:00
Julia Koval
2cb0369c9e Add sse_unaligned_load_optimal and sse_unaligned_store_optimal to Skylake.
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
2018-04-16 07:59:52 +02:00
Bill Schmidt
23addc6180 re PR testsuite/85326 (make check fails with --disable-bootstrap and --enable-languages=c)
[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
2018-04-16 02:00:43 +00:00
GCC Administrator
7cb1612b03 Daily bump.
From-SVN: r259392
2018-04-16 00:16:14 +00:00
GCC Administrator
a08f2f11a5 Daily bump.
From-SVN: r259389
2018-04-15 00:16:22 +00:00
Segher Boessenkool
57f108f5a1 rs6000: Disable -m[no-]direct-move (PR85293)
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
2018-04-14 23:13:20 +02:00
Andre Vehreschild
2368eaf95d 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
2018-04-14 16:45:59 +02:00
Thomas Koenig
acd1559a0e re PR fortran/85387 (incorrect output with optimization /= 0)
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
2018-04-14 13:38:41 +00:00
GCC Administrator
4be91498e2 Daily bump.
From-SVN: r259383
2018-04-14 00:16:23 +00:00
Paul A. Clarke
eef4632c6b rs6000: Fix _mm_slli_epi{32,64} for shift values 16 through 31 and negative (PR84302)
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
2018-04-14 01:13:40 +02:00
Vladimir Makarov
53bdbcbc12 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
2018-04-13 22:55:16 +00:00
Jakub Jelinek
465d00877e re PR rtl-optimization/85393 (Miscompilation with hot/cold partitioning starting with r254832)
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
2018-04-13 21:55:15 +02:00
Jakub Jelinek
9b91582429 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
2018-04-13 21:39:11 +02:00
Jonathan Wakely
272277dc55 Fix broken sed command from previous commit
* src/c++11/Makefile.am: Fix sed command.
	* src/c++11/Makefile.in: Regenerate.

From-SVN: r259374
2018-04-13 11:55:29 +01:00
Andrey Belevantsev
4807c076ea 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
2018-04-13 13:24:02 +03:00
Jonathan Wakely
06258a7f10 Fix __iosfail_type_info hack to work on darwin
* src/c++11/Makefile.am: Rewrite sed rule to be less fragile and to
	handle mangled names starting with double underscores on darwin.
	* src/c++11/Makefile.in: Regenerate.

From-SVN: r259371
2018-04-13 11:06:21 +01:00
Andreas Krebbel
1f2131a9b6 IBM Z: Get rid of target specific C++ testcase
gcc/testsuite/ChangeLog:

2018-04-13  Andreas Krebbel  <krebbel@linux.ibm.com>

        PR testsuite/85326
        * gcc.target/s390/pr77822-1.C: Rename to ...
        * gcc.target/s390/pr77822-1.c: ... this. Add asm scan check.
        * gcc.target/s390/pr77822-2.c: Add asm scan check.
        * gcc.target/s390/s390.exp: Remove C from testcase regexps.

From-SVN: r259369
2018-04-13 09:14:32 +00:00
Jan Hubicka
65739a6885 re PR tree-optimization/82965 (gcc.dg/vect/pr79347.c starts failing after r254379)
PR tree-optimization/82965
	PR tree-optimization/83991
	* cfgloopanal.c (expected_loop_iterations_unbounded): Add
	by_profile_only parameter.
	* cfgloopmanip.c (scale_loop_profile): Further scale loop's profile
        information if the loop was predicted to iterate too many times.
	* cfgloop.h (expected_loop_iterations_unbounded): Update prototype

Co-Authored-By: Bin Cheng <bin.cheng@arm.com>

From-SVN: r259368
2018-04-13 08:59:05 +00:00
Jan Hubicka
2fdb5a23a3 re PR target/71991 (Inconsistency for __attribute__ ((__always_inline__)) among LTO and non-LTO compilation)
PR lto/71991
	* config/i386/i386.c (ix86_can_inline_p): Allow safe transitions for
	always inline.
	* gcc.target/i386/pr71991.c: New testcase.

From-SVN: r259367
2018-04-13 08:51:47 +00:00
Martin Liska
fdd332545c re PR middle-end/81657 (FAIL: gcc.dg/20050503-1.c scan-assembler-not call)
PR middle-end/81657
	* expr.h (enum block_op_methods): Add BLOCK_OP_NO_LIBCALL_RET.
	* expr.c (emit_block_move_hints): Handle BLOCK_OP_NO_LIBCALL_RET.
	* builtins.c (expand_builtin_memory_copy_args): Use
	BLOCK_OP_NO_LIBCALL_RET method for mempcpy with non-ignored target,
	handle dest_addr == pc_rtx.

	* gcc.dg/string-opt-1.c: Remove bogus comment.  Expect a mempcpy
	call.

Co-Authored-By: Jakub Jelinek <jakub@redhat.com>

From-SVN: r259366
2018-04-13 10:35:32 +02:00
Rainer Orth
6888a172d3 Fix gcc.dg/debug/pr41893-1.c with Solaris ld (PR lto/81968)
PR lto/81968
	* simple-object.c (handle_lto_debug_sections): Keep .comment
	section.

From-SVN: r259364
2018-04-13 08:02:15 +00:00
GCC Administrator
ee145092ec Daily bump.
From-SVN: r259363
2018-04-13 00:16:17 +00:00
David Malcolm
b0cc1e5343 Prevent erroneous "macro had not yet been defined" messages (PR c++/85385)
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
2018-04-12 23:44:09 +00:00
Thomas Koenig
bc436e10e0 re PR fortran/83064 (DO CONCURRENT and auto-parallelization)
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
2018-04-12 21:58:54 +00:00
Jonathan Wakely
741346a2af Fix comments that misspell names of files and classes
* 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
2018-04-12 21:55:02 +01:00
Jason Merrill
38f3a87750 PR c++/85356 - ICE with pointer to member function.
* 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
2018-04-12 16:03:33 -04:00
Marek Polacek
4930c53ee6 re PR c++/85258 (ICE with invalid range-based for-loop)
PR c++/85258
	* constexpr.c (reduced_constant_expression_p): Return false for null
	trees.

	* g++.dg/parse/error61.C: New test.

From-SVN: r259355
2018-04-12 20:02:47 +00:00
Segher Boessenkool
ed086e7e0a rs6000: Fix an ICE with -mno-direct-move (PR85291)
PR target/85291
	* config/rs6000/rs6000.md (fix_trunc<mode>si2): Use legacy code if
	asked to not generate direct moves.
	(fix_trunc<mode>si2_stfiwx): Similar.
	(fix_trunc<mode>si2_internal): Similar.

From-SVN: r259354
2018-04-12 22:01:37 +02:00
Jakub Jelinek
ff11194898 re PR debug/83157 (gcc.dg/guality/pr41616-1.c fail, inline instances refer to concrete instance as abstract origin)
PR debug/83157
	* var-tracking.c (add_stores): Handle STRICT_LOW_PART SET_DEST.
	* cselib.c (cselib_record_sets): For STRICT_LOW_PART dest,
	lookup if dest in some wider mode is known to be const0_rtx and
	if so, record permanent equivalence for it to be ZERO_EXTEND of
	the narrower mode destination.

From-SVN: r259353
2018-04-12 21:30:00 +02:00
Cesar Philippidis
6b95d1af3e Revert 259346.
gcc/
	* lto-streamer-out.c (output_function): Revert 259346.
	* omp-expand.c (expand_oacc_for): Likewise.

	libgomp/
	* testsuite/libgomp.oacc-c-c++-common/pr84955.c: Revert 259346.
	* testsuite/libgomp.oacc-fortran/pr84955.f90:Likewise.

From-SVN: r259351
2018-04-12 11:48:56 -07:00
Kelvin Nilsen
e417946035 re PR target/85347 (New testcase vec-ldl-1.c FAILs on powerpc64-linux)
gcc/testsuite/ChangeLog:

2018-04-12  Kelvin Nilsen  <kelvin@gcc.gnu.org>

	PR target/85347
	* gcc.target/powerpc/vec-ldl-1.c: Change dejagnu directives to
	specify -mvsx on gcc command line.

From-SVN: r259350
2018-04-12 16:16:08 +00:00
Jonathan Wakely
ee3e8f4347 Remove #define made redundant by r259281
The definition of __throw_ios_failure is no longer in this file, so
setting the macro here is unnecessary.

	* src/c++11/ios.cc: Remove redundant macro definition.

From-SVN: r259349
2018-04-12 17:06:03 +01:00
Alexander Monakov
0149670730 sel-sched: move cleanup_cfg before calculate_dominance_info (PR 85354)
PR rtl-optimization/85354
	* sel-sched-ir.c (sel_init_pipelining): Move cfg_cleanup call...
	* sel-sched.c (sel_global_init): ... here.

From-SVN: r259348
2018-04-12 18:40:44 +03:00
Eric Botcazou
dc0e0c6b2e re PR target/85238 (lto-wrapper: fatal error: simple_object_copy_lto_debug_sections not implemented: Invalid argument on Cygwin)
PR target/85238
	* lto-wrapper.c (debug_objcopy): Open the files in binary mode.
	* dwarf2out.c (dwarf2out_early_finish): Do not generate assembly in LTO
	mode for PE-COFF targets.
	* config/i386/i386-protos.h (i386_pe_asm_lto_start): Declare.
	(i386_pe_asm_lto_end): Likewise.
	* config/i386/cygming.h (TARGET_ASM_LTO_START): Define.
	(TARGET_ASM_LTO_END): Likewise.
	* config/i386/winnt.c (saved_debug_info_level): New static variable.
	(i386_pe_asm_lto_start): New function.
	(i386_pe_asm_lto_end): Likewise.

From-SVN: r259347
2018-04-12 14:18:17 +00:00
Cesar Philippidis
2e5efa6760 re PR middle-end/84955 (Incorrect OpenACC tile expansion)
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
2018-04-12 06:15:45 -07:00
Richard Biener
c1566f8942 re PR lto/85371 (Compiling code with -g -flto gives an ICE on darwin after revision r259317)
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
2018-04-12 12:27:14 +00:00
Jakub Jelinek
dcd88195e7 re PR target/85328 (accessing ymm16 with non-avx512 instruction form)
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
2018-04-12 13:17:23 +02:00
Andreas Krebbel
b9dd1a7928 IBM Z: Spectre: Prevent thunk cfi to be emitted with -fno-dwarf2-cfi-asm
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
2018-04-12 09:14:57 +00:00
Paolo Carlini
c72a0e67a2 Wzero-as-null-pointer-constant-7.C: Move...
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
2018-04-12 08:44:47 +00:00
Jakub Jelinek
868865f40f 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
2018-04-12 10:39:50 +02:00
Tom de Vries
bf3989207e [nvptx] Fix handling of extern var with flexible array member
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
2018-04-12 07:17:29 +00:00
GCC Administrator
39c168bfda Daily bump.
From-SVN: r259336
2018-04-12 00:16:14 +00:00
Jason Merrill
34ffaf66e9 * lib/asan-dg.exp: Don't run tests if ulimit -v is set.
From-SVN: r259333
2018-04-11 19:43:28 -04:00
Paolo Carlini
26a998b0ca Wzero-as-null-pointer-constant-7.C: Move...
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: r259327
2018-04-11 18:14:07 +00:00
Bin Cheng
ef45fd3ba1 re PR testsuite/85190 (gcc.dg/vect/pr81196.c FAILs)
gcc/testsuite
	PR testsuite/85190
	* gcc.dg/vect/pr81196.c: Remove function with undefined behavior.

From-SVN: r259326
2018-04-11 16:50:16 +00:00
Jakub Jelinek
79894a61de re PR c++/70808 (Spurious -Wzero-as-null-pointer-constant for nullptr_t)
PR c++/70808
	* g++.dg/warn/Wzero-as-null-pointer-constant-7.C: Require c++11
	effective target.

From-SVN: r259325
2018-04-11 17:55:15 +02:00
Aaron Sawdey
037cac8a71 re PR target/85321 (Missing documentation and option misc for ppc64le)
2018-04-11  Aaron Sawdey  <acsawdey@linux.ibm.com>

	PR target/85321
	* doc/invoke.texi (RS/6000 and PowerPC Options): Document options
	-mcall- and -mtraceback=. Remove options -mabi=spe and -mabi=no-spe
	from PowerPC section.
	* config/rs6000/sysv4.opt (mcall-): Improve help text.
	* config/rs6000/rs6000.opt (mblock-compare-inline-limit=): Trim
	help text that is too long.
	* config/rs6000/rs6000.opt (mblock-compare-inline-loop-limit=): Trim
	help text that is too long.
	* config/rs6000/rs6000.opt (mstring-compare-inline-limit=): Trim
	help text that is too long.

From-SVN: r259324
2018-04-11 10:25:42 -05:00
Uros Bizjak
0d136a30ef alpha.md (stack_probe_internal): Rename from "probe_stack".
* config/alpha/alpha.md (stack_probe_internal): Rename
	from "probe_stack".  Update all callers.

From-SVN: r259323
2018-04-11 17:06:12 +02:00