Commit Graph

158017 Commits

Author SHA1 Message Date
Jerry DeLisle af5ad1e2e5 Fix typo in ChangeLog.
From-SVN: r255366
2017-12-03 16:49:37 +00:00
Jerry DeLisle c4508d0ad7 re PR fortran/83191 (Writing a namelist with repeated complex numbers)
2017-12-03  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
            Dominique d'Humieres  <dominiq@lps.ens.fr>

        PR libgfortran/83191
        * io/transfer.c (list_formatted_read_scalar): Do not set
        namelist_mode bit here. (namelist_read): Likewise.
        (data_transfer_init): Clear the mode bit here.
        (finalize_transfer): Do set the mode bit just before any calls
        to namelist_read or namelist_write. It can now be referred to
        in complex_write.
        ^ io/write.c (write_complex): Suppress the leading blanks when
        namelist_mode bit is not set to 1.

        * gfortran.dg/namelist_95.f90: New test.

Co-Authored-By: Dominique d'Humieres <dominiq@lps.ens.fr>

From-SVN: r255365
2017-12-03 16:47:12 +00:00
Jerry DeLisle 7c73128157 Fix spelling error in log.
From-SVN: r255363
2017-12-03 04:42:09 +00:00
Jerry DeLisle 7b39e3c24f re PR fortran/83225 (runtime error in transfer.c)
2017-12-02  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	PR libgfortran/83225
	* io/io.h (is_internal_unit): Use the unit_is_internal bit.
	* io/transfer.c (data_transfer_init): Set the bit to true for
	internal umits. Use that bit for checks for internal unit
	initializations.
	* io/unit.c (insert_unit): As a precaution, set the
	internal_unit_kind to zero when a unit structure is first created.

From-SVN: r255362
2017-12-03 03:26:09 +00:00
GCC Administrator acffd4fd64 Daily bump.
From-SVN: r255361
2017-12-03 00:16:12 +00:00
Jan Hubicka e3951b0337 ipa-cp.c (ipcp_lattice<valtype>::print): Update dumping.
* ipa-cp.c (ipcp_lattice<valtype>::print): Update dumping.
	(update_specialized_profile): Fix updating of counts.
	(perhaps_add_new_callers): Likewise.

From-SVN: r255358
2017-12-02 09:48:24 +00:00
Jan Hubicka 4ca47ced33 re PR target/81616 (Update -mtune=generic for the current Intel and AMD processors)
PR target/81616
	* x86-tune.def: Remove obsolette FIXMEs.
	(X86_TUNE_PARTIAL_FLAG_REG_STALL): Disable for generic
	(X86_TUNE_FUSE_CMP_AND_BRANCH_32, X86_TUNE_FUSE_CMP_AND_BRANCH_64,
	X86_TUNE_FUSE_CMP_AND_BRANCH_SOFLAGS, X86_TUNE_FUSE_ALU_AND_BRANCH):
	Enable for generic.
	(X86_TUNE_PAD_RETURNS): Disable for generic.
	* gcc.target/i386/pad-1.c: Compile for amdfam10.
	* gcc.target/i386/align-limit.c: Likewise.

From-SVN: r255357
2017-12-02 09:22:41 +00:00
Jakub Jelinek 30fa8e9c06 re PR tree-optimization/83170 (ICE: Segmentation fault - during GIMPLE pass: store-merging)
PR tree-optimization/83170
	PR tree-optimization/83241
	* gimple-ssa-store-merging.c
	(imm_store_chain_info::try_coalesce_bswap): Update vuse field from
	gimple_vuse (ins_stmt) in case it has changed.
	(imm_store_chain_info::output_merged_store): Likewise.

	* gcc.dg/store_merging_17.c: New test.

From-SVN: r255356
2017-12-02 08:58:57 +01:00
Jakub Jelinek edb48cdb9f tree-chkp.c (chkp_compute_bounds_for_assignment): Handle POINTER_DIFF_EXPR.
* tree-chkp.c (chkp_compute_bounds_for_assignment): Handle
	POINTER_DIFF_EXPR.

	* gcc.target/i386/mpx/pointer-diff-1.c: New test.

