Commit Graph

159074 Commits

Author SHA1 Message Date
Uros Bizjak 49bb43bef3 re PR rtl-optimization/83628 (performance regression when accessing arrays on alpha)
PR target/83628
	* combine.c (force_int_to_mode) <case ASHIFT>: Use mode instead of
	op_mode in the force_to_mode call.

From-SVN: r256387
2018-01-09 17:27:11 +01:00
Richard Sandiford 326ac20ea3 [AArch64] Use vec_perm_indices helper routines
This patch makes the AArch64 vec_perm_const code use the new
vec_perm_indices routines, instead of checking each element individually.
This means that they extend naturally to variable-length vectors.

Also, aarch64_evpc_dup was the only function that generated rtl when
testing_p is true, and that looked accidental.  The patch adds the
missing check and then replaces the gen_rtx_REG/start_sequence/
end_sequence stuff with an assert that no rtl is generated.

2018-01-09  Richard Sandiford  <richard.sandiford@linaro.org>

gcc/
	* config/aarch64/aarch64.c (aarch64_evpc_trn): Use d.perm.series_p
	instead of checking each element individually.
	(aarch64_evpc_uzp): Likewise.
	(aarch64_evpc_zip): Likewise.
	(aarch64_evpc_ext): Likewise.
	(aarch64_evpc_rev): Likewise.
	(aarch64_evpc_dup): Test the encoding for a single duplicated element,
	instead of checking each element individually.  Return true without
	generating rtl if
	(aarch64_vectorize_vec_perm_const): Use all_from_input_p to test
	whether all selected elements come from the same input, instead of
	checking each element individually.  Remove calls to gen_rtx_REG,
	start_sequence and end_sequence and instead assert that no rtl is
	generated.

From-SVN: r256385
2018-01-09 14:31:55 +00:00
Richard Sandiford 509bb9b647 [AArch64] Reject (high (const (plus anchor offset)))
The aarch64_legitimate_constant_p tests for HIGH and CONST seem
to be the wrong way round: (high (const ...)) is valid rtl that
could be passed in, but (const (high ...)) isn't.  As it stands,
we disallow anchor+offset but allow (high anchor+offset).

2018-01-09  Richard Sandiford  <richard.sandiford@linaro.org>

gcc/
	* config/aarch64/aarch64.c (aarch64_legitimate_constant_p): Fix
	order of HIGH and CONST checks.

From-SVN: r256384
2018-01-09 14:31:25 +00:00
Richard Sandiford 7ad429a4de Fix permute handling when vectorising scatters
As mentioned in https://gcc.gnu.org/ml/gcc-patches/2017-11/msg01575.html ,
the scatter handling in vectorizable_store seems to be dead code at the
moment.  Enabling it with the vect_analyze_data_ref_access part of
that patch triggered an ICE in the avx512f-scatter-*.c tests (which
previously didn't use scatters).  The problem was that the NARROW
and WIDEN handling uses permute_vec_elements to marshal the inputs,
and permute_vec_elements expected the lhs of the stmt to be an SSA_NAME,
which of course it isn't for stores.

This patch makes permute_vec_elements create a fresh variable in this case.

2018-01-09  Richard Sandiford  <richard.sandiford@linaro.org>

gcc/
	* tree-vect-stmts.c (permute_vec_elements): Create a fresh variable
	if the destination isn't an SSA_NAME.

From-SVN: r256383
2018-01-09 14:30:27 +00:00
Richard Biener 82c066f587 re PR tree-optimization/83668 (wrong code with -O -fno-tree-dominator-opts -fgraphite-identity)
2018-01-09  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/83668
	* graphite.c (canonicalize_loop_closed_ssa): Add edge argument,
	move prologue...
	(canonicalize_loop_form): ... here, renamed from ...
	(canonicalize_loop_closed_ssa_form): ... this and amended to
	swap successor edges for loop exit blocks to make us use
	the RPO order we need for initial schedule generation.

	* gcc.dg/graphite/pr83668.c: New testcase.

From-SVN: r256381
2018-01-09 13:35:43 +00:00
Joseph Myers e96a5786c7 Fix folding of Inf/NaN comparisons for -ftrapping-math (PR tree-optimization/64811).
The folding of comparisons against Inf (to constants or comparisons
with the maximum finite value) has various cases where it introduces
or loses "invalid" exceptions for comparisons with NaNs.

Folding x > +Inf to 0 should not be about HONOR_SNANS - ordered
comparisons of both quiet and signaling NaNs should raise invalid.

x <= +Inf is not the same as x == x, because again that loses an
exception (equality comparisons don't raise exceptions except for
signaling NaNs).

x == +Inf is not the same as x > DBL_MAX, and a similar issue applies
with the x != +Inf case - that transformation causes a spurious
exception.

This patch fixes the conditionals on the folding to avoid such
introducing or losing exceptions.

Bootstrapped with no regressions on x86_64-pc-linux-gnu (where the
cases involving spurious exceptions wouldn't have failed anyway before
GCC 8 because of unordered comparisons wrongly always having formerly
been used by the back end).  Also tested for powerpc-linux-gnu
soft-float that this fixes many glibc math/ test failures that arose
in that configuration because this folding affected the IBM long
double support in libgcc (no such failures appeared for hard-float
because of the bug of powerpc hard-float always using unordered
comparisons) - some failures remain, but I believe them to be
unrelated.

	PR tree-optimization/64811
gcc:
	* match.pd: When optimizing comparisons with Inf, avoid
	introducing or losing exceptions from comparisons with NaN.

gcc/testsuite:
	* gcc.dg/torture/inf-compare-1.c, gcc.dg/torture/inf-compare-2.c,
	gcc.dg/torture/inf-compare-3.c, gcc.dg/torture/inf-compare-4.c,
	gcc.dg/torture/inf-compare-5.c, gcc.dg/torture/inf-compare-6.c,
	gcc.dg/torture/inf-compare-7.c, gcc.dg/torture/inf-compare-8.c:
	New tests.
	* gcc.c-torture/execute/ieee/fp-cmp-7.x: New file.

From-SVN: r256380
2018-01-09 13:25:38 +00:00
Martin Liska aa5bfa8d5d Add gcc_assert about stack alignment (PR sanitizer/82517).
2018-01-09  Martin Liska  <mliska@suse.cz>

	PR sanitizer/82517
	* asan.c (shadow_mem_size): Add gcc_assert.

From-SVN: r256378
2018-01-09 11:47:26 +00:00
Georg-Johann Lay 684684c628 re PR target/79883 (avr i18n: untranslated "interrupt" or "signal")
PR target/79883
	* gcc.target/avr/torture/pr57631.c (dg-warning): Quote 'signal'.

From-SVN: r256376
2018-01-09 11:27:34 +00:00
Tamar Christina f676330e22 re PR target/82641 (Unable to enable crc32 for a certain function with target attribute on ARM (aarch32))
2018-01-09  Tamar Christina  <tamar.christina@arm.com>                                                                          

        PR target/82641
        * gcc.target/arm/pragma_fpu_attribute.c: Rewrite to use
        no NEON and require softfp or hard float-abi.
        * gcc.target/arm/pragma_fpu_attribute_2.c: Likewise.

From-SVN: r256375
2018-01-09 11:04:50 +00:00
Georg-Johann Lay 1f1229d542 typo
From-SVN: r256374
2018-01-09 10:40:06 +00:00
Georg-Johann Lay dcbe917013 Don't save registers in main().
gcc/
	Don't save registers in main().
	PR target/83737
	* doc/invoke.texi (AVR Options) [-mmain-is-OS_task]: Document it.
	* config/avr/avr.opt (-mmain-is-OS_task): New target option.
	* config/avr/avr.c (avr_set_current_function): Don't error if
	naked, OS_task or OS_main are specified at the same time.
	(avr_function_ok_for_sibcall): Don't disable sibcalls for OS_task,
	OS_main.
	(avr_insert_attributes) [-mmain-is-OS_task] <main>: Add OS_task
	attribute.
	* common/config/avr/avr-common.c (avr_option_optimization_table):
	Switch on -mmain-is-OS_task for optimizing compilations.

From-SVN: r256373
2018-01-09 10:38:45 +00:00
Richard Biener b25f84d0ff re PR tree-optimization/83572 ([graphite] ICE in verify_dominators, at dominance.c:1184 (error: dominator of 7 should be 15, not 13))
2018-01-09  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/83572
	* graphite.c: Include cfganal.h.
	(graphite_transform_loops): Connect infinite loops to exit
	and remove fake edges at the end.

	* gcc.dg/graphite/pr83572.c: New testcase.

From-SVN: r256372
2018-01-09 08:55:26 +00:00
Jan Hubicka b1a0199b64 * ipa-inline.c (edge_badness): Revert accidental checkin.
From-SVN: r256370
2018-01-09 08:37:12 +00:00
Jan Hubicka 6291062f31 re PR c++/80763 (-O3 causes error: inline clone in same comdat group list)
PR ipa/80763
	* ipa-comdats.c (set_comdat_group): Only set comdat group of real
	symbols; not inline clones.

From-SVN: r256369
2018-01-09 08:22:28 +00:00
Jakub Jelinek 3a123ed751 re PR target/83507 (ICE in internal_dfa_insn_code_* for powerpc targets)
PR target/83507
	* modulo-sched.c (schedule_reg_moves): Punt if we'd need to move
	hard registers.  Formatting fixes.

	* gcc.dg/sms-13.c: New test.

From-SVN: r256368
2018-01-09 09:03:45 +01:00
Jakub Jelinek 5190f1f98d re PR preprocessor/83722 (the ICE dumper doesn't comment-out some error messages)
PR preprocessor/83722
	* gcc.c (try_generate_repro): Pass
	&temp_stderr_files[RETRY_ICE_ATTEMPTS - 1] rather than
	&temp_stdout_files[RETRY_ICE_ATTEMPTS - 1] as last argument to
	do_report_bug.

From-SVN: r256367
2018-01-09 09:02:01 +01:00
Steven G. Kargl 5e884ae3bd re PR fortran/83741 (ICE in gfc_match_allocate, at fortran/match.c:4074)
2018-01-08  Steven G. Kargl  <kargl@gcc.gnu.org>

	PR Fortran/83741
	* gfortran.dg/allocate_assumed_charlen_3.f90: New test.

From-SVN: r256366
2018-01-09 01:26:17 +00:00
Ian Lance Taylor 1a2f01efa6 libgo: update to Go1.10beta1
Update the Go library to the 1.10beta1 release.
    
    Requires a few changes to the compiler for modifications to the map
    runtime code, and to handle some nowritebarrier cases in the runtime.
    
    Reviewed-on: https://go-review.googlesource.com/86455

gotools/:
	* Makefile.am (go_cmd_vet_files): New variable.
	(go_cmd_buildid_files, go_cmd_test2json_files): New variables.
	(s-zdefaultcc): Change from constants to functions.
	(noinst_PROGRAMS): Add vet, buildid, and test2json.
	(cgo$(EXEEXT)): Link against $(LIBGOTOOL).
	(vet$(EXEEXT)): New target.
	(buildid$(EXEEXT)): New target.
	(test2json$(EXEEXT)): New target.
	(install-exec-local): Install all $(noinst_PROGRAMS).
	(uninstall-local): Uninstasll all $(noinst_PROGRAMS).
	(check-go-tool): Depend on $(noinst_PROGRAMS).  Copy down
	objabi.go.
	(check-runtime): Depend on $(noinst_PROGRAMS).
	(check-cgo-test, check-carchive-test): Likewise.
	(check-vet): New target.
	(check): Depend on check-vet.  Look at cmd_vet-testlog.
	(.PHONY): Add check-vet.
	* Makefile.in: Rebuild.

From-SVN: r256365
2018-01-09 01:23:08 +00:00
Steven G. Kargl 8799df67f2 match.c (gfc_match_allocate): Check for NULL pointer.
2018-01-08  Steven G. Kargl  <kargl@gcc.gnu.org>

	* match.c (gfc_match_allocate): Check for NULL pointer.

From-SVN: r256364
2018-01-09 01:17:50 +00:00
Jim Wilson c8a0c7b660 RISC-V: Fix -msave-restore bug with sibcalls.
2018-01-08  Monk Chiang  <sh.chiang04@gmail.com>
		    Kito Cheng  <kito.cheng@gmail.com>

	gcc/
	* config/riscv/riscv.c (machine_function::is_leaf): Remove field.
	(riscv_leaf_function_p): Delete.
	(riscv_function_ok_for_sibcall): Return false when TARGET_SAVE_RESTORE.

	2018-01-08  Chih-Mao Chen <pkmx.tw@gmail.com>
		    Monk Chiang  <sh.chiang04@gmail.com>

	gcc/testsuite/
	* gcc.target/riscv/save-restore-1.c: New.

From-SVN: r256362
2018-01-08 16:45:46 -08:00
GCC Administrator b48ae4b080 Daily bump.
From-SVN: r256361
2018-01-09 00:16:20 +00:00
Bill Schmidt a25811c885 re PR target/83677 (PPC: The xxpermr instruction is not generated correctly)
[gcc]

2018-01-08  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

	PR target/83677
	* config/rs6000/altivec.md (*altivec_vpermr_<mode>_internal):
	Reverse order of second and third operands in first alternative.
	* config/rs6000/rs6000.c (rs6000_expand_vector_set): Reverse order
	of first and second elements in UNSPEC_VPERMR vector.
	(altivec_expand_vec_perm_le): Likewise.

[gcc/testsuite]

2018-01-08  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

	PR target/83677
	* gcc.target/powerpc/pr83677.c: New file.

From-SVN: r256358
2018-01-08 23:08:34 +00:00
Michael Meissner 68df9882b2 quad-float128.h (IBM128_TYPE): Explicitly use __ibm128, instead of trying to use long double.
2018-01-08  Michael Meissner  <meissner@linux.vnet.ibm.com>

	* config/rs6000/quad-float128.h (IBM128_TYPE): Explicitly use
	__ibm128, instead of trying to use long double.
	(CVT_FLOAT128_TO_IBM128): Use TFtype instead of __float128 to
	accomidate -mabi=ieeelongdouble multilibs.
	(CVT_IBM128_TO_FLOAT128): Likewise.
	* config/rs6000/ibm-ldouble.c (IBM128_TYPE): New macro to define
	the appropriate IBM extended double type.
	(__gcc_qadd): Change all occurances of long double to IBM128_TYPE.
	(__gcc_qsub): Likewise.
	(__gcc_qmul): Likewise.
	(__gcc_qdiv): Likewise.
	(pack_ldouble): Likewise.
	(__gcc_qneg): Likewise.
	(__gcc_qeq): Likewise.
	(__gcc_qne): Likewise.
	(__gcc_qge): Likewise.
	(__gcc_qle): Likewise.
	(__gcc_stoq): Likewise.
	(__gcc_dtoq): Likewise.
	(__gcc_itoq): Likewise.
	(__gcc_utoq): Likewise.
	(__gcc_qunord): Likewise.
	* config/rs6000/_mulkc3.c (toplevel): Include soft-fp.h and
	quad-float128.h for the definitions.
	(COPYSIGN): Use the f128 version instead of the q version.
	(INFINITY): Likewise.
	(__mulkc3): Use TFmode/TCmode for float128 scalar/complex types.
	* config/rs6000/_divkc3.c (toplevel): Include soft-fp.h and
	quad-float128.h for the definitions.
	(COPYSIGN): Use the f128 version instead of the q version.
	(INFINITY): Likewise.
	(FABS): Likewise.
	(__divkc3): Use TFmode/TCmode for float128 scalar/complex types.
	* config/rs6000/extendkftf2-sw.c (__extendkftf2_sw): Likewise.
	* config/rs6000/trunctfkf2-sw.c (__trunctfkf2_sw): Likewise.

From-SVN: r256354
2018-01-08 22:11:24 +00:00
Michael Meissner d5eea0f7cc quad-float128.h (IBM128_TYPE): Explicitly use __ibm128, instead of trying to use long double.
2018-01-08  Michael Meissner  <meissner@linux.vnet.ibm.com>

	* config/rs6000/quad-float128.h (IBM128_TYPE): Explicitly use
	__ibm128, instead of trying to use long double.
	(CVT_FLOAT128_TO_IBM128): Use TFtype instead of __float128 to
	accomidate -mabi=ieeelongdouble multilibs.
	(CVT_IBM128_TO_FLOAT128): Likewise.
	* config/rs6000/ibm-ldouble.c (IBM128_TYPE): New macro to define
	the appropriate IBM extended double type.
	(__gcc_qadd): Change all occurances of long double to IBM128_TYPE.
	(__gcc_qsub): Likewise.
	(__gcc_qmul): Likewise.
	(__gcc_qdiv): Likewise.
	(pack_ldouble): Likewise.
	(__gcc_qneg): Likewise.
	(__gcc_qeq): Likewise.
	(__gcc_qne): Likewise.
	(__gcc_qge): Likewise.
	(__gcc_qle): Likewise.
	(__gcc_stoq): Likewise.
	(__gcc_dtoq): Likewise.
	(__gcc_itoq): Likewise.
	(__gcc_utoq): Likewise.
	(__gcc_qunord): Likewise.
	* config/rs6000/_mulkc3.c (toplevel): Include soft-fp.h and
	quad-float128.h for the definitions.
	(COPYSIGN): Use the f128 version instead of the q version.
	(INFINITY): Likewise.
	(__mulkc3): Use TFmode/TCmode for float128 scalar/complex types.
	* config/rs6000/_divkc3.c (toplevel): Include soft-fp.h and
	quad-float128.h for the definitions.
	(COPYSIGN): Use the f128 version instead of the q version.
	(INFINITY): Likewise.
	(FABS): Likewise.
	(__divkc3): Use TFmode/TCmode for float128 scalar/complex types.
	* config/rs6000/extendkftf2-sw.c (__extendkftf2_sw): Likewise.
	* config/rs6000/trunctfkf2-sw.c (__trunctfkf2_sw): Likewise.

From-SVN: r256353
2018-01-08 21:49:37 +00:00
Steven G. Kargl a4f759de23 expr.c (gfc_check_pointer_assign): Fix typo in comment.
2018-01-08  Steven G. Kargl  <kargl@gcc.gnu.org>

	* expr.c (gfc_check_pointer_assign): Fix typo in comment.

From-SVN: r256352
2018-01-08 20:48:26 +00:00
Aaron Sawdey 5ec3397e38 rs6000-string.c (do_load_for_compare_from_addr): New function.
2018-01-08  Aaron Sawdey  <acsawdey@linux.vnet.ibm.com>

	* config/rs6000/rs6000-string.c (do_load_for_compare_from_addr): New
	function.
	(do_ifelse): New function.
	(do_isel): New function.
	(do_sub3): New function.
	(do_add3): New function.
	(do_load_mask_compare): New function.
	(do_overlap_load_compare): New function.
	(expand_compare_loop): New function.
	(expand_block_compare): Call expand_compare_loop() when appropriate.
	* config/rs6000/rs6000.opt (-mblock-compare-inline-limit): Change
	option description.
	(-mblock-compare-inline-loop-limit): New option.

From-SVN: r256351
2018-01-08 13:37:33 -06:00
Jeff Law 5a2a87e1e2 re PR rtl-optimization/81308 (ICE in calc_dfs_tree, at dominance.c:458)
PR rtl-optimizatin/81308
	* tree-switch-conversion.c (cfg_altered): New file scoped static.
	(process_switch): If group_case_labels makes a change, then set
	cfg_altered.
	(pass_convert_switch::execute): If a switch is converted, then
	set cfg_altered.  Return TODO_cfg_cleanup if cfg_altered is true.

	PR rtl-optimizatin/81308
	* g++.dg/pr81308-1.C: New test.
	* g++.dg/pr81308-2.C: New test.

From-SVN: r256349
2018-01-08 11:20:21 -07:00
Jeff Law b9a4d2ba48 re PR rtl-optimization/81308 (ICE in calc_dfs_tree, at dominance.c:458)
PR rtl-optimization/81308
	* recog.c (split_all_insns): Conditionally cleanup the CFG after
	splitting insns.

From-SVN: r256348
2018-01-08 11:17:51 -07:00
Aaron Sawdey 7f047768f2 rs6000.c (rs6000_legitimate_combined_insn): Updated with the new names of the branch decrement patterns...
* config/rs6000/rs6000.c (rs6000_legitimate_combined_insn): Updated
	with the new names of the branch decrement patterns, and added the
	names of the branch decrement conditional patterns.

From-SVN: r256347
2018-01-08 10:35:31 -06:00
Vidya Praveen 647c61f1c4 PR target/83663 - Revert r255946
gcc/

2018-01-08  Vidya Praveen  <vidyapraveen@arm.com>

	PR target/83663 - Revert r255946
	* config/aarch64/aarch64.c (aarch64_expand_vector_init): Modify code
	generation for cases where splatting a value is not useful.
	* simplify-rtx.c (simplify_ternary_operation): Simplify vec_merge
	across a vec_duplicate and a paradoxical subreg forming a vector
	mode to a vec_concat.

gcc/testsuite/

2018-01-08  Vidya Praveen  <vidyapraveen@arm.com>

	PR target/83663 - Revert r255946
	* gcc.target/aarch64/vect-slp-dup.c: New.

From-SVN: r256346
2018-01-08 16:24:49 +00:00
Kyrylo Tkachov a00a42220e [arm] Add -march=armv8.3-a and dotprod multilib selection rules
We don't have the t-aprofile, t-multilib and t-arm-elf mapping
rules for multilibs when using the variants of -march=armv8.3-a
and the dotproduct extension.
This patch adds them. -march=armv8.3-a behaves in the same
way as -march=armv8.2-a in this regard.

Bootstrapped and tested with the aprofile multilib list.
Checked that --print-multi-directory gives sensible results
with armv8.3-a options and extensions.
I've also added some armv8.3-a, fp16 and dotprod
combination tests to multilib.exp

	* config/arm/t-aprofile (MULTILIB_MATCHES): Add mapping rules for
	-march=armv8.3-a variants.
	* config/arm/t-multilib: Likewise.
	* config/arm/t-arm-elf: Likewise.  Handle dotprod extension.

	* gcc.target/arm/multilib.exp: Add fp16, dotprod and armv8.3-a
	combination tests.

From-SVN: r256345
2018-01-08 15:15:08 +00:00
Aaron Sawdey 8f2c602304 rs6000.md (cceq_ior_compare): Remove * so I can use it to generate rtl.
2018-01-08  Aaron Sawdey  <acsawdey@linux.vnet.ibm.com>

	* config/rs6000/rs6000.md (cceq_ior_compare): Remove * so I can use it
	to generate rtl.
	(cceq_ior_compare_complement): Give it a name so I can use it, and
	change boolean_or_operator predicate to boolean_operator so it can
	be used to generate a crand.
	(eqne): New code iterator.
	(bd/bd_neg): New code_attrs.
	(<bd>_<mode>): New name for ctr<mode>_internal[12] now combined into
	a single define_insn.
	(<bd>tf_<mode>): A new insn pattern for the conditional form branch
	decrement (bdnzt/bdnzf/bdzt/bdzf).
	* config/rs6000/rs6000.c (rs6000_legitimate_combined_insn): Updated
	with the new names of the branch decrement patterns, and added the
	names of the branch decrement conditional patterns.

From-SVN: r256344
2018-01-08 09:07:06 -06:00
Richard Biener b33086c0a7 re PR tree-optimization/83563 ([graphite] ICE: Segmentation fault (in instantiate_scev_r))
2018-01-08  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/83563
	* graphite.c (canonicalize_loop_closed_ssa_form): Reset the SCEV
	cache.

	* gcc.dg/graphite/pr83563.c: New testcase.

From-SVN: r256343
2018-01-08 15:04:53 +00:00
Richard Biener 87c4dace91 re PR c++/83713 (ICE in do_narrow at gcc/convert.c:474)
2018-01-08  Richard Biener  <rguenther@suse.de>

	PR middle-end/83713
	* convert.c (do_narrow): Properly guard TYPE_OVERFLOW_WRAPS checks.

	* g++.dg/torture/pr83713.C: New testcase.

From-SVN: r256341
2018-01-08 13:24:38 +00:00
Tom de Vries 960c02b84e Xfail ssa-dom-cse-2.c for nvptx
2018-01-08  Tom de Vries  <tom@codesourcery.com>

	* gcc.dg/tree-ssa/ssa-dom-cse-2.c: Xfail scan for nvptx.

From-SVN: r256340
2018-01-08 13:23:38 +00:00
Richard Biener e207c07997 re PR tree-optimization/83685 (ICE: SSA corruption)
2018-01-08  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/83685
	* tree-ssa-pre.c (create_expression_by_pieces): Do not insert
	references to abnormals.

	* gcc.dg/torture/pr83685.c: New testcase.

From-SVN: r256339
2018-01-08 13:22:56 +00:00
Richard Biener 131a0e78b0 re PR lto/83719 (ICE (segfault) in hash_table<indirect_string_hasher, xcallocator>::elements())
2018-01-08  Richard Biener  <rguenther@suse.de>

	PR lto/83719
	* dwarf2out.c (output_indirect_strings): Handle empty
	skeleton_debug_str_hash.
	(dwarf2out_early_finish): Index strings for -gsplit-dwarf.

	* gcc.dg/lto/pr83719_0.c: New testcase.

From-SVN: r256338
2018-01-08 13:13:48 +00:00
Janne Blomqvist 4135a21f4d PR 78534 Regression on 32-bit targets
By switching from int to size_t in order to handle larger values,
r256322 introduced a bug that manifested itself on 32-bit
targets. Fixed by using the correct type to store the result of a
next_array_record call.

Regtested on x86_64-pc-linux-gnu and i686-pc-linux-gnu, committed to
trunk as obvious.

libgfortran/ChangeLog:

2018-01-08  Janne Blomqvist  <jb@gcc.gnu.org>

	PR 78534, bugfix for r256322
	* io/transfer.c (next_record_w): Use correct type for return value
	of next_array_record.

From-SVN: r256337
2018-01-08 14:12:05 +02:00
Tom de Vries 4c035a2394 Require stack size for some test-cases
2018-01-08  Tom de Vries  <tom@codesourcery.com>

	* gcc.dg/graphite/interchange-7.c: Add dg-require-stack-size.
	* gcc.dg/graphite/run-id-1.c: Same.
	* gcc.dg/tree-ssa/loop-interchange-4.c: Same.

From-SVN: r256336
2018-01-08 11:50:14 +00:00
Paul Thomas 0b627b5844 re PR fortran/83611 ([PDT] Assignment of parameterized types causes double free error in runtime)
2018-01-08  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/83611
	* decl.c (gfc_get_pdt_instance): If parameterized arrays have
	an initializer, convert the kind parameters and add to the
	component if the instance.
	* trans-array.c (structure_alloc_comps): Add 'is_pdt_type' and
	use it with case COPY_ALLOC_COMP. Call 'duplicate_allocatable'
	for parameterized arrays. Clean up typos in comments. Convert
	parameterized array initializers and copy into the array.
	* trans-expr.c (gfc_trans_scalar_assign): Do a deep copy for
	parameterized types.
	*trans-stmt.c (trans_associate_var): Deallocate associate vars
	as necessary, when they are PDT function results for example.

	PR fortran/83731
	* trans-array.c (structure_alloc_comps): Only compare len parms
	when they are declared explicitly.

2018-01-08  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/83611
	* gfortran.dg/pdt_15.f03 : Bump count of 'n.data = 0B' to 8.
	* gfortran.dg/pdt_26.f03 : Bump count of '_malloc' to 9.
	* gfortran.dg/pdt_27.f03 : New test.

	PR fortran/83731
	* gfortran.dg/pdt_28.f03 : New test.

From-SVN: r256335
2018-01-08 11:20:33 +00:00
Claudiu Zissulescu efcc2e303f [ARC] Revamp trampoline implementation
The new implementation attempts to clean up the existing trampoline
implementation for ARC making it to work for linux type of systems.

gcc/
2018-01-08  Claudiu Zissulescu  <claziss@synopsys.com>

        * config/arc/arc.c (TARGET_TRAMPOLINE_ADJUST_ADDRESS): Delete.
        (emit_store_direct): Likewise.
        (arc_trampoline_adjust_address): Likewise.
        (arc_asm_trampoline_template): New function.
        (arc_initialize_trampoline): Use asm_trampoline_template.
        (TARGET_ASM_TRAMPOLINE_TEMPLATE): Define.
        * config/arc/arc.h (TRAMPOLINE_SIZE): Adjust to 16.
        *config/arc/arc.md (flush_icache): Delete pattern.

From-SVN: r256334
2018-01-08 11:49:14 +01:00
Claudiu Zissulescu 85e5629fd5 [ARC] Enable unaligned access.
Use munaligned-access to control if we can have unaligned accesses.  For ARC
HS family unaligned access is always on.

2018-01-08  Claudiu Zissulescu  <claziss@synopsys.com>

	* config/arc/arc-c.def (__ARC_UNALIGNED__): New define.
	* config/arc/arc.h (STRICT_ALIGNMENT): Control this macro using
	munaligned-access.

From-SVN: r256333
2018-01-08 11:49:01 +01:00
Tom de Vries b5da8f9483 Require alloca for some test-cases
2018-01-08  Tom de Vries  <tom@codesourcery.com>

	* c-c++-common/builtins.c: Require effective target alloca.
	* gcc.dg/Wrestrict.c: Same.
	* gcc.dg/tree-ssa/loop-interchange-15.c: Same.

From-SVN: r256332
2018-01-08 09:59:13 +00:00
Sebastian Huber 34113d650e epiphany: Enable Ada run-time build
gcc/

	PR target/83681
	* config/epiphany/epiphany.h (make_pass_mode_switch_use): Guard
	by not USED_FOR_TARGET.
	(make_pass_resolve_sw_modes): Likewise.

From-SVN: r256331
2018-01-08 09:17:20 +00:00
Sebastian Huber 0512212922 nios2: Enable Ada run-time build
gcc/
	* config/nios2/nios2.h (nios2_section_threshold): Guard by not
	USED_FOR_TARGET.

From-SVN: r256330
2018-01-08 09:15:16 +00:00
Richard Biener 3e1b80ff33 re PR tree-optimization/83580 (Wrong code caused by vectorization)
2018-01-08  Richard Biener  <rguenther@suse.de>

	PR middle-end/83580
	* tree-data-ref.c (split_constant_offset): Remove STRIP_NOPS.

	* gcc.dg/torture/pr83580.c: New testcase.

From-SVN: r256329
2018-01-08 08:24:51 +00:00
Richard Biener 55d84e61f3 re PR tree-optimization/83517 (Missed optimization in math expression: (x+x)/x == 2)
2018-01-08  Richard Biener  <rguenther@suse.de>

	PR middle-end/83517
	* match.pd ((t * 2) / 2) -> t): Add missing :c.

	* gcc.dg/pr83517.c: New testcase.

From-SVN: r256328
2018-01-08 08:16:19 +00:00
GCC Administrator 2af5fc6235 Daily bump.
From-SVN: r256327
2018-01-08 00:16:16 +00:00
Thomas Koenig fa3c4d47b9 libgfortran.h (GFC_DTYPE_COPY): New macro.
2018-01-07  Thomas Koenig  <tkoenig@gcc.gnu.org>

	* libgfortran.h (GFC_DTYPE_COPY): New macro.
	(GFC_DTYPE_COPY_SETRANK): New macro.
	(GFC_DTYPE_IS_UNSET): New macro.
	* intrinsics/cshift0.c (cshift0): Use new macros.
	* intrinsics/eoshift0.c (eoshift0): Likewise.
	* intrinsics/eoshift2.c (eoshift2): Likewise.
	* intrinsics/move_alloc.c (move_alloc): Likewise.
	* intrinsics/reshape_generic.c (reshape_internal): Likewise.
	* intrinsics/spread_generic.c (spread_internal): Likewise.
	* intrinsics/spread_generic.c (spread_scalar): Likewise.
	* intrinsics/spread_generic.c (spread_char_scalar): Likewise.
	* intrinsics/spread_generic.c (spread_char4_scalar): Likewise.
	* intrinsics/unpack_generic.c (unpack0): Likewise.
	* intrinsics/unpack_generic.c (unpack0_char): Likewise.
	* intrinsics/unpack_generic.c (unpack0_char4): Likewise.
	* m4/cshift1.m4 (cshift1): Likewise.
	* m4/eoshift1.m4 (eoshift1): Likewise.
	* m4/eoshift3.m4 (eoshift3): Likewise.
	* m4/iforeach-s.m4: Likewise.
	* m4/iforeach.m4: Likewise.
	* m4/ifunction-s.m4: Likewise.
	* m4/ifunction-s2.m4: Likewise.
	* m4/ifunction.m4: Likewise.
	* m4/ifunction_logical.m4: Likewise.
	* m4/reshape.m4: Likewise.
	* m4/spread.m4: Likewise.
	* generated/all_l1.c : Regenerated.
	* generated/all_l16.c : Regenerated.
	* generated/all_l2.c : Regenerated.
	* generated/all_l4.c : Regenerated.
	* generated/all_l8.c : Regenerated.
	* generated/any_l1.c : Regenerated.
	* generated/any_l16.c : Regenerated.
	* generated/any_l2.c : Regenerated.
	* generated/any_l4.c : Regenerated.
	* generated/any_l8.c : Regenerated.
	* generated/count_16_l.c : Regenerated.
	* generated/count_1_l.c : Regenerated.
	* generated/count_2_l.c : Regenerated.
	* generated/count_4_l.c : Regenerated.
	* generated/count_8_l.c : Regenerated.
	* generated/cshift1_16.c : Regenerated.
	* generated/cshift1_4.c : Regenerated.
	* generated/cshift1_8.c : Regenerated.
	* generated/eoshift1_16.c : Regenerated.
	* generated/eoshift1_4.c : Regenerated.
	* generated/eoshift1_8.c : Regenerated.
	* generated/eoshift3_16.c : Regenerated.
	* generated/eoshift3_4.c : Regenerated.
	* generated/eoshift3_8.c : Regenerated.
	* generated/iall_i1.c : Regenerated.
	* generated/iall_i16.c : Regenerated.
	* generated/iall_i2.c : Regenerated.
	* generated/iall_i4.c : Regenerated.
	* generated/iall_i8.c : Regenerated.
	* generated/iany_i1.c : Regenerated.
	* generated/iany_i16.c : Regenerated.
	* generated/iany_i2.c : Regenerated.
	* generated/iany_i4.c : Regenerated.
	* generated/iany_i8.c : Regenerated.
	* generated/iparity_i1.c : Regenerated.
	* generated/iparity_i16.c : Regenerated.
	* generated/iparity_i2.c : Regenerated.
	* generated/iparity_i4.c : Regenerated.
	* generated/iparity_i8.c : Regenerated.
	* generated/maxloc0_16_i1.c : Regenerated.
	* generated/maxloc0_16_i16.c : Regenerated.
	* generated/maxloc0_16_i2.c : Regenerated.
	* generated/maxloc0_16_i4.c : Regenerated.
	* generated/maxloc0_16_i8.c : Regenerated.
	* generated/maxloc0_16_r10.c : Regenerated.
	* generated/maxloc0_16_r16.c : Regenerated.
	* generated/maxloc0_16_r4.c : Regenerated.
	* generated/maxloc0_16_r8.c : Regenerated.
	* generated/maxloc0_16_s1.c : Regenerated.
	* generated/maxloc0_16_s4.c : Regenerated.
	* generated/maxloc0_4_i1.c : Regenerated.
	* generated/maxloc0_4_i16.c : Regenerated.
	* generated/maxloc0_4_i2.c : Regenerated.
	* generated/maxloc0_4_i4.c : Regenerated.
	* generated/maxloc0_4_i8.c : Regenerated.
	* generated/maxloc0_4_r10.c : Regenerated.
	* generated/maxloc0_4_r16.c : Regenerated.
	* generated/maxloc0_4_r4.c : Regenerated.
	* generated/maxloc0_4_r8.c : Regenerated.
	* generated/maxloc0_4_s1.c : Regenerated.
	* generated/maxloc0_4_s4.c : Regenerated.
	* generated/maxloc0_8_i1.c : Regenerated.
	* generated/maxloc0_8_i16.c : Regenerated.
	* generated/maxloc0_8_i2.c : Regenerated.
	* generated/maxloc0_8_i4.c : Regenerated.
	* generated/maxloc0_8_i8.c : Regenerated.
	* generated/maxloc0_8_r10.c : Regenerated.
	* generated/maxloc0_8_r16.c : Regenerated.
	* generated/maxloc0_8_r4.c : Regenerated.
	* generated/maxloc0_8_r8.c : Regenerated.
	* generated/maxloc0_8_s1.c : Regenerated.
	* generated/maxloc0_8_s4.c : Regenerated.
	* generated/maxloc1_16_i1.c : Regenerated.
	* generated/maxloc1_16_i16.c : Regenerated.
	* generated/maxloc1_16_i2.c : Regenerated.
	* generated/maxloc1_16_i4.c : Regenerated.
	* generated/maxloc1_16_i8.c : Regenerated.
	* generated/maxloc1_16_r10.c : Regenerated.
	* generated/maxloc1_16_r16.c : Regenerated.
	* generated/maxloc1_16_r4.c : Regenerated.
	* generated/maxloc1_16_r8.c : Regenerated.
	* generated/maxloc1_16_s1.c : Regenerated.
	* generated/maxloc1_16_s4.c : Regenerated.
	* generated/maxloc1_4_i1.c : Regenerated.
	* generated/maxloc1_4_i16.c : Regenerated.
	* generated/maxloc1_4_i2.c : Regenerated.
	* generated/maxloc1_4_i4.c : Regenerated.
	* generated/maxloc1_4_i8.c : Regenerated.
	* generated/maxloc1_4_r10.c : Regenerated.
	* generated/maxloc1_4_r16.c : Regenerated.
	* generated/maxloc1_4_r4.c : Regenerated.
	* generated/maxloc1_4_r8.c : Regenerated.
	* generated/maxloc1_4_s1.c : Regenerated.
	* generated/maxloc1_4_s4.c : Regenerated.
	* generated/maxloc1_8_i1.c : Regenerated.
	* generated/maxloc1_8_i16.c : Regenerated.
	* generated/maxloc1_8_i2.c : Regenerated.
	* generated/maxloc1_8_i4.c : Regenerated.
	* generated/maxloc1_8_i8.c : Regenerated.
	* generated/maxloc1_8_r10.c : Regenerated.
	* generated/maxloc1_8_r16.c : Regenerated.
	* generated/maxloc1_8_r4.c : Regenerated.
	* generated/maxloc1_8_r8.c : Regenerated.
	* generated/maxloc1_8_s1.c : Regenerated.
	* generated/maxloc1_8_s4.c : Regenerated.
	* generated/maxval1_s1.c : Regenerated.
	* generated/maxval1_s4.c : Regenerated.
	* generated/maxval_i1.c : Regenerated.
	* generated/maxval_i16.c : Regenerated.
	* generated/maxval_i2.c : Regenerated.
	* generated/maxval_i4.c : Regenerated.
	* generated/maxval_i8.c : Regenerated.
	* generated/maxval_r10.c : Regenerated.
	* generated/maxval_r16.c : Regenerated.
	* generated/maxval_r4.c : Regenerated.
	* generated/maxval_r8.c : Regenerated.
	* generated/minloc0_16_i1.c : Regenerated.
	* generated/minloc0_16_i16.c : Regenerated.
	* generated/minloc0_16_i2.c : Regenerated.
	* generated/minloc0_16_i4.c : Regenerated.
	* generated/minloc0_16_i8.c : Regenerated.
	* generated/minloc0_16_r10.c : Regenerated.
	* generated/minloc0_16_r16.c : Regenerated.
	* generated/minloc0_16_r4.c : Regenerated.
	* generated/minloc0_16_r8.c : Regenerated.
	* generated/minloc0_16_s1.c : Regenerated.
	* generated/minloc0_16_s4.c : Regenerated.
	* generated/minloc0_4_i1.c : Regenerated.
	* generated/minloc0_4_i16.c : Regenerated.
	* generated/minloc0_4_i2.c : Regenerated.
	* generated/minloc0_4_i4.c : Regenerated.
	* generated/minloc0_4_i8.c : Regenerated.
	* generated/minloc0_4_r10.c : Regenerated.
	* generated/minloc0_4_r16.c : Regenerated.
	* generated/minloc0_4_r4.c : Regenerated.
	* generated/minloc0_4_r8.c : Regenerated.
	* generated/minloc0_4_s1.c : Regenerated.
	* generated/minloc0_4_s4.c : Regenerated.
	* generated/minloc0_8_i1.c : Regenerated.
	* generated/minloc0_8_i16.c : Regenerated.
	* generated/minloc0_8_i2.c : Regenerated.
	* generated/minloc0_8_i4.c : Regenerated.
	* generated/minloc0_8_i8.c : Regenerated.
	* generated/minloc0_8_r10.c : Regenerated.
	* generated/minloc0_8_r16.c : Regenerated.
	* generated/minloc0_8_r4.c : Regenerated.
	* generated/minloc0_8_r8.c : Regenerated.
	* generated/minloc0_8_s1.c : Regenerated.
	* generated/minloc0_8_s4.c : Regenerated.
	* generated/minloc1_16_i1.c : Regenerated.
	* generated/minloc1_16_i16.c : Regenerated.
	* generated/minloc1_16_i2.c : Regenerated.
	* generated/minloc1_16_i4.c : Regenerated.
	* generated/minloc1_16_i8.c : Regenerated.
	* generated/minloc1_16_r10.c : Regenerated.
	* generated/minloc1_16_r16.c : Regenerated.
	* generated/minloc1_16_r4.c : Regenerated.
	* generated/minloc1_16_r8.c : Regenerated.
	* generated/minloc1_16_s1.c : Regenerated.
	* generated/minloc1_16_s4.c : Regenerated.
	* generated/minloc1_4_i1.c : Regenerated.
	* generated/minloc1_4_i16.c : Regenerated.
	* generated/minloc1_4_i2.c : Regenerated.
	* generated/minloc1_4_i4.c : Regenerated.
	* generated/minloc1_4_i8.c : Regenerated.
	* generated/minloc1_4_r10.c : Regenerated.
	* generated/minloc1_4_r16.c : Regenerated.
	* generated/minloc1_4_r4.c : Regenerated.
	* generated/minloc1_4_r8.c : Regenerated.
	* generated/minloc1_4_s1.c : Regenerated.
	* generated/minloc1_4_s4.c : Regenerated.
	* generated/minloc1_8_i1.c : Regenerated.
	* generated/minloc1_8_i16.c : Regenerated.
	* generated/minloc1_8_i2.c : Regenerated.
	* generated/minloc1_8_i4.c : Regenerated.
	* generated/minloc1_8_i8.c : Regenerated.
	* generated/minloc1_8_r10.c : Regenerated.
	* generated/minloc1_8_r16.c : Regenerated.
	* generated/minloc1_8_r4.c : Regenerated.
	* generated/minloc1_8_r8.c : Regenerated.
	* generated/minloc1_8_s1.c : Regenerated.
	* generated/minloc1_8_s4.c : Regenerated.
	* generated/minval1_s1.c : Regenerated.
	* generated/minval1_s4.c : Regenerated.
	* generated/minval_i1.c : Regenerated.
	* generated/minval_i16.c : Regenerated.
	* generated/minval_i2.c : Regenerated.
	* generated/minval_i4.c : Regenerated.
	* generated/minval_i8.c : Regenerated.
	* generated/minval_r10.c : Regenerated.
	* generated/minval_r16.c : Regenerated.
	* generated/minval_r4.c : Regenerated.
	* generated/minval_r8.c : Regenerated.
	* generated/norm2_r10.c : Regenerated.
	* generated/norm2_r16.c : Regenerated.
	* generated/norm2_r4.c : Regenerated.
	* generated/norm2_r8.c : Regenerated.
	* generated/parity_l1.c : Regenerated.
	* generated/parity_l16.c : Regenerated.
	* generated/parity_l2.c : Regenerated.
	* generated/parity_l4.c : Regenerated.
	* generated/parity_l8.c : Regenerated.
	* generated/product_c10.c : Regenerated.
	* generated/product_c16.c : Regenerated.
	* generated/product_c4.c : Regenerated.
	* generated/product_c8.c : Regenerated.
	* generated/product_i1.c : Regenerated.
	* generated/product_i16.c : Regenerated.
	* generated/product_i2.c : Regenerated.
	* generated/product_i4.c : Regenerated.
	* generated/product_i8.c : Regenerated.
	* generated/product_r10.c : Regenerated.
	* generated/product_r16.c : Regenerated.
	* generated/product_r4.c : Regenerated.
	* generated/product_r8.c : Regenerated.
	* generated/reshape_c10.c : Regenerated.
	* generated/reshape_c16.c : Regenerated.
	* generated/reshape_c4.c : Regenerated.
	* generated/reshape_c8.c : Regenerated.
	* generated/reshape_i16.c : Regenerated.
	* generated/reshape_i4.c : Regenerated.
	* generated/reshape_i8.c : Regenerated.
	* generated/reshape_r10.c : Regenerated.
	* generated/reshape_r16.c : Regenerated.
	* generated/reshape_r4.c : Regenerated.
	* generated/reshape_r8.c : Regenerated.
	* generated/spread_c10.c : Regenerated.
	* generated/spread_c16.c : Regenerated.
	* generated/spread_c4.c : Regenerated.
	* generated/spread_c8.c : Regenerated.
	* generated/spread_i1.c : Regenerated.
	* generated/spread_i16.c : Regenerated.
	* generated/spread_i2.c : Regenerated.
	* generated/spread_i4.c : Regenerated.
	* generated/spread_i8.c : Regenerated.
	* generated/spread_r10.c : Regenerated.
	* generated/spread_r16.c : Regenerated.
	* generated/spread_r4.c : Regenerated.
	* generated/spread_r8.c : Regenerated.
	* generated/sum_c10.c : Regenerated.
	* generated/sum_c16.c : Regenerated.
	* generated/sum_c4.c : Regenerated.
	* generated/sum_c8.c : Regenerated.
	* generated/sum_i1.c : Regenerated.
	* generated/sum_i16.c : Regenerated.
	* generated/sum_i2.c : Regenerated.
	* generated/sum_i4.c : Regenerated.
	* generated/sum_i8.c : Regenerated.
	* generated/sum_r10.c : Regenerated.
	* generated/sum_r16.c : Regenerated.
	* generated/sum_r4.c : Regenerated.
	* generated/sum_r8.c : Regenerated.

From-SVN: r256323
2018-01-07 14:11:11 +00:00
Janne Blomqvist ea99ec5bd6 PR 78534, 83704 Handle large formatted I/O
In order to handle large characters when doing formatted I/O, use
size_t and ptrdiff_t for lengths.  Compared to the previous patch,
based on discussions on IRC use size_t for sizes that don't need to be
negative rather than ptrdiff_t everywhere.

Regtested on x86_64-pc-linux-gnu, approved as part of the PR 78534
approval, committed to trunk.

libgfortran/ChangeLog:

2018-01-07  Janne Blomqvist  <jb@gcc.gnu.org>

	PR fortran/78534
	PR fortran/83704
	* io/fbuf.c (fbuf_init): Use size_t instead of int for length.
	(fbuf_debug): Convert debug output to unsigned long.
	(fbuf_reset): Use ptrdiff_t for return value.
	(fbuf_alloc): Use size_t for length argument.
	(fbuf_flush): Handle large buffers.
	(fbuf_flush_list): Likewise.
	(fbuf_seek): Use ptrdiff_t for offset and return value.
	(fbuf_read): Use size_t for length argument.
	(fbuf_getc_refill): Use size_t to match fbuf_read.
	* io/fbuf.h (struct fbuf): Use size_t for lengths.
	(fbuf_init): Use size_t instead of int for length.
	(fbuf_reset): Use ptrdiff_t for return value.
	(fbuf_alloc): Use size_t for length argument.
	(fbuf_seek): Use ptrdiff_t for offset and return value.
	(fbuf_read): Use size_t for length argument.
	* io/io.h (read_block_form): Likewise.
	(read_block_form4): Likewise.
	(write_block): Likewise.
	(read_a): Likewise.
	(read_a_char4): Likewise.
	(read_x): Likewise.
	(write_a): Likewise.
	(write_a_char4): Likewise.
	* io/list_read.c (list_formatted_read_scalar): Use size_t to
	handle large buffers.
	* io/read.c (read_l): Likewise.
	(read_utf8): Likewise.
	(read_utf8_char1): Likewise.
	(read_default_char1): Likewise.
	(read_utf8_char4): Likewise.
	(read_default_char4): Likewise.
	(read_a): Likewise.
	(read_a_char4): Likewise.
	(eat_leading_spaces): Likewise.
	(next_char): Likewise.
	(read_decimal): Likewise.
	(read_radix): Likewise.
	(read_f): Likewise.
	(read_x): Likewise.
	* io/transfer.c (read_sf_internal): Likewise.
	(read_sf): Likewise.
	(read_block_form): Likewise.
	(read_block_form4): Likewise.
	(write_block): Likewise.
	(formatted_transfer_scalar_write): Likewise.
	(next_record_w): Likewise.
	* io/unix.c (mem_alloc_r): Likewise.
	(mem_alloc_r4): Likewise.
	(mem_alloc_w): Likewise.
	(mem_alloc_w4): Likewise.
	(mem_read): Likewise.
	(mem_read4): Likewise.
	(mem_write): Likewise.
	(mem_write4): Likewise.
	(open_internal): Likewise.
	(open_internal4): Likewise.
	* io/unix.h (open_internal): Likewise.
	(open_internal4): Likewise.
	(mem_alloc_w): Likewise.
	(mem_alloc_r): Likewise.
	(mem_alloc_w4): Likewise.
	(mem_alloc_r4): Likewise.
	* io/write.c (write_check_cc): Likewise.
	(write_cc): Likewise.
	(write_a): Likewise.
	(write_a_char4): Likewise.

From-SVN: r256322
2018-01-07 12:17:52 +02:00