Index: libcfa/src/Makefile.am
===================================================================
--- libcfa/src/Makefile.am	(revision a51c0c0a97b0c532d996238f0e964cd2baea63ad)
+++ libcfa/src/Makefile.am	(revision ada0246da4815f49ee693b2ef8f8722d8e94d54e)
@@ -11,6 +11,6 @@
 ## Created On       : Sun May 31 08:54:01 2015
 ## Last Modified By : Peter A. Buhr
-## Last Modified On : Sun May 17 21:10:26 2020
-## Update Count     : 243
+## Last Modified On : Tue May 26 14:03:18 2020
+## Update Count     : 244
 ###############################################################################
 
@@ -41,5 +41,5 @@
 headers_nosrc = bitmanip.hfa math.hfa gmp.hfa time_t.hfa clock.hfa \
 		bits/align.hfa bits/containers.hfa bits/defs.hfa bits/debug.hfa bits/locks.hfa containers/list.hfa
-headers = fstream.hfa iostream.hfa iterator.hfa limits.hfa rational.hfa time.hfa stdlib.hfa common.hfa \
+headers = common.hfa fstream.hfa heap.hfa iostream.hfa iterator.hfa limits.hfa rational.hfa time.hfa stdlib.hfa \
 		containers/maybe.hfa containers/pair.hfa containers/result.hfa containers/stackLockFree.hfa containers/vector.hfa
 
Index: libcfa/src/concurrency/coroutine.cfa
===================================================================
--- libcfa/src/concurrency/coroutine.cfa	(revision a51c0c0a97b0c532d996238f0e964cd2baea63ad)
+++ libcfa/src/concurrency/coroutine.cfa	(revision ada0246da4815f49ee693b2ef8f8722d8e94d54e)
@@ -10,6 +10,6 @@
 // Created On       : Mon Nov 28 12:27:26 2016
 // Last Modified By : Peter A. Buhr
-// Last Modified On : Tue Feb  4 12:29:25 2020
-// Update Count     : 16
+// Last Modified On : Tue May 26 22:06:09 2020
+// Update Count     : 21
 //
 
@@ -18,5 +18,4 @@
 #include "coroutine.hfa"
 