From-SVN: r255355
2017-12-02 08:58:05 +01:00
Jakub Jelinek 38651b523d re PR sanitizer/81212 (-Wreturn-type is disabled when used together with -fsanitize=return)
PR c++/81212
	* tree-cfg.c (pass_warn_function_return::execute): Handle
	__builtin_ubsan_handle_missing_return like __builtin_unreachable
	with BUILTINS_LOCATION.

	* g++.dg/ubsan/pr81212.C: New test.
	* g++.dg/ubsan/return-1.C: Add -Wno-return-type to dg-options.
	* g++.dg/ubsan/return-2.C: Likewise.
	* g++.dg/ubsan/return-7.C: Likewise.

From-SVN: r255354
2017-12-02 08:57:04 +01:00
Jakub Jelinek e034c5c895 re PR target/78643 (ICE in convert_move, at expr.c:230)
PR target/78643
	PR target/80583
	* expr.c (get_inner_reference): If DECL_MODE of a non-bitfield
	is BLKmode for vector field with vector raw mode, use TYPE_MODE
	instead of DECL_MODE.

	* gcc.target/i386/pr80583.c: New test.

From-SVN: r255353
2017-12-02 08:54:47 +01:00
Jakub Jelinek 3b5e1089fe i386-protos.h (standard_sse_constant_opcode): Change last argument to rtx pointer.
* config/i386/i386-protos.h (standard_sse_constant_opcode): Change
	last argument to rtx pointer.
	* config/i386/i386.c (standard_sse_constant_opcode): Replace X argument
	with OPERANDS.  For AVX+ 128-bit VEX encoded instructions over 256-bit
	or 512-bit.  If setting EXT_REX_SSE_REG_P, use EVEX encoded insn
	depending on the chosen ISAs.
	* config/i386/i386.md (*movxi_internal_avx512f, *movoi_internal_avx,
	*movti_internal, *movdi_internal, *movsi_internal, *movtf_internal,
	*movdf_internal, *movsf_internal): Adjust standard_sse_constant_opcode
	callers.
	* config/i386/sse.md (mov<mode>_internal): Likewise.
	* config/i386/mmx.md (*mov<mode>_internal): Likewise.

From-SVN: r255352
2017-12-02 08:37:50 +01:00
Segher Boessenkool 3adbbd5b97 doc update for -dp
* doc/invoke.texi (-dp): Say that instruction cost is printed as well.

From-SVN: r255351
2017-12-02 03:03:19 +01:00
Segher Boessenkool 0bcd172e9d rs6000: Improve fusion assembler output
This improves the output for load and store fusion a little.  In most
cases it removes the comment output, because that makes the generated
assembler code hard to read, and equivalent info is available with -dp
anyway.  For the vector loads it puts the comment on the second insn,
where it doesn't interfere with other debug comments.


	* config/rs6000/rs6000-protos.h (emit_fusion_addis): Remove last two
	parameters from prototype.
	* config/rs6000/rs6000.c (emit_fusion_addis): Remove last two
	parameters.  Don't print a comment.
	(emit_fusion_gpr_load): Adjust.
	(emit_fusion_load_store): Adjust.
	* config/rs6000/rs6000.md (*fusion_p9_<mode>_constant): Adjust.
	* config/rs6000/vsx.md (two peepholes): Print the "vector load fusion"
	comment on the second line.

gcc/testsuite/
	* gcc.target/powerpc/fusion.c: Add -dp to options.  Adjust the expected
	output.
	* gcc.target/powerpc/fusion3.c: Ditto.
	* gcc.target/powerpc/fusion4.c: Ditto.

From-SVN: r255350
2017-12-02 02:33:39 +01:00
Segher Boessenkool 81094bcb45 rs6000: Set rs6000_cpu correctly (PR43871)
We set rs6000_cpu based on tune_index, but it should be cpu_index.
This patch fixes it.


	PR target/43871
	* config/rs6000/rs6000.c (rs6000_option_override_internal): Set
	rs6000_cpu based on cpu_index, not tune_index.

