1. 22 May, 2019 1 commit
    • fortran/89100: Default widths with -fdec-format-defaults · 88a8126a
      gcc/fortran ChangeLog:
      
      2019-05-22  Jeff Law  <law@redhat.com>
                  Mark Eggleston  <mark.eggleston@codethink.com>
      
              PR fortran/89100
              * gfortran.texi: Add Default widths for F, G and I format
              descriptors to Extensions section.
              * invoke.texi: Add -fdec-format-defaults
              * io.c (check_format): Use default widths for i, f and g when
              flag_dec_format_defaults is enabled.
              * lang.opt: Add new option.
              * options.c (set_dec_flags): Add SET_BITFLAG for
              flag_dec_format_defaults.
      
      
      gcc/testsuite ChangeLog:
      
      2019-05-22  Mark Eggleston  <mark.eggleston@codethink.com>
      
              PR fortran/89100
              * gfortran.dg/fmt_f_default_field_width_1.f90: New test.
              * gfortran.dg/fmt_f_default_field_width_2.f90: New test.
              * gfortran.dg/fmt_f_default_field_width_3.f90: New test.
              * gfortran.dg/fmt_g_default_field_width_1.f90: New test.
              * gfortran.dg/fmt_g_default_field_width_2.f90: New test.
              * gfortran.dg/fmt_g_default_field_width_3.f90: New test.
              * gfortran.dg/fmt_i_default_field_width_1.f90: New test.
              * gfortran.dg/fmt_i_default_field_width_2.f90: New test.
              * gfortran.dg/fmt_i_default_field_width_3.f90: New test.
      
      
      libgfortran ChangeLog:
      
      2019-05-22  Jeff Law  <law@redhat.com>
      
              PR fortran/89100
              * io/format.c (parse_format_list): set default width when the
              IOPARM_DT_DEC_EXT flag is set for i, f and g.
              * io/io.h: add default_width_for_integer, default_width_for_float
              and default_precision_for_float.
              * io/write.c (write_boz): extra parameter giving length of data
              corresponding to the type's kind.
              (write_b): pass data length as extra parameter in calls to
              write_boz.
              (write_o): pass data length as extra parameter in calls to
              write_boz.
              (write_z): pass data length as extra parameter in calls to
              write_boz.
              (size_from_kind): also set size is default width is set.
              * io/write_float.def (build_float_string): new paramter inserted
              before result parameter. If default width use values passed
              instead of the values in fnode.
              (FORMAT_FLOAT): macro modified to check for default width and
              calls to build_float_string to pass in default width.
              (get_float_string): set width and precision to defaults when
              needed.
      
      From-SVN: r271511
      Janne Blomqvist committed
  2. 19 May, 2019 1 commit
    • libfortran/90038 Reap dead children when wait=.false. · ef536b41
      When using posix_spawn or fork to launch a child process, the parent
      needs to wait for the child, otherwise the dead child is left as a
      zombie process. For this purpose one can install a signal handler for
      SIGCHLD.
      
      2019-05-19  Janne Blomqvist  <jb@gcc.gnu.org>
      
      	PR libfortran/90038
      	* intrinsics/execute_command_line (sigchld_handler): New function.
              (execute_command_line): Install handler for SIGCHLD.
              * configure.ac: Check for presence of sigaction and waitpid.
              * config.h.in: Regenerated.
              * configure: Regenerated.
      
      Regtested on x86_64-pc-linux-gnu.
      
      From-SVN: r271384
      Janne Blomqvist committed
  3. 17 May, 2019 4 commits
  4. 15 May, 2019 1 commit
    • Allow opening file on multiple units · 0c15ebf1
      As of Fortran 2018 it's allowed to open the same file on multiple
      units.
      
      libgfortran/ChangeLog:
      
      2019-05-15  Janne Blomqvist  <jb@gcc.gnu.org>
      
      	PR fortran/90461
              * io/open.c (new_unit): Don't check if the file is already open
      	for F2018.
      
      testsuite/ChangeLog:
      
      2019-05-15  Janne Blomqvist  <jb@gcc.gnu.org>
      
      	PR fortran/90461
              * gfortran.dg/open_errors_2.f90: Add -std=f2008, adjust line number.
      	* gfortran.dg/open_errors_3.f90: New test.
      
      From-SVN: r271260
      Janne Blomqvist committed
  5. 02 May, 2019 1 commit
  6. 14 Apr, 2019 1 commit
    • re PR fortran/89843 (CFI_section delivers incorrect result descriptor) · 0d78e4aa
      2019-04-14  Paul Thomas  <pault@gcc.gnu.org>
      
      	PR fortran/89843
      	* trans-decl.c (gfc_get_symbol_decl): Assumed shape and assumed
      	rank dummies of bind C procs require deferred initialization.
      	(convert_CFI_desc): New procedure to convert incoming CFI
      	descriptors to gfc types and back again.
      	(gfc_trans_deferred_vars): Call it.
      	* trans-expr.c (gfc_conv_gfc_desc_to_cfi_desc): Null the CFI
      	descriptor pointer. Free the descriptor in all cases.
      
      	PR fortran/89846
      	* expr.c (is_CFI_desc): New function.
      	(is_subref_array): Tidy up by referencing the symbol directly.
      	* gfortran.h : Prototype for is_CFI_desc.
      	* trans_array.c (get_CFI_desc): New function.
      	(gfc_get_array_span, gfc_conv_scalarized_array_ref,
      	gfc_conv_array_ref): Use it.
      	* trans.c (get_array_span): Extract the span from descriptors
      	that are indirect references.
      
      	PR fortran/90022
      	* trans-decl.c (gfc_get_symbol_decl): Make sure that the se
      	expression is a pointer type before converting it to the symbol
      	backend_decl type.
      	* trans-expr.c (gfc_conv_gfc_desc_to_cfi_desc): Eliminate
      	temporary creation for intent(in).
      
      2019-04-14  Paul Thomas  <pault@gcc.gnu.org>
      
      	PR fortran/89843
      	* gfortran.dg/ISO_Fortran_binding_4.f90: Modify the value of x
      	in ctg. Test the conversion of the descriptor types in the main
      	program.
      	* gfortran.dg/ISO_Fortran_binding_10.f90: New test.
      	* gfortran.dg/ISO_Fortran_binding_10.c: Called by it.
      
      	PR fortran/89846
      	* gfortran.dg/ISO_Fortran_binding_11.f90: New test.
      	* gfortran.dg/ISO_Fortran_binding_11.c: Called by it.
      
      	PR fortran/90022
      	* gfortran.dg/ISO_Fortran_binding_1.c: Correct the indexing for
      	the computation of 'ans'. Also, change the expected results for
      	CFI_is_contiguous to comply with standard.
      	* gfortran.dg/ISO_Fortran_binding_1.f90: Correct the expected
      	results for CFI_is_contiguous to comply with standard.
      	* gfortran.dg/ISO_Fortran_binding_9.f90: New test.
      	* gfortran.dg/ISO_Fortran_binding_9.c: Called by it.
      
      2019-04-14  Paul Thomas  <pault@gcc.gnu.org>
      
      	PR fortran/89843
      	* runtime/ISO_Fortran_binding.c (cfi_desc_to_gfc_desc): Only
      	return immediately if the source pointer is null. Bring
      	forward the extraction of the gfc type. Extract the kind so
      	that the element size can be correctly computed for sections
      	and components of derived type arrays. Remove the free of the
      	CFI descriptor since this is now done in trans-expr.c.
      	(gfc_desc_to_cfi_desc): Only allocate the CFI descriptor if it
      	is not null.
      	(CFI_section): Normalise the difference between the upper and
      	lower bounds by the stride to correctly calculate the extents
      	of the section.
      
      	PR fortran/89846
      	* runtime/ISO_Fortran_binding.c (cfi_desc_to_gfc_desc): Use
      	the stride measure for the gfc span if it is not a multiple
      	of the element length. Otherwise use the element length.
      
      	PR fortran/90022
      	* runtime/ISO_Fortran_binding.c (CFI_is_contiguous) : Return
      	1 for true and 0 otherwise to comply with the standard. Correct
      	the contiguity check for rank 3 and greater by using the stride
      	measure of the lower dimension rather than the element length.
      
      From-SVN: r270353
      Paul Thomas committed
  7. 25 Mar, 2019 1 commit
  8. 05 Mar, 2019 1 commit
  9. 26 Feb, 2019 1 commit
  10. 25 Feb, 2019 1 commit
  11. 23 Feb, 2019 1 commit
    • re PR fortran/89385 (Incorrect members of C descriptor for an allocatable object) · c2808389
      2019-02-23  Paul Thomas  <pault@gcc.gnu.org>
      
      	PR fortran/89385
      	PR fortran/89366
      	* decl.c (gfc_verify_c_interop_param): Restriction on string
      	length being one is lifted for F2018.
      	* trans-expr.c (gfc_conv_gfc_desc_to_cfi_desc): For scalar
      	characters with intent in, make a temporary and copy the result
      	of the expression evaluation into it.
      	(gfc_conv_procedure_call): Set a flag for character formal args
      	having a character length that is not unity. If the procedure
      	is bind C, call gfc_conv_gfc_desc_to_cfi_desc in this case.
      	Also, extend bind C calls to unconditionally convert both
      	pointers and allocatable expressions.
      
      2019-02-23  Paul Thomas  <pault@gcc.gnu.org>
      
      	PR fortran/89385
      	* gfortran.dg/ISO_Fortran_binding_1.f90 : Correct test for
      	previously incorrect lbound for allocatable expressions. Also
      	correct stop values to avoid repetition.
      	* gfortran.dg/ISO_Fortran_binding_5.f90 : New test
      	* gfortran.dg/ISO_Fortran_binding_5.c : Support previous test.
      
      	PR fortran/89366
      	* gfortran.dg/ISO_Fortran_binding_6.f90 : New test
      	* gfortran.dg/ISO_Fortran_binding_6.c : Support previous test.
      	* gfortran.dg/pr32599.f03 : Set standard to F2008.
      
      2019-02-23  Paul Thomas  <pault@gcc.gnu.org>
      
      	PR fortran/89385
      	PR fortran/89366
      	* runtime/ISO_Fortran_binding.c (cfi_desc_to_gfc_desc) : In the
      	interchange between character and derived, the character type
      	was being set incorrectly.
      	(gfc_desc_to_cfi_desc) : Eliminate the interchange of types in
      	this function. Do not add the kind and length information to
      	the type field of structures. Lbounds were incorrectly being
      	set to zero for allocatable and pointer descriptors. Should
      	have been non-pointer, non-allocatables that received this
      	treatment.
      
      From-SVN: r269156
      Paul Thomas committed
  12. 31 Jan, 2019 1 commit
  13. 30 Jan, 2019 2 commits
  14. 28 Jan, 2019 1 commit
  15. 27 Jan, 2019 2 commits
  16. 26 Jan, 2019 2 commits
  17. 17 Jan, 2019 1 commit
    • GCN libgfortran. · 5ab99fa4
      This patch contains the GCN port of libgfortran.  We use the minimal
      configuration created for NVPTX.  That's all that's required, besides the
      target-independent bug fixes posted already.
      
      2019-01-17  Andrew Stubbs  <ams@codesourcery.com>
      	    Kwok Cheung Yeung  <kcy@codesourcery.com>
      	    Julian Brown  <julian@codesourcery.com>
      	    Tom de Vries  <tom@codesourcery.com>
      
      	libgfortran/
      	* configure.ac: Use minimal mode for amdgcn.
      	* configure: Regenerate.
      
      
      Co-Authored-By: Julian Brown <julian@codesourcery.com>
      Co-Authored-By: Kwok Cheung Yeung <kcy@codesourcery.com>
      Co-Authored-By: Tom de Vries <tom@codesourcery.com>
      
      From-SVN: r268020
      Andrew Stubbs committed
  18. 14 Jan, 2019 1 commit
  19. 12 Jan, 2019 3 commits
    • re PR libfortran/88776 (Namelist read from stdin: loss of data) · 9443a185
      2019-01-12  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
      
      	PR libfortran/88776
      	* io/list_read.c (namelist_read): Use nml_err_ret path on read error
      	not based on stdin_unit.
      
      From-SVN: r267898
      Jerry DeLisle committed
    • gfortran.texi: Add description in sections on TS 29113 and further interoperability with C. · bbf18dc5
      2019-01-12  Paul Thomas  <pault@gcc.gnu.org>
      
      	* gfortran.texi : Add description in sections on TS 29113 and
      	further interoperability with C.
      	* trans-array.c (gfc_conv_descriptor_attribute): New function.
      	(gfc_get_dataptr_offset): Remove static function attribute.
      	* trans-array.h : Add prototypes for above functions.
      	* trans-decl.c : Add declarations for the library functions
      	cfi_desc_to_gfc_desc and gfc_desc_to_cfi_desc.
      	* trans-expr.c (gfc_conv_gfc_desc_to_cfi_desc): New function.
      	(gfc_conv_procedure_call): Call it for scalar and array actual
      	arguments, when the formal arguments are bind_c with assumed
      	shape or assumed rank.
      	* trans.h : External declarations for gfor_fndecl_cfi_to_gfc
      	and gfor_fndecl_gfc_to_cfi.
      
      2019-01-12  Paul Thomas  <pault@gcc.gnu.org>
      
      	* gfortran.dg/ISO_Fortran_binding_1.f90 : New test.
      	* gfortran.dg/ISO_Fortran_binding_1.c : Auxilliary file for test.
      	* gfortran.dg/ISO_Fortran_binding_2.f90 : New test.
      	* gfortran.dg/ISO_Fortran_binding_2.c : Auxilliary file for test.
      	* gfortran.dg/bind_c_array_params_2.f90 : Change search string
      	for dump tree scan.
      
      2019-01-12  Paul Thomas  <pault@gcc.gnu.org>
      
      	* ISO_Fortran_binding.h : New file.
      	* Makefile.am : Include ISO_Fortran_binding.c in the list of
      	files to compile.
      	* Makefile.in : Regenerated.
      	* gfortran.map : Add _gfortran_cfi_desc_to_gfc_desc,
      	_gfortran_gfc_desc_to_cfi_desc and the CFI API functions.
      	* runtime/ISO_Fortran_binding.c : New file containing the new
      	functions added to the map.
      
      From-SVN: r267881
      Paul Thomas committed
    • re PR libfortran/88807 (misleading indentation warnings building libgfortran) · fc560ecd
      	PR libfortran/88807
      	* m4/minloc0.m4: Reindent to avoid -Wmisleading-indentation warnings.
      	* generated/minloc0_4_i1.c: Regenerated.
      	* generated/minloc0_4_i2.c: Regenerated.
      	* generated/minloc0_4_i4.c: Regenerated.
      	* generated/minloc0_4_i8.c: Regenerated.
      	* generated/minloc0_4_i16.c: Regenerated.
      	* generated/minloc0_4_r4.c: Regenerated.
      	* generated/minloc0_4_r8.c: Regenerated.
      	* generated/minloc0_4_r10.c: Regenerated.
      	* generated/minloc0_4_r16.c: Regenerated.
      	* generated/minloc0_8_i1.c: Regenerated.
      	* generated/minloc0_8_i2.c: Regenerated.
      	* generated/minloc0_8_i4.c: Regenerated.
      	* generated/minloc0_8_i8.c: Regenerated.
      	* generated/minloc0_8_i16.c: Regenerated.
      	* generated/minloc0_8_r4.c: Regenerated.
      	* generated/minloc0_8_r8.c: Regenerated.
      	* generated/minloc0_8_r10.c: Regenerated.
      	* generated/minloc0_8_r16.c: Regenerated.
      	* generated/minloc0_16_i1.c: Regenerated.
      	* generated/minloc0_16_i2.c: Regenerated.
      	* generated/minloc0_16_i4.c: Regenerated.
      	* generated/minloc0_16_i8.c: Regenerated.
      	* generated/minloc0_16_i16.c: Regenerated.
      	* generated/minloc0_16_r4.c: Regenerated.
      	* generated/minloc0_16_r8.c: Regenerated.
      	* generated/minloc0_16_r10.c: Regenerated.
      	* generated/minloc0_16_r16.c: Regenerated.
      
      From-SVN: r267875
      Jakub Jelinek committed
  20. 09 Jan, 2019 1 commit
    • PR other/16615 [1/5] · 67914693
      2019-01-09  Sandra Loosemore  <sandra@codesourcery.com>
      
      	PR other/16615 [1/5]
      
      	contrib/
      	* mklog: Mechanically replace "can not" with "cannot".
      
      	gcc/
      	* Makefile.in: Mechanically replace "can not" with "cannot".
      	* alias.c: Likewise.
      	* builtins.c: Likewise.
      	* calls.c: Likewise.
      	* cgraph.c: Likewise.
      	* cgraph.h: Likewise.
      	* cgraphclones.c: Likewise.
      	* cgraphunit.c: Likewise.
      	* combine-stack-adj.c: Likewise.
      	* combine.c: Likewise.
      	* common/config/i386/i386-common.c: Likewise.
      	* config/aarch64/aarch64.c: Likewise.
      	* config/alpha/sync.md: Likewise.
      	* config/arc/arc.c: Likewise.
      	* config/arc/predicates.md: Likewise.
      	* config/arm/arm-c.c: Likewise.
      	* config/arm/arm.c: Likewise.
      	* config/arm/arm.h: Likewise.
      	* config/arm/arm.md: Likewise.
      	* config/arm/cortex-r4f.md: Likewise.
      	* config/csky/csky.c: Likewise.
      	* config/csky/csky.h: Likewise.
      	* config/darwin-f.c: Likewise.
      	* config/epiphany/epiphany.md: Likewise.
      	* config/i386/i386.c: Likewise.
      	* config/i386/sol2.h: Likewise.
      	* config/m68k/m68k.c: Likewise.
      	* config/mcore/mcore.h: Likewise.
      	* config/microblaze/microblaze.md: Likewise.
      	* config/mips/20kc.md: Likewise.
      	* config/mips/sb1.md: Likewise.
      	* config/nds32/nds32.c: Likewise.
      	* config/nds32/predicates.md: Likewise.
      	* config/pa/pa.c: Likewise.
      	* config/rs6000/e300c2c3.md: Likewise.
      	* config/rs6000/rs6000.c: Likewise.
      	* config/s390/s390.h: Likewise.
      	* config/sh/sh.c: Likewise.
      	* config/sh/sh.md: Likewise.
      	* config/spu/vmx2spu.h: Likewise.
      	* cprop.c: Likewise.
      	* dbxout.c: Likewise.
      	* df-scan.c: Likewise.
      	* doc/cfg.texi: Likewise.
      	* doc/extend.texi: Likewise.
      	* doc/fragments.texi: Likewise.
      	* doc/gty.texi: Likewise.
      	* doc/invoke.texi: Likewise.
      	* doc/lto.texi: Likewise.
      	* doc/md.texi: Likewise.
      	* doc/objc.texi: Likewise.
      	* doc/rtl.texi: Likewise.
      	* doc/tm.texi: Likewise.
      	* dse.c: Likewise.
      	* emit-rtl.c: Likewise.
      	* emit-rtl.h: Likewise.
      	* except.c: Likewise.
      	* expmed.c: Likewise.
      	* expr.c: Likewise.
      	* fold-const.c: Likewise.
      	* genautomata.c: Likewise.
      	* gimple-fold.c: Likewise.
      	* hard-reg-set.h: Likewise.
      	* ifcvt.c: Likewise.
      	* ipa-comdats.c: Likewise.
      	* ipa-cp.c: Likewise.
      	* ipa-devirt.c: Likewise.
      	* ipa-fnsummary.c: Likewise.
      	* ipa-icf.c: Likewise.
      	* ipa-inline-transform.c: Likewise.
      	* ipa-inline.c: Likewise.
      	* ipa-polymorphic-call.c: Likewise.
      	* ipa-profile.c: Likewise.
      	* ipa-prop.c: Likewise.
      	* ipa-pure-const.c: Likewise.
      	* ipa-reference.c: Likewise.
      	* ipa-split.c: Likewise.
      	* ipa-visibility.c: Likewise.
      	* ipa.c: Likewise.
      	* ira-build.c: Likewise.
      	* ira-color.c: Likewise.
      	* ira-conflicts.c: Likewise.
      	* ira-costs.c: Likewise.
      	* ira-int.h: Likewise.
      	* ira-lives.c: Likewise.
      	* ira.c: Likewise.
      	* ira.h: Likewise.
      	* loop-invariant.c: Likewise.
      	* loop-unroll.c: Likewise.
      	* lower-subreg.c: Likewise.
      	* lra-assigns.c: Likewise.
      	* lra-constraints.c: Likewise.
      	* lra-eliminations.c: Likewise.
      	* lra-lives.c: Likewise.
      	* lra-remat.c: Likewise.
      	* lra-spills.c: Likewise.
      	* lra.c: Likewise.
      	* lto-cgraph.c: Likewise.
      	* lto-streamer-out.c: Likewise.
      	* postreload-gcse.c: Likewise.
      	* predict.c: Likewise.
      	* profile-count.h: Likewise.
      	* profile.c: Likewise.
      	* recog.c: Likewise.
      	* ree.c: Likewise.
      	* reload.c: Likewise.
      	* reload1.c: Likewise.
      	* reorg.c: Likewise.
      	* resource.c: Likewise.
      	* rtl.def: Likewise.
      	* rtl.h: Likewise.
      	* rtlanal.c: Likewise.
      	* sched-deps.c: Likewise.
      	* sched-ebb.c: Likewise.
      	* sched-rgn.c: Likewise.
      	* sel-sched-ir.c: Likewise.
      	* sel-sched.c: Likewise.
      	* shrink-wrap.c: Likewise.
      	* simplify-rtx.c: Likewise.
      	* symtab.c: Likewise.
      	* target.def: Likewise.
      	* toplev.c: Likewise.
      	* tree-call-cdce.c: Likewise.
      	* tree-cfg.c: Likewise.
      	* tree-complex.c: Likewise.
      	* tree-core.h: Likewise.
      	* tree-eh.c: Likewise.
      	* tree-inline.c: Likewise.
      	* tree-loop-distribution.c: Likewise.
      	* tree-nrv.c: Likewise.
      	* tree-profile.c: Likewise.
      	* tree-sra.c: Likewise.
      	* tree-ssa-alias.c: Likewise.
      	* tree-ssa-dce.c: Likewise.
      	* tree-ssa-dom.c: Likewise.
      	* tree-ssa-forwprop.c: Likewise.
      	* tree-ssa-loop-im.c: Likewise.
      	* tree-ssa-loop-ivcanon.c: Likewise.
      	* tree-ssa-loop-ivopts.c: Likewise.
      	* tree-ssa-loop-niter.c: Likewise.
      	* tree-ssa-phionlycprop.c: Likewise.
      	* tree-ssa-phiopt.c: Likewise.
      	* tree-ssa-propagate.c: Likewise.
      	* tree-ssa-threadedge.c: Likewise.
      	* tree-ssa-threadupdate.c: Likewise.
      	* tree-ssa-uninit.c: Likewise.
      	* tree-ssanames.c: Likewise.
      	* tree-streamer-out.c: Likewise.
      	* tree.c: Likewise.
      	* tree.h: Likewise.
      	* vr-values.c: Likewise.
      
      	gcc/ada/
      	* exp_ch9.adb: Mechanically replace "can not" with "cannot".
      	* libgnat/s-regpat.ads: Likewise.
      	* par-ch4.adb: Likewise.
      	* set_targ.adb: Likewise.
      	* types.ads: Likewise.
      
      	gcc/cp/
      	* cp-tree.h: Mechanically replace "can not" with "cannot".
      	* parser.c: Likewise.
      	* pt.c: Likewise.
      
      	gcc/fortran/
      	* class.c: Mechanically replace "can not" with "cannot".
      	* decl.c: Likewise.
      	* expr.c: Likewise.
      	* gfc-internals.texi: Likewise.
      	* intrinsic.texi: Likewise.
      	* invoke.texi: Likewise.
      	* io.c: Likewise.
      	* match.c: Likewise.
      	* parse.c: Likewise.
      	* primary.c: Likewise.
      	* resolve.c: Likewise.
      	* symbol.c: Likewise.
      	* trans-array.c: Likewise.
      	* trans-decl.c: Likewise.
      	* trans-intrinsic.c: Likewise.
      	* trans-stmt.c: Likewise.
      
      	gcc/go/
      	* go-backend.c: Mechanically replace "can not" with "cannot".
      	* go-gcc.cc: Likewise.
      
      	gcc/lto/
      	* lto-partition.c: Mechanically replace "can not" with "cannot".
      	* lto-symtab.c: Likewise.
      	* lto.c: Likewise.
      
      	gcc/objc/
      	* objc-act.c: Mechanically replace "can not" with "cannot".
      
      	libbacktrace/
      	* backtrace.h: Mechanically replace "can not" with "cannot".
      
      	libgcc/
      	* config/c6x/libunwind.S: Mechanically replace "can not" with
      	"cannot".
      	* config/tilepro/atomic.h: Likewise.
      	* config/vxlib-tls.c: Likewise.
      	* generic-morestack-thread.c: Likewise.
      	* generic-morestack.c: Likewise.
      	* mkmap-symver.awk: Likewise.
      
      	libgfortran/
      	* caf/single.c: Mechanically replace "can not" with "cannot".
      	* io/unit.c: Likewise.
      
      	libobjc/
      	* class.c: Mechanically replace "can not" with "cannot".
      	* objc/runtime.h: Likewise.
      	* sendmsg.c: Likewise.
      
      	liboffloadmic/
      	* include/coi/common/COIResult_common.h: Mechanically replace
      	"can not" with "cannot".
      	* include/coi/source/COIBuffer_source.h: Likewise.
      
      	libstdc++-v3/
      	* include/ext/bitmap_allocator.h: Mechanically replace "can not"
      	with "cannot".
      
      From-SVN: r267783
      Sandra Loosemore committed
  21. 07 Jan, 2019 2 commits
    • re PR fortran/45424 ([F08] Add IS_CONTIGUOUS intrinsic) · 419af57c
      2019-01-07  Thomas Koenig  <tkoenig@gcc.gnu.org>
      	Harald Anlauf <anlauf@gmx.de>
      	Tobias Burnus <burnus@gcc.gnu.org>
      
      	PR fortran/45424
      	* check.c (gfc_check_is_contiguous): New function.
      	* expr.c (gfc_is_not_contiguous): New function.
      	* gfortran.h (gfc_isym_id): Add GFC_ISYM_IS_CONTIGUOUS.
      	Add prototype for gfc_is_not_contiguous.
      	* intrinsic.c (do_ts29113_check): Add GFC_ISYM_IS_CONTIGUOUS.
      	(add_function): Add is_contiguous.
      	* intrinsic.h: Add prototypes for gfc_check_is_contiguous,
      	gfc_simplify_is_contiguous and gfc_resolve_is_contiguous.
      	* intrinsic.texi: Add IS_CONTIGUOUS.
      	* iresolve.c (gfc_resolve_is_contiguous): New function.
      	* simplify.c (gfc_simplify_is_contiguous): New function.
      	* trans-decl.c (gfor_fncecl_is_contiguous0): New variable.
      	(gfc_build_intrinsic_function_decl): Add it.
      	* trans-intrinsic.c (gfc_conv_intrinsic_is_contiguous): New
      	function.
      	(gfc_conv_intrinsic_function): Handle GFC_ISYM_IS_CONTIGUOUS.
      
      2019-01-07  Thomas Koenig  <tkoenig@gcc.gnu.org>
      	Harald Anlauf <anlauf@gmx.de>
      	Tobias Burnus <burnus@gcc.gnu.org>
      
      	PR fortran/45424
      	* Makefile.am: Add intrinsics/is_contiguous.c.
      	* Makefile.in: Regenerated.
      	* gfortran.map: Add _gfortran_is_contiguous0.
      	* intrinsics/is_contiguous.c: New file.
      	* libgfortran.h: Add prototype for is_contiguous0.
      
      2019-01-07  Thomas Koenig  <tkoenig@gcc.gnu.org>
      	Harald Anlauf <anlauf@gmx.de>
      	Tobias Burnus <burnus@gcc.gnu.org>
      
      	* gfortran.dg/is_contiguous_1.f90: New test.
      	* gfortran.dg/is_contiguous_2.f90: New test.
      	* gfortran.dg/is_contiguous_3.f90: New test.
      
      
      Co-Authored-By: Harald Anlauf <anlauf@gmx.de>
      Co-Authored-By: Tobias Burnus <burnus@gcc.gnu.org>
      
      From-SVN: r267657
      Thomas Koenig committed
    • Make GFORTRAN_9 symbol node depend on GFORTRAN_8. · 0aa6ee36
      At some point when the GFORTRAN_9 node was added it was forgotten to
      make it depend on GFORTRAN_8. This patch fixes this.
      
      Committed as obvious.
      
      2019-01-07  Janne Blomqvist  <jb@gcc.gnu.org>
      
             * gfortran.map (GFORTRAN_9): Make GFORTRAN_9 node depend on
             GFORTRAN_8.
      
      From-SVN: r267621
      Janne Blomqvist committed
  22. 05 Jan, 2019 1 commit
    • PR c/88546 - Copy attribute unusable for weakrefs · 29d24852
      gcc/c-family/ChangeLog:
      
      	PR c/88546
      	* c-attribs.c (handle_copy_attribute): Avoid copying attribute leaf.
      	Handle C++ empty throw specification and C11 _Noreturn.
      	(has_attribute): Also handle C11 _Noreturn.
      
      gcc/ChangeLog:
      
      	PR c/88546
      	* attribs.c (decls_mismatched_attributes): Avoid warning for attribute
      	leaf.
      
      gcc/testsuite/ChangeLog:
      
      	PR c/88546
      	* g++.dg/ext/attr-copy.C: New test.
      	* gcc.dg/attr-copy-4.c: Disable macro expansion tracking.
      	* gcc.dg/attr-copy-6.c: New test.
      	* gcc.dg/attr-copy-7.c: New test.
      
      From-SVN: r267591
      Martin Sebor committed
  23. 01 Jan, 2019 1 commit
  24. 31 Dec, 2018 1 commit
    • re PR fortran/82995 (Segmentation fault passing optional argument to intrinsic sum function) · 2ea47ee9
      2018-12-31  Thomas Koenig  <tkoenig@gcc.gnu.org>
      
      	PR fortran/82995
      	* trans-expr.c (gfc_conv_procedure_call):  Pass NULL pointer
      	for missing optional dummy arguments for library routines.
      	* trans-intinsic.c (conv_mask_condition): New function.
      	(gfc_conv_intrinsic_arith): Detect and handle optional mask.
      	(gfc_conv_intrinsic_minmaxloc): Likewise.
      	(gfc_conv_intrinsic_findloc): Likewise.
      	(gfc_conv_intrinsic_minmaxval): Likewise.
      	(gfc_inline_intrinsic_function_p): Do not inline for rank > 1 if
      	an optional mask is present.
      
      2018-12-31  Thomas Koenig  <tkoenig@gcc.gnu.org>
      
      	PR fortran/82995
              * m4/ifindloc0.m4: Handle case of absend optional argument, passed
      	as a NULL pointer.  Correct allocation of retarray->base_addr.
              * m4/ifindloc1.m4: Likewise.
              * m4/ifindloc2.m4: Handle case of absend optional argument, passed
      	as a NULL pointer.
              * m4/iforeach-s.m4: Likewise.
              * m4/iforeach-s2.m4: Likewise.
              * m4/iforeach.m4: Likewise.
              * m4/ifunction-s.m4: Likewise.
              * m4/ifunction-s2.m4: Likewise.
              * m4/ifunction.m4: Likewise.
              * generated/findloc0_c16.c: Regenerated.
              * generated/findloc0_c4.c: Regenerated.
              * generated/findloc0_c8.c: Regenerated.
              * generated/findloc0_i1.c: Regenerated.
              * generated/findloc0_i16.c: Regenerated.
              * generated/findloc0_i2.c: Regenerated.
              * generated/findloc0_i4.c: Regenerated.
              * generated/findloc0_i8.c: Regenerated.
              * generated/findloc0_r16.c: Regenerated.
              * generated/findloc0_r4.c: Regenerated.
              * generated/findloc0_r8.c: Regenerated.
              * generated/findloc0_s1.c: Regenerated.
              * generated/findloc0_s4.c: Regenerated.
              * generated/findloc1_c16.c: Regenerated.
              * generated/findloc1_c4.c: Regenerated.
              * generated/findloc1_c8.c: Regenerated.
              * generated/findloc1_i1.c: Regenerated.
              * generated/findloc1_i16.c: Regenerated.
              * generated/findloc1_i2.c: Regenerated.
              * generated/findloc1_i4.c: Regenerated.
              * generated/findloc1_i8.c: Regenerated.
              * generated/findloc1_r16.c: Regenerated.
              * generated/findloc1_r4.c: Regenerated.
              * generated/findloc1_r8.c: Regenerated.
              * generated/findloc1_s1.c: Regenerated.
              * generated/findloc1_s4.c: Regenerated.
              * generated/findloc2_s1.c: Regenerated.
              * generated/findloc2_s4.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/maxval0_s1.c: Regenerated.
              * generated/maxval0_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/minval0_s1.c: Regenerated.
              * generated/minval0_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/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/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.
      
      2018-12-31  Thomas Koenig  <tkoenig@gcc.gnu.org>
      
      	PR fortran/82995
      	* gfortran.dg/optional_absent_4.f90: New test.
      	* gfortran.dg/optional_absent_5.f90: New test.
      
      From-SVN: r267487
      Thomas Koenig committed
  25. 29 Dec, 2018 2 commits
  26. 28 Dec, 2018 1 commit
  27. 21 Dec, 2018 1 commit
  28. 20 Dec, 2018 1 commit
  29. 09 Dec, 2018 1 commit
    • re PR libfortran/88411 (Random crashes for ASYNCHRONOUS writes (bad locking?)) · d0cbb206
      2018-12-09  Thomas Koenig  <tkoenig@gcc.gnu.org>
      
      	PR fortran/88411
      	* io/transfer.c (dta_transfer_init): Do not treat as an
      	asynchronous statement unless the statement has
      	ASYNCHRONOUS="YES".
      	(st_write_done): Likewise.
      	(st_read_done): Do not perform async_wait for synchronous I/O
      	on an async unit.
      	(st_read_done): Likewise.
      
      2018-12-09  Thomas Koenig  <tkoenig@gcc.gnu.org>
      
      	PR fortran/88411
      	* testsuite/libgomp.fortran/async_io_8.f90: New test.
      
      From-SVN: r266929
      Thomas Koenig committed
  30. 02 Dec, 2018 1 commit