source: tests/zombies/abstype.c @ fd54fef

ADTarm-ehast-experimentalenumforall-pointer-decayjacob/cs343-translationnew-ast-unique-exprpthread-emulationqualifiedEnum
Last change on this file since fd54fef was fd54fef, checked in by Michael Brooks <mlbrooks@…>, 3 years ago

Converting the project to use the new syntax for otype, dtype and ttytpe.

Changed prelude (gen), libcfa and test suite to use it. Added a simple deprecation rule of the old syntax to the parser; we might wish to support both syntaxes "officially," like with an extra CLI switch, but this measure should serve as a simple reminder for our team to try the new syntax.

  • Property mode set to 100644
File size: 806 bytes
RevLine 
[86bd7c1f]1//
2// Cforall Version 1.0.0 Copyright (C) 2015 University of Waterloo
3//
4// The contents of this file are covered under the licence agreement in the
5// file "LICENCE" distributed with Cforall.
6//
7// abstype.c --
8//
9// Author           : Richard C. Bilson
10// Created On       : Wed May 27 17:56:53 2015
11// Last Modified By : Peter A. Buhr
[506d4f0]12// Last Modified On : Wed Sep 30 13:55:47 2020
13// Update Count     : 10
[86bd7c1f]14//
[a0d9f94]15
[7937abf]16otype T | { T x( T ); };
[a0d9f94]17
18T y( T t ) {
[86bd7c1f]19        T t_instance;
20        return x( t );
[a0d9f94]21}
22
[fd54fef]23forall( T ) T *?( T * );
[7937abf]24int ?++( int * );
25int ?=?( int *, int );
[fd54fef]26forall( DT & ) DT * ?=?( DT **, DT * );
[a0d9f94]27
[7937abf]28otype U = int *;
[a0d9f94]29
30U x( U u ) {
[86bd7c1f]31        U u_instance = u;
32        (*u)++;
33        return u;
[a0d9f94]34}
35
36int *break_abstraction( U u ) {
[86bd7c1f]37        return u;
[a0d9f94]38}
[86bd7c1f]39
40// Local Variables: //
41// tab-width: 4 //
42// compile-command: "cfa abstype.c" //
43// End: //
Note: See TracBrowser for help on using the repository browser.