From-SVN: r255349
2017-12-02 02:23:41 +01:00
Segher Boessenkool dff125ebb5 final: Improve output for -dp and -fverbose-asm
This improves the assembler output (for -dp and -fverbose-asm) in
several ways.  It always prints the insn_cost.  It does not print
"[length = NN]" but "[c=NN l=NN]", to save space.  It does not add one
to the instruction alternative number (everything else starts counting
those at 0, too).  And finally, it tries to keep things lined up in
columns a bit better.


	* final.c (output_asm_name): Print insn_cost.  Shorten output.  Print
	which_alternative instead of which_alternative + 1.
	(output_asm_insn): Print an extra tab if the template is short.

From-SVN: r255348
2017-12-02 02:20:08 +01:00
Ian Lance Taylor 79c9f76563 runtime: export cgoCheck functions
The functions cgoCheckPointer and cgoCheckResult are called by code
    generated by cgo. That means that we need to export them using
    go:linkname, as otherwise they are local symbols. The cgo code
    currently uses weak references to only call the symbols if they are
    defined, which is why it has been working--the cgo code has not been
    doing any checks.
    
    Reviewed-on: https://go-review.googlesource.com/80295

From-SVN: r255347
2017-12-02 00:46:00 +00:00
Ian Lance Taylor 9638589faf compiler: avoid GCC middle-end control warnings
GCC has started emitting "control reaches end of non-void function"
    warnings. Avoid them for Go by 1) marking the builtin function panic
    and the compiler-generated function __go_runtime_error as not
    returning and 2) adding a default case to the switch used for select
    statements that simply calls __builtin_unreachable.
    
    Fixes golang/go#22767
    
    Reviewed-on: https://go-review.googlesource.com/80416

	* go-gcc.cc (Gcc_backend::Gcc_backend): Define
	__builtin_unreachable.
	(Gcc_backend::function): Add does_not_return parameter.

From-SVN: r255346
2017-12-02 00:38:54 +00:00
Jim Wilson d7d5f241f0 Delete obsolete DWARF1 references.
gcc/
	* common.opt (use_gnu_debug_info_extensions): Delete DWARF_DEBUG from
	comment.
	* config/vx-common.h (DWARF_DEBUGGING_INFO): Delete undef.
	* doc/tm.texi.in (PREFERRED_DEBUGGING_TYPE): Delete DWARF_DEBUG
	reference.
	* doc/tm.texi: Regenerate.

From-SVN: r255345
2017-12-01 16:24:36 -08:00
GCC Administrator 8d7de03993 Daily bump.
From-SVN: r255344
2017-12-02 00:16:15 +00:00
Michael Meissner b2db7624af re PR target/81959 (PowerPC __float128 optimization fails with integer PRE_INC addresses)
[gcc]
2017-12-01  Michael Meissner  <meissner@linux.vnet.ibm.com>

	PR target/81959
	* config/rs6000/rs6000.c (rs6000_address_for_fpconvert): Check for
	whether we can allocate pseudos before trying to fix an address.
	* config/rs6000/rs6000.md (float_<mode>si2_hw): Make sure the
	memory address is indexed or indirect.
	(floatuns_<mode>si2_hw2): Likewise.

[gcct/testsuite]
2017-12-01  Michael Meissner  <meissner@linux.vnet.ibm.com>

	PR target/81959
	* gcc.target/powerpc/pr81959.c: New test.

From-SVN: r255341
2017-12-01 23:52:20 +00:00
Than McIntosh 92f0112cab compiler: introduce size threshold for nil checks
Add a new control variable to the Gogo class that stores the size
    threshold for nil checks. This value can be used to control the
    policy for deciding when a given deference operation needs a check and
    when it does not. A size threshold of -1 means that every potentially
    faulting dereference needs an explicit check (and branch to error
    call). A size threshold of K (where K > 0) means that if the size of
    the object being dereferenced is >= K, then we need a check.
    
    Reviewed-on: https://go-review.googlesource.com/80996

	* go-c.h (go_create_gogo_args): Add nil_check_size_threshold
	field.
	* go-lang.c (go_langhook_init): Set nil_check_size_threshold.

From-SVN: r255340
2017-12-01 23:12:13 +00:00
Jason Merrill 19041dad9b * doc/extend.texi: Mention C++14 library complex suffix.
From-SVN: r255339
2017-12-01 16:17:32 -05:00
Jason Merrill b3e862e09c Give #include hints for <complex>.
* name-lookup.c (get_std_name_hint): Add <complex>.
	* parser.c (cp_parser_diagnose_invalid_type_name): Call
	suggest_alternative_in_explicit_scope.
	(cp_parser_namespace_name): Likewise.

From-SVN: r255336
2017-12-01 15:19:13 -05:00
Jason Merrill f2b8b8adba PR c++/79228 - extensions hide C++14 complex literal operators
libcpp/
	* expr.c (interpret_float_suffix): Ignore 'i' in C++14 and up.
	(interpret_int_suffix): Likewise.
gcc/cp/
	* parser.c (cp_parser_userdef_numeric_literal): Be helpful about
	'i' in C++14 and up.

From-SVN: r255335
2017-12-01 15:19:07 -05:00
Jason Merrill 0951904f49 * Makefile.in (TAGS): Add c-family/*.cc.
From-SVN: r255334
2017-12-01 15:19:01 -05:00
Wilco Dijkstra d65912578b [AArch64] Fix address printing on ILP32
Fix address printing for ILP32.  The md file uses 'a' in assembler
templates for symbolic addresses in adrp/add, which end up calling
aarch64_print_operand_address.  However in ILP32 these are not valid
memory addresses (being ptr_mode rather than Pmode), so the assert
triggers.  Since it is incorrect to use symbols in memory addresses
(besides literal pool accesses), change the 'a' to 'c' in the md file.

Skip one failing test in ILP32 which combines the 'p' modifier with the 'a'
assembler template to fake a memory reference.

    gcc/
	* config/aarch64/aarch64.md (call_insn): Use %c rather than %a.
	(call_value_insn): Likewise.
	(sibcall_insn): Likewise.
	(sibcall_value_insn): Likewise.
	(movsi_aarch64): Likewise.
	(movdi_aarch64): Likewise.
	(add_losym_): Likewise.
	(ldr_got_small_): Likewise.
	(ldr_got_small_sidi): Likewise.
	(ldr_got_small_28k_): Likewise.
	(ldr_got_small_28k_sidi): Likewise.
	* config/aarch64/aarch64.c (aarch64_print_address_internal):
	Move output_addr_const to symbolic case. Add error check.
    testsuite/
	* gcc.dg/asm-4.c: Skip on AArch64 with ILP32 as test is incorrect.

From-SVN: r255333
2017-12-01 19:54:29 +00:00
Qing Zhao 8a302cb2b3 Fix an undefined behavior in fortran/decl.c
From-SVN: r255332
2017-12-01 18:20:45 +00:00
Thomas Koenig 1cde289f1c re PR fortran/83224 (creating character array from elements shorter than declared does not pad with whitespace properly and aborts)
2017-12-01  Thomas Koenig  <tkoenig@gcc.gnu.org>

	PR fortran/83224
	* frontend-passes.c (create_var): Also handle
	character arrays, handling deferred lenghts.

2017-12-01  Thomas Koenig  <tkoenig@gcc.gnu.org>

	PR fortran/83224
	* gfortran.dg/dependency_51.f90: New test.

From-SVN: r255331
2017-12-01 18:06:31 +00:00
Jonathan Wakely ad8fda29e6 Fix narrowing conversions in string_view types
* include/experimental/string_view (basic_string_view::_S_compare):
	Use value-init so narrowing conversions are not ill-formed.
	* include/std/string_view (basic_string_view::_S_compare): Likewise.

From-SVN: r255321
2017-12-01 16:10:31 +00:00
Jonathan Wakely f03858e51d Disable -Wliteral-suffix for standard UDLs
* include/bits/basic_string.h (operator""s): Add pragmas to disable
	-Wliteral-suffix warnings.
	* include/experimental/string_view (operator""sv): Likewise.
	* include/std/chrono (operator""h, operator""min, operator""s)
	(operator""ms, operator""us, operator""ns): Likewise.
	* include/std/complex (operator""if, operator""i, operator""il):
	Likewise.
	* include/std/string_view (operator""sv): Likewise.
	* testsuite/20_util/duration/literals/range.cc: Adjust dg-error.

From-SVN: r255320
2017-12-01 16:10:25 +00:00
Andreas Krebbel f9dcf14aae S/390: Split MVC instruction for better forwarding
Certain lengths used in an MVC instruction might disable operand
forwarding.  Split MVCs into up to 2 forwardable ones if possible.

gcc/ChangeLog:

2017-12-01  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>

	* config/s390/predicates.md (plus16_Q_operand): New predicate.
	* config/s390/s390.md: Disable MVC merging peephole if it would
	disable operand forwarding.
	(new peephole2): Split MVCs if it would turn them into up to 2
	forwardable MVCs.

From-SVN: r255319
2017-12-01 15:33:15 +00:00
Jonathan Wakely ccd9a1e0ef Add comment to fix -Wfallthrough warning
* include/bits/locale_facets_nonio.tcc (money_get::_M_extract): Add
	fallthrough comment.

From-SVN: r255318
2017-12-01 15:10:23 +00:00
Jonathan Wakely b7b61489b7 Fix -Wempty-body warnings for debug assertions
* include/bits/node_handle.h (_Node_handle_common::operator=)
	(_Node_handle_common::_M_swap): Add braces around debug assertions.

From-SVN: r255317
2017-12-01 15:10:20 +00:00
Jonathan Wakely f1338a2dcb Use const char* to fix -Wwrite-strings warning
* include/ext/ropeimpl.h (rope::_S_dump): Use const char*.

From-SVN: r255316
2017-12-01 15:10:16 +00:00
Jonathan Wakely c85d199208 Add [[noreturn]] attributes to fix warning
* libsupc++/nested_exception.h (__throw_with_nested_impl): Add
	noreturn attribute.

From-SVN: r255315
2017-12-01 15:10:13 +00:00
Jonathan Wakely 071f228fa3 Remove stray semi-colons at namespace scope
* include/bits/regex_executor.tcc (_Executor::_M_rep_once_more):
	Remove semi-colon after function body.
	* include/bits/uniform_int_dist.h (_Power_of_2): Likewise.

From-SVN: r255314
2017-12-01 15:10:09 +00:00
Jonathan Wakely e735008bf6 Use value-init syntax in std::__detail::__airy
* include/tr1/modified_bessel_func.tcc (__airy): Use value-init not
	list-init.

From-SVN: r255313
2017-12-01 15:10:06 +00:00
Jonathan Wakely 352111c5b1 Add noexcept to std::integral_constant members
* include/std/type_traits (integral_constant): Make member functions
	noexcept (LWG 2346).
	* include/std/utility (integer_sequence): Likewise.

From-SVN: r255312
2017-12-01 15:09:57 +00:00
Paul Thomas 276515e6ad re PR fortran/82605 ([PDT] ICE in insert_parameter_exprs, at fortran/decl.c:3154)
2017-12-01  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/82605
	* resolve.c (get_pdt_constructor): Initialize 'cons' to NULL.
	(resolve_pdt): Correct typo in prior comment. Emit an error if
	any parameters are deferred and the object is neither pointer
	nor allocatable.

	PR fortran/82606
	* decl.c (gfc_get_pdt_instance): Continue if the parameter sym
	is not present or has no name. Select the parameter by name
	of component, rather than component order. Remove all the other
	manipulations of 'tail' when building the pdt instance.
	(gfc_match_formal_arglist): Emit and error if a star is picked
	up in a PDT decl parameter list.

	PR fortran/82622
	* trans-array.c (set_loop_bounds): If a GFC_SS_COMPONENT has an
	info->end, use it rather than falling through to
	gcc_unreachable.
	(structure_alloc_comps): Check that param->name is non-null
	before comparing with the component name.
	* trans-decl.c (gfc_get_symbol_decl): Do not use the static
	initializer for PDT symbols.
	(gfc_init_default_dt): Do nothing for PDT symbols.
	* trans-io.c (transfer_array_component): Parameterized array
	components use the descriptor ubound since the shape is not
	available.

	PR fortran/82719
	PR fortran/82720
	* trans-expr.c (gfc_conv_component_ref): Do not use the charlen
	backend_decl of pdt strings. Use the hidden component instead.
	* trans-io.c (transfer_expr): Do not do IO on "hidden" string
	lengths. Use the hidden string length for pdt string transfers
	by adding it to the se structure. When finished nullify the
	se string length.

	PR fortran/82866
	* decl.c (gfc_match_formal_arglist): If a name is not found or
	star is found, while reading a type parameter list, emit an
	immediate error.
	(gfc_match_derived_decl): On reading a PDT parameter list, on
	failure to match call gfc_error_recovery.

	PR fortran/82978
	* decl.c (build_struct): Character kind defaults to 1, so use
	kind_expr whatever is the set value.
	(gfc_get_pdt_instance): Ditto.
	* trans-array.c (structure_alloc_comps): Copy the expression
	for the PDT string length before parameter substitution. Use
	this expression for evaluation and free it after use.

2017-12-01  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/82605
	* gfortran.dg/pdt_4.f03 : Incorporate the new error.

	PR fortran/82606
	* gfortran.dg/pdt_19.f03 : New test.
	* gfortran.dg/pdt_21.f03 : New test.

	PR fortran/82622
	* gfortran.dg/pdt_20.f03 : New test.
	* gfortran.dg/pdt_22.f03 : New test.

	PR fortran/82719
	PR fortran/82720
	* gfortran.dg/pdt_23.f03 : New test.

	PR fortran/82866
	* gfortran.dg/pdt_24.f03 : New test.

	PR fortran/82978
	* gfortran.dg/pdt_10.f03 : Correct for error in coding the for
	kind 4 component and change the kind check appropriately.
	* gfortran.dg/pdt_25.f03 : New test.

From-SVN: r255311
2017-12-01 15:05:55 +00:00
Cesar Philippidis ebdc83f0a8 Fix bug in an OpenACC async test case
libgomp/
	* testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: Add missing
	call to acc_wait (1).

From-SVN: r255308
2017-12-01 06:26:07 -08:00
Richard Biener fb607032b8 re PR tree-optimization/83232 (fma3d spec2000 regression on zen with -Ofast (generic tuning) after r255268 by missed SLP oppurtunity)
2017-12-01  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/83232
	* tree-vect-data-refs.c (vect_analyze_data_ref_accesses): Fix
	detection of same access. Instead of breaking the group here
	do not consider the duplicate.  Add comment explaining real fix.

	* gfortran.dg/vect/pr83232.f90: New testcase.

From-SVN: r255307
2017-12-01 13:33:40 +00:00
Jonathan Wakely d5f9df6a08 Fix "central flowgraph" typo in machine desc docs
* doc/md.texi (Insn Splitting): Fix "central flowgraph" typo.

From-SVN: r255305
2017-12-01 13:31:23 +00:00
Sebastian Huber b7d4abef36 RTEMS/Ada: Fix some POSIX types
gcc/ada
	* libgnarl/s-osinte__rtems.ads (pthread_cond_t): Use correct size and
	alignment.
	(pthread_mutex_t): Likewise.
	(pthread_rwlock_t): Likewise.

From-SVN: r255302
2017-12-01 11:00:52 +00:00
Sudakshina Das 1500cb68c3 Fix wrong code by arm_final_prescan with fp16 move instructions
ChangeLog entry are as follow:

*** gcc/ChangeLog ***

2017-12-01  Sudakshina Das  <sudi.das@arm.com>

	* config/arm/vfp.md (*movhf_vfp_fp16): Add conds attribute.

*** gcc/testsuite/ChangeLog ***

2017-12-01  Sudakshina Das  <sudi.das@arm.com>

	* gcc.target/arm/armv8_2-fp16-move-2.c: New test.

From-SVN: r255301
2017-12-01 10:12:55 +00:00
Jakub Jelinek e76c715735 function.h (struct function): Remove cilk_frame_decl, is_cilk_function and calls_cilk_spawn fields.
* function.h (struct function): Remove cilk_frame_decl,
	is_cilk_function and calls_cilk_spawn fields.
	* tree-inline.h (struct copy_body_data): Remove remap_var_for_cilk
	field.
	* omp-simd-clone.c (simd_clone_clauses_extract): Don't clear
	cilk_elemental field.
	* cgraph.h (struct cgraph_simd_clone): Remove cilk_elemental field.
	* target.def: Adjust comment.
	* config/i386/i386.c (ix86_simd_clone_compute_vecsize_and_simdlen):
	Don't test cilk_elemental.
c-family/
	* c-attribs.c (c_common_attribute_table): Remove "cilk simd function"
	attribute.
	(handle_simd_attribute): Don't check for "cilk simd function"
	attribute.  Reindent, formatting changes.
cp/
	* parser.c (cp_parser_new): Don't clear cilk_simd_fn_info.
	(parsing_nsdmi): Adjust comment.
	(cp_parser_omp_for_loop_init): Likewise.
	* parser.h (struct cp_omp_declare_simd_data): Adjust comment.
	(struct cp_parser): Remove cilk_simd_fn_info field.
	* cp-tree.h (cilk_valid_spawn): Remove.

From-SVN: r255300
2017-12-01 09:20:41 +01:00
Jakub Jelinek bebadeca36 re PR tree-optimization/83233 (gimple-ssa-store-merging.c:183:3: warning: unnamed type with no linkage used to declare variable with linkage)
PR tree-optimization/83233
	* gimple-ssa-store-merging.c (nop_stats, bswap_stats): Use
	bswap_stat name for the struct.

From-SVN: r255299
2017-12-01 09:18:52 +01:00
Jakub Jelinek 65791f426f re PR c/79153 (-Wimplicit-fallthrough missed warning)
PR c/79153
	* tree.h (SWITCH_BREAK_LABEL_P): Define.
	* gimplify.c (collect_fallthrough_labels): Handle GIMPLE_BIND
	starting with a GIMPLE_SWITCH and ending with GIMPLE_LABEL with
	SWITCH_BREAK_LABEL_P set on the label.
	(gimplify_switch_expr): Set SWITCH_BREAK_LABEL_P on the label
	added for default case if it was missing and not all cases covered.
	Wrap GIMPLE_SWITCH and the switch_body_seq into a GIMPLE_BIND if
	switch_body_seq ends with a GIMPLE_LABEL with SWITCH_BREAK_LABEL_P
	set on the label.
	* tree-chrec.c (evolution_function_is_univariate_p): Add return true;
	to avoid -Wimplicit-fallthrough warning.
	* config/i386/i386.c (ix86_expand_special_args_builtin): Add
	FALLTHRU comment to avoid -Wimplicit-fallthrough warning.
c/
	* c-parser.c: Include tree-iterator.h.
	(c_parser_switch_statement): Emit LABEL_EXPR for the break label
	into SWITCH_BODY instead of after it and set SWITCH_BREAK_LABEL_P
	on it.
cp/
	* cp-gimplify.c (genericize_switch_stmt): Emit LABEL_EXPR for the
	break label into SWITCH_BODY instead of after it and set
	SWITCH_BREAK_LABEL_P on it.
	* parser.c (cp_parser_objc_expression): Add FALLTHRU comment to avoid
	-Wimplicit-fallthrough warning.
fortran/
	* match.c (gfc_match): Add FALLTHRU comment to avoid
	-Wimplicit-fallthrough warning.
testsuite/
	* c-c++-common/Wimplicit-fallthrough-7.c: Adjust expected warning
	line.
	* c-c++-common/Wimplicit-fallthrough-36.c: New test.

From-SVN: r255298
2017-12-01 09:17:06 +01:00
Jakub Jelinek 5ac4b05631 re PR tree-optimization/83221 (qsort comparator not anti-commutative: -2147483648, -2147483648)
PR tree-optimization/83221
	* tree-ssa-reassoc.c (sort_by_operand_rank): Shift bb_rank
	down by 16.
	(init_reassoc): Formatting fix.

From-SVN: r255297
2017-12-01 09:14:21 +01:00
Jakub Jelinek 9ede7b1bf0 re PR sanitizer/81275 (-fsanitize=thread produce incorrect -Wreturn-type warning)
PR sanitizer/81275
	* tree-cfg.c (group_case_labels_stmt): Don't optimize away
	C++ FE implicitly added __builtin_unreachable () until -Wreturn-type
	is diagnosed.

	* c-c++-common/tsan/pr81275.c: Remove dg-skip-if.

From-SVN: r255296
2017-12-01 09:11:56 +01:00