<feed xmlns='http://www.w3.org/2005/Atom'>
<title>gcc.git/libgfortran/caf_shared/coarraynative.c, branch devel/coarray_native</title>
<subtitle>Unnamed repository; edit this file 'description' to name the repository.
</subtitle>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/gcc.git/'/>
<entry>
<title>Only allocate a single chunk of memory on startup.</title>
<updated>2021-10-28T20:41:40+00:00</updated>
<author>
<name>Nicolas Koenig</name>
<email>koenigni@student.ethz.ch</email>
</author>
<published>2021-10-28T20:41:40+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/gcc.git/commit/?id=9fc240973e79d797bd5a5bdcbc8d0affa3e5a08a'/>
<id>9fc240973e79d797bd5a5bdcbc8d0affa3e5a08a</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Take memory from envirnoment variables; document those.</title>
<updated>2021-10-04T20:34:53+00:00</updated>
<author>
<name>Thomas Koenig</name>
<email>tkoenig@gcc.gnu.org</email>
</author>
<published>2021-10-04T20:34:53+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/gcc.git/commit/?id=8df87c9e2c0a31c669625c4942d09b03d36c73e9'/>
<id>8df87c9e2c0a31c669625c4942d09b03d36c73e9</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Make STAT and ERRMSG work on ALLOCATE, move error handling to library.</title>
<updated>2020-12-30T16:53:31+00:00</updated>
<author>
<name>Thomas Koenig</name>
<email>tkoenig@gcc.gnu.org</email>
</author>
<published>2020-12-30T16:53:31+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/gcc.git/commit/?id=4726e39b0be3c0bc55e43d2d300f0d0b9529d883'/>
<id>4726e39b0be3c0bc55e43d2d300f0d0b9529d883</id>
<content type='text'>
This makes STAT and ERRMSG work on ALLOCATE.  It also separates
the allocation of coarrays into two functions: One without error
checking, which is called by compiler-generated code, and one
with error checking for call from user code.

In the course of looking at this, it was also noticed that
allocatable coarrays were not automatically deallocated;
this is now also fixed.  Also, saved allocatable coarrays
are now saved.

gcc/fortran/ChangeLog:

	* trans-array.c (gfc_allocate_shared_coarray): Remove extra
	arguments, just build the call.
	(allocate_shared_coarray_chk): New function.
	(gfc_array_allocate): Adjust where to set the offset.
	Error handling is done in the library for shared coarrays.
	(gfc_trans_deferred_array): No early return for allocatable
	shared coarrays.
	* trans-array.h (gfc_array_allocate): Adjust prototype.
	(gfc_allocate_shared_coarray): Likewise.
	* trans-decl.c: Rename gfor_fndecl_cas_coarray_allocate to
	gfor_fndecl_cas_coarray_alloc for
	brevity.  Add gfor_fndecl_cas_coarray_alloc_chk.
	(gfc_build_builtin_function_decls): Likewise.
	(gfc_trans_shared_coarray): Adjust calling sequence for
	gfc_allocate_shared_coarray.
	(gfc_trans_deferred_vars): Correct handling of saved
	allocatable shared coarrays.
	* trans-stmt.c (gfc_trans_sync): Adjust whitespace.o
	(coarray_alloc_p): Remove.
	(gfc_trans_allocate): Add shared_coarray variable to adjust
	status and errmsg handling.
	* trans.h: Rename gfor_fndecl_cas_coarray_allocate to
	gfor_fndecl_cas_coarray_alloc for brevity.  Add
	gfor_fndecl_cas_coarray_alloc_chk.

libgfortran/ChangeLog:

	* caf_shared/coarraynative.c (test_for_cas_errors): Correct
	handling of stat.
	* caf_shared/libcoarraynative.h (STAT_ERRMSG_ENTRY_CHECK): Use
	unlikely in condition.
	(STAT_ERRMSG_ENTRY_CHECK_RET): Likewise.
	* caf_shared/wrapper.c (cas_coarray_alloc): Adjust arguments.
	Call cas_coarray_alloc_work.
	(cas_coarray_alloc_chk): New function.
	(cas_coarray_alloc_work): New function.

gcc/testsuite/ChangeLog:

	* gfortran.dg/caf-shared/allocate_1.f90: Adjust number of calls to
	sync_all.
	* gfortran.dg/caf-shared/allocate_status_1.f90: New test.
	* gfortran.dg/caf-shared/automatic_deallocate_1.f90: New test.
	* gfortran.dg/caf-shared/save_allocatable_1.f90: New test.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This makes STAT and ERRMSG work on ALLOCATE.  It also separates
the allocation of coarrays into two functions: One without error
checking, which is called by compiler-generated code, and one
with error checking for call from user code.

In the course of looking at this, it was also noticed that
allocatable coarrays were not automatically deallocated;
this is now also fixed.  Also, saved allocatable coarrays
are now saved.