-extern "C" {
 #include <stddef.h>
 #include <malloc.h>
@@ -24,9 +23,10 @@
 #include <string.h>
 #include <unistd.h>
-// use this define to make unwind.h play nice, definetely a hack
+#include <sys/mman.h>									// mprotect
+extern "C" {
+// use this define to make unwind.h play nice, definitely a hack
 #define HIDE_EXPORTS
 #include <unwind.h>
 #undef HIDE_EXPORTS
-#include <sys/mman.h>
 }
 
Index: libcfa/src/concurrency/kernel.cfa
===================================================================
--- libcfa/src/concurrency/kernel.cfa	(revision a51c0c0a97b0c532d996238f0e964cd2baea63ad)
+++ libcfa/src/concurrency/kernel.cfa	(revision ada0246da4815f49ee693b2ef8f8722d8e94d54e)
@@ -10,6 +10,6 @@
 // Created On       : Tue Jan 17 12:27:26 2017
 // Last Modified By : Peter A. Buhr
-// Last Modified On : Tue Feb  4 13:03:15 2020
-// Update Count     : 58
+// Last Modified On : Tue May 26 22:05:19 2020
+// Update Count     : 59
 //
 
@@ -21,12 +21,12 @@
 #include <errno.h>
 #include <string.h>
-extern "C" {
 #include <stdio.h>
 #include <fenv.h>
-#include <sys/resource.h>
 #include <signal.h>
 #include <unistd.h>
 #include <limits.h>										// PTHREAD_STACK_MIN
 #include <sys/mman.h>									// mprotect
+extern "C" {
+#include <sys/resource.h>
 }
 
Index: libcfa/src/heap.cfa
===================================================================
--- libcfa/src/heap.cfa	(revision a51c0c0a97b0c532d996238f0e964cd2baea63ad)
+++ libcfa/src/heap.cfa	(revision ada0246da4815f49ee693b2ef8f8722d8e94d54e)
@@ -10,6 +10,6 @@
 // Created On       : Tue Dec 19 21:58:35 2017
 // Last Modified By : Peter A. Buhr
-// Last Modified On : Sun May 17 20:58:17 2020
-// Update Count     : 762
+// Last Modified On : Wed May 27 15:08:49 2020
+// Update Count     : 770
 //
 
@@ -20,7 +20,6 @@
 #include <string.h>										// memset, memcpy
 #include <limits.h>										// ULONG_MAX
-extern "C" {
+#include <malloc.h>										// memalign, malloc_usable_size
 #include <sys/mman.h>									// mmap, munmap
-} // extern "C"
 
 #include "bits/align.hfa"								// libPow2
@@ -29,5 +28,4 @@
 #include "startup.hfa"									// STARTUP_PRIORITY_MEMORY
 //#include "stdlib.hfa"									// bsearchl
-#include "malloc.h"
 #include "bitmanip.hfa"									// ceiling
 
Index: libcfa/src/heap.hfa
===================================================================
--- libcfa/src/heap.hfa	(revision ada0246da4815f49ee693b2ef8f8722d8e94d54e)
+++ libcfa/src/heap.hfa	(revision ada0246da4815f49ee693b2ef8f8722d8e94d54e)
@@ -0,0 +1,50 @@
+// 
+// Cforall Version 1.0.0 Copyright (C) 2016 University of Waterloo
+//
+// The contents of this file are covered under the licence agreement in the
+// file "LICENCE" distributed with Cforall.
+// 
+// heap.hfa -- 
+// 
+// Author           : Peter A. Buhr
+// Created On       : Tue May 26 11:23:55 2020
+// Last Modified By : Peter A. Buhr
+// Last Modified On : Tue May 26 18:13:56 2020
+// Update Count     : 7
+// 
+
+#pragma once
+
+size_t default_mmap_start();							// CFA extras
+size_t default_heap_expansion();
+
+bool traceHeap();
+bool traceHeapOn();
+bool traceHeapOff();
+
+bool traceHeapTerm();
+bool traceHeapTermOn();
+bool traceHeapTermOff();
+
+bool checkFree();
+bool checkFreeOn();
+bool checkFreeOff();
+
+extern "C" {
+	void * aalloc( size_t dim, size_t elemSize );
+	void * resize( void * oaddr, size_t size );
+	void * amemalign( size_t align, size_t dim, size_t elemSize );
+	void * cmemalign( size_t align, size_t noOfElems, size_t elemSize );
+	size_t malloc_size( void * addr );
+	size_t malloc_alignment( void * addr );
+	bool malloc_zero_fill( void * );
+	int malloc_stats_fd( int fd );
+} // extern "C"
+
+void * resize( void * oaddr, size_t nalign, size_t size );
+void * realloc( void * oaddr, size_t nalign, size_t size );
+
+// Local Variables: //
+// mode: c //
+// tab-width: 4 //
+// End: //
Index: libcfa/src/stdhdr/malloc.h
===================================================================
--- libcfa/src/stdhdr/malloc.h	(revision a51c0c0a97b0c532d996238f0e964cd2baea63ad)
+++ libcfa/src/stdhdr/malloc.h	(revision ada0246da4815f49ee693b2ef8f8722d8e94d54e)
@@ -10,37 +10,13 @@
 // Created On       : Thu Jul 20 15:58:16 2017
 // Last Modified By : Peter A. Buhr
-// Last Modified On : Thu Apr 16 22:44:06 2020
-// Update Count     : 13
+// Last Modified On : Wed May 27 14:13:14 2020
+// Update Count     : 18
 // 
-
-
-size_t default_mmap_start();							// CFA extras
-size_t default_heap_expansion();
-
-bool traceHeap();
-bool traceHeapOn();
-bool traceHeapOff();
-
-bool traceHeapTerm();
-bool traceHeapTermOn();
-bool traceHeapTermOff();
-
-bool checkFree();
-bool checkFreeOn();
-bool checkFreeOff();
-
-extern "C" {
-void * aalloc( size_t noOfElems, size_t elemSize );
-void * amemalign( size_t alignment, size_t noOfElems, size_t elemSize );
-void * cmemalign( size_t alignment, size_t noOfElems, size_t elemSize );
-size_t malloc_alignment( void * );
-bool malloc_zero_fill( void * );
-size_t malloc_size( void * );
-int malloc_stats_fd( int fd );
-} // extern "C"
 
 extern "C" {
 #include_next <malloc.h>								// has internal check for multiple expansion
 } // extern "C"
+
+#include <heap.hfa>
 
 // Local Variables: //
Index: libcfa/src/stdhdr/sys/mman.h
===================================================================
--- libcfa/src/stdhdr/sys/mman.h	(revision ada0246da4815f49ee693b2ef8f8722d8e94d54e)
+++ libcfa/src/stdhdr/sys/mman.h	(revision ada0246da4815f49ee693b2ef8f8722d8e94d54e)
@@ -0,0 +1,24 @@
+// 
+// Cforall Version 1.0.0 Copyright (C) 2016 University of Waterloo
+// 
+// The contents of this file are covered under the licence agreement in the
+// file "LICENCE" distributed with Cforall.
+// 
+// mman.h -- 
+// 
+// Author           : Peter A. Buhr
+// Created On       : Tue May 26 21:23:45 2020
+// Last Modified By : Peter A. Buhr
+// Last Modified On : Wed May 27 14:23:41 2020
+// Update Count     : 3
+// 
+
+extern "C" {
+#include_next <sys/mman.h>									// has internal check for multiple expansion
+} // extern "C"
+
+// Local Variables: //
+// tab-width: 4 //
+// mode: c++ //
+// compile-command: "make install" //
+// End: //
Index: libcfa/src/stdhdr/sys/ucontext.h
===================================================================
--- libcfa/src/stdhdr/sys/ucontext.h	(revision a51c0c0a97b0c532d996238f0e964cd2baea63ad)
+++ 	(revision )
@@ -1,32 +1,0 @@
-//
-// Cforall Version 1.0.0 Copyright (C) 2016 University of Waterloo
-//
-// The contents of this file are covered under the licence agreement in the
-// file "LICENCE" distributed with Cforall.
-// 
-// uco.h -- 
-// 
-// Author           : Peter A. Buhr
-// Created On       : Thu Feb  8 23:48:16 2018
-// Last Modified By : Peter A. Buhr
-// Last Modified On : Fri Feb  7 19:05:41 2020
-// Update Count     : 6
-// 
-
-#if ! defined( ftype )									// nesting ?
-#define ftype ``ftype									// make keyword an identifier
-#define __CFA_UCONTEXT_H__
-#endif
-
-#include_next <sys/ucontext.h>							// must have internal check for multiple expansion
-
-#if defined( ftype ) && defined( __CFA_UCONTEXT_H__ )	// reset only if set
-#undef ftype
-#undef __CFA_UCONTEXT_H__
-#endif
-
-// Local Variables: //
-// tab-width: 4 //
-// mode: c++ //
-// compile-command: "make install" //
-// End: //
Index: libcfa/src/stdlib.hfa
===================================================================
--- libcfa/src/stdlib.hfa	(revision a51c0c0a97b0c532d996238f0e964cd2baea63ad)
+++ libcfa/src/stdlib.hfa	(revision ada0246da4815f49ee693b2ef8f8722d8e94d54e)
@@ -10,6 +10,6 @@
 // Created On       : Thu Jan 28 17:12:35 2016
 // Last Modified By : Peter A. Buhr
-// Last Modified On : Wed May 13 17:23:51 2020
-// Update Count     : 435
+// Last Modified On : Tue May 26 22:50:08 2020
+// Update Count     : 439
 //
 
@@ -19,21 +19,12 @@
 #include "bits/align.hfa"
 
+#include <malloc.h>
 #include <stdlib.h>										// *alloc, strto*, ato*
 
 // Reduce includes by explicitly defining these routines.
 extern "C" {
-	void * aalloc( size_t dim, size_t elemSize );		// CFA heap
-	void * resize( void * oaddr, size_t size );			// CFA heap
-	void * memalign( size_t align, size_t size );		// malloc.h
-	void * amemalign( size_t align, size_t dim, size_t elemSize ); // CFA heap
-	void * cmemalign( size_t align, size_t noOfElems, size_t elemSize ); // CFA heap
-	size_t malloc_size( void * addr );					// CFA heap
-	size_t malloc_usable_size( void * ptr );			// malloc.h
 	void * memset( void * dest, int fill, size_t size ); // string.h
 	void * memcpy( void * dest, const void * src, size_t size ); // string.h
 } // extern "C"
-
-void * resize( void * oaddr, size_t nalign, size_t size ); // CFA heap
-void * realloc( void * oaddr, size_t nalign, size_t size ); // CFA heap
 
 //---------------------------------------
@@ -91,4 +82,12 @@
 		return posix_memalign( (void **)ptr, align, sizeof(T) ); // C posix_memalign
 	} // posix_memalign
+
+	T * valloc( void ) {
+		return (T *)valloc( sizeof(T) );				// C valloc
+	} // valloc
+
+	T * pvalloc( void ) {
+		return (T *)pvalloc( sizeof(T) );				// C pvalloc
+	} // pvalloc
 } // distribution
 
