//
// Cforall Version 1.0.0 Copyright (C) 2015 University of Waterloo
//
// The contents of this file are covered under the licence agreement in the
// file "LICENCE" distributed with Cforall.
//
// abstype.c -- 
//
// Author           : Richard C. Bilson
// Created On       : Wed May 27 17:56:53 2015
// Last Modified By : Peter A. Buhr
// Last Modified On : Wed May 27 18:10:01 2015
// Update Count     : 4
//

type T | { T x( T ); };

T y( T t ) {
	T t_instance;
	return x( t );
}

forall(type T) lvalue T	*?( T* );
int ?++( int *);
int ?=?( int*, int );
forall(dtype DT) DT* ?=?( DT **, DT* );

type U = int*;

U x( U u ) {
	U u_instance = u;
	(*u)++;
	return u;
}

int *break_abstraction( U u ) {
	return u;
}

// Local Variables: //
// tab-width: 4 //
// compile-command: "cfa abstype.c" //
// End: //