gcc/fortran/ChangeLog:

	* trans-array.c (gfc_allocate_shared_coarray): Remove extra
	arguments, just build the call.
	(allocate_shared_coarray_chk): New function.
	(gfc_array_allocate): Adjust where to set the offset.
	Error handling is done in the library for shared coarrays.
	(gfc_trans_deferred_array): No early return for allocatable
	shared coarrays.
	* trans-array.h (gfc_array_allocate): Adjust prototype.
	(gfc_allocate_shared_coarray): Likewise.
	* trans-decl.c: Rename gfor_fndecl_cas_coarray_allocate to
	gfor_fndecl_cas_coarray_alloc for
	brevity.  Add gfor_fndecl_cas_coarray_alloc_chk.
	(gfc_build_builtin_function_decls): Likewise.
	(gfc_trans_shared_coarray): Adjust calling sequence for
	gfc_allocate_shared_coarray.
	(gfc_trans_deferred_vars): Correct handling of saved
	allocatable shared coarrays.
	* trans-stmt.c (gfc_trans_sync): Adjust whitespace.o
	(coarray_alloc_p): Remove.
	(gfc_trans_allocate): Add shared_coarray variable to adjust
	status and errmsg handling.
	* trans.h: Rename gfor_fndecl_cas_coarray_allocate to
	gfor_fndecl_cas_coarray_alloc for brevity.  Add
	gfor_fndecl_cas_coarray_alloc_chk.

libgfortran/ChangeLog:

	* caf_shared/coarraynative.c (test_for_cas_errors): Correct
	handling of stat.
	* caf_shared/libcoarraynative.h (STAT_ERRMSG_ENTRY_CHECK): Use
	unlikely in condition.
	(STAT_ERRMSG_ENTRY_CHECK_RET): Likewise.
	* caf_shared/wrapper.c (cas_coarray_alloc): Adjust arguments.
	Call cas_coarray_alloc_work.
	(cas_coarray_alloc_chk): New function.
	(cas_coarray_alloc_work): New function.

gcc/testsuite/ChangeLog:

	* gfortran.dg/caf-shared/allocate_1.f90: Adjust number of calls to
	sync_all.
	* gfortran.dg/caf-shared/allocate_status_1.f90: New test.
	* gfortran.dg/caf-shared/automatic_deallocate_1.f90: New test.
	* gfortran.dg/caf-shared/save_allocatable_1.f90: New test.
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix memory calculation in get_master.</title>
<updated>2020-11-28T16:54:10+00:00</updated>
<author>
<name>Thomas Koenig</name>
<email>tkoenig@gcc.gnu.org</email>
</author>
<published>2020-11-28T16:54:10+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/gcc.git/commit/?id=00c2e5d1c15c67fc2c9d9ed86bfa1f5aa13848cc'/>
<id>00c2e5d1c15c67fc2c9d9ed86bfa1f5aa13848cc</id>
<content type='text'>
libgfortran/ChangeLog:

	* caf_shared/coarraynative.c (get_master): Use correct
	struct for sizeof calculation.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
libgfortran/ChangeLog:

	* caf_shared/coarraynative.c (get_master): Use correct
	struct for sizeof calculation.
</pre>
</div>
</content>
</entry>
<entry>
<title>Rename directory from nca to caf_shared; also rename some files.</title>
<updated>2020-11-15T14:41:40+00:00</updated>
<author>
<name>Nicolas Koenig</name>
<email>koenigni@student.ethz.ch</email>
</author>
<published>2020-11-15T14:41:40+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/gcc.git/commit/?id=21d37e5c24671e50ecc3801fd5da5b5b036c8957'/>
<id>21d37e5c24671e50ecc3801fd5da5b5b036c8957</id>
<content type='text'>
libgfortran/ChangeLog:

	* nca: Rename directory to
	* caf_shared: New name
	* Makefile.am: Change directory name from nca to caf_shared,
	nca_minmax_c to cas_collsub_c and nca_minmax to cas_collsub.
	* Makefile.in: Regenerated.
	* generated/nca_minmax_i1.c: Regenerated.
	* generated/nca_minmax_i16.c: Regenerated.
	* generated/nca_minmax_i2.c: Regenerated.
	* generated/nca_minmax_i4.c: Regenerated.
	* generated/nca_minmax_i8.c: Regenerated.
	* generated/nca_minmax_r10.c: Regenerated.
	* generated/nca_minmax_r16.c: Regenerated.
	* generated/nca_minmax_r4.c: Regenerated.
	* generated/nca_minmax_r8.c: Regenerated.
	* generated/nca_minmax_s1.c: Regenerated.
	* generated/nca_minmax_s4.c: Regenerated.
	* m4/nca-minmax-s.m4: Rename to cas_collsub-s.m4. Adjust include path.
	* m4/nca_minmax.m4: Rename to cas_collsub.m4. Adjust include path.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
libgfortran/ChangeLog:

	* nca: Rename directory to
	* caf_shared: New name
	* Makefile.am: Change directory name from nca to caf_shared,
	nca_minmax_c to cas_collsub_c and nca_minmax to cas_collsub.
	* Makefile.in: Regenerated.
	* generated/nca_minmax_i1.c: Regenerated.
	* generated/nca_minmax_i16.c: Regenerated.
	* generated/nca_minmax_i2.c: Regenerated.
	* generated/nca_minmax_i4.c: Regenerated.
	* generated/nca_minmax_i8.c: Regenerated.
	* generated/nca_minmax_r10.c: Regenerated.
	* generated/nca_minmax_r16.c: Regenerated.
	* generated/nca_minmax_r4.c: Regenerated.
	* generated/nca_minmax_r8.c: Regenerated.
	* generated/nca_minmax_s1.c: Regenerated.
	* generated/nca_minmax_s4.c: Regenerated.
	* m4/nca-minmax-s.m4: Rename to cas_collsub-s.m4. Adjust include path.
	* m4/nca_minmax.m4: Rename to cas_collsub.m4. Adjust include path.
</pre>
</div>
</content>
</entry>
</feed>
