1. 09 Jan, 2018 19 commits
    • [AArch64] Reject (high (const (plus anchor offset))) · 509bb9b6
      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
      Richard Sandiford committed
    • Fix permute handling when vectorising scatters · 7ad429a4
      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
      Richard Sandiford committed
    • re PR tree-optimization/83668 (wrong code with -O -fno-tree-dominator-opts -fgraphite-identity) · 82c066f5
      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
      Richard Biener committed
    • Fix folding of Inf/NaN comparisons for -ftrapping-math (PR tree-optimization/64811). · e96a5786
      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
      Joseph Myers committed
    • Add gcc_assert about stack alignment (PR sanitizer/82517). · aa5bfa8d
      2018-01-09  Martin Liska  <mliska@suse.cz>
      
      	PR sanitizer/82517
      	* asan.c (shadow_mem_size): Add gcc_assert.
      
      From-SVN: r256378
      Martin Liska committed
    • re PR target/79883 (avr i18n: untranslated "interrupt" or "signal") · 684684c6
      	PR target/79883
      	* gcc.target/avr/torture/pr57631.c (dg-warning): Quote 'signal'.
      
      From-SVN: r256376
      Georg-Johann Lay committed
    • re PR target/82641 (Unable to enable crc32 for a certain function with target… · f676330e
      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
      Tamar Christina committed
    • typo · 1f1229d5
      From-SVN: r256374
      Georg-Johann Lay committed
    • Don't save registers in main(). · dcbe9170
      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
      Georg-Johann Lay committed
    • re PR tree-optimization/83572 ([graphite] ICE in verify_dominators, at… · b25f84d0
      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
      Richard Biener committed
    • * ipa-inline.c (edge_badness): Revert accidental checkin. · b1a0199b
      From-SVN: r256370
      Jan Hubicka committed
    • re PR c++/80763 (-O3 causes error: inline clone in same comdat group list) · 6291062f
      	PR ipa/80763
      	* ipa-comdats.c (set_comdat_group): Only set comdat group of real
      	symbols; not inline clones.
      
      From-SVN: r256369
      Jan Hubicka committed
    • re PR target/83507 (ICE in internal_dfa_insn_code_* for powerpc targets) · 3a123ed7
      	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
      Jakub Jelinek committed
    • re PR preprocessor/83722 (the ICE dumper doesn't comment-out some error messages) · 5190f1f9
      	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
      Jakub Jelinek committed
    • re PR fortran/83741 (ICE in gfc_match_allocate, at fortran/match.c:4074) · 5e884ae3
      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
      Steven G. Kargl committed
    • libgo: update to Go1.10beta1 · 1a2f01ef
          
          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
      Ian Lance Taylor committed
    • match.c (gfc_match_allocate): Check for NULL pointer. · 8799df67
      2018-01-08  Steven G. Kargl  <kargl@gcc.gnu.org>
      
      	* match.c (gfc_match_allocate): Check for NULL pointer.
      
      From-SVN: r256364
      Steven G. Kargl committed
    • RISC-V: Fix -msave-restore bug with sibcalls. · c8a0c7b6
      	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
      Jim Wilson committed
    • Daily bump. · b48ae4b0
      From-SVN: r256361
      GCC Administrator committed
  2. 08 Jan, 2018 21 commits
    • re PR target/83677 (PPC: The xxpermr instruction is not generated correctly) · a25811c8
      [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
      Bill Schmidt committed
    • quad-float128.h (IBM128_TYPE): Explicitly use __ibm128, instead of trying to use long double. · 68df9882
      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
      Michael Meissner committed
    • quad-float128.h (IBM128_TYPE): Explicitly use __ibm128, instead of trying to use long double. · d5eea0f7
      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
      Michael Meissner committed
    • expr.c (gfc_check_pointer_assign): Fix typo in comment. · a4f759de
      2018-01-08  Steven G. Kargl  <kargl@gcc.gnu.org>
      
      	* expr.c (gfc_check_pointer_assign): Fix typo in comment.
      
      From-SVN: r256352
      Steven G. Kargl committed
    • rs6000-string.c (do_load_for_compare_from_addr): New function. · 5ec3397e
      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
      Aaron Sawdey committed
    • re PR rtl-optimization/81308 (ICE in calc_dfs_tree, at dominance.c:458) · 5a2a87e1
      	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
      Jeff Law committed
    • re PR rtl-optimization/81308 (ICE in calc_dfs_tree, at dominance.c:458) · b9a4d2ba
      	PR rtl-optimization/81308
      	* recog.c (split_all_insns): Conditionally cleanup the CFG after
      	splitting insns.
      
      From-SVN: r256348
      Jeff Law committed
    • rs6000.c (rs6000_legitimate_combined_insn): Updated with the new names of the… · 7f047768
      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
      Aaron Sawdey committed
    • PR target/83663 - Revert r255946 · 647c61f1
      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
      Vidya Praveen committed
    • [arm] Add -march=armv8.3-a and dotprod multilib selection rules · a00a4222
      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
      Kyrylo Tkachov committed
    • rs6000.md (cceq_ior_compare): Remove * so I can use it to generate rtl. · 8f2c6023
      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
      Aaron Sawdey committed
    • re PR tree-optimization/83563 ([graphite] ICE: Segmentation fault (in instantiate_scev_r)) · b33086c0
      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
      Richard Biener committed
    • re PR c++/83713 (ICE in do_narrow at gcc/convert.c:474) · 87c4dace
      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
      Richard Biener committed
    • Xfail ssa-dom-cse-2.c for nvptx · 960c02b8
      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
      Tom de Vries committed
    • re PR tree-optimization/83685 (ICE: SSA corruption) · e207c079
      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
      Richard Biener committed
    • re PR lto/83719 (ICE (segfault) in hash_table<indirect_string_hasher, xcallocator>::elements()) · 131a0e78
      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
      Richard Biener committed
    • PR 78534 Regression on 32-bit targets · 4135a21f
      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
      Janne Blomqvist committed
    • Require stack size for some test-cases · 4c035a23
      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
      Tom de Vries committed
    • re PR fortran/83611 ([PDT] Assignment of parameterized types causes double free error in runtime) · 0b627b58
      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
      Paul Thomas committed
    • [ARC] Revamp trampoline implementation · efcc2e30
      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
      Claudiu Zissulescu committed
    • [ARC] Enable unaligned access. · 85e5629f
      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
      Claudiu Zissulescu committed