source: tests/identity.cfa @ 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: 1.2 KB
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//
[dc8511c]7// identity.cfa --
[86bd7c1f]8//
[5a7966b]9// Author           : Peter A. Buhr
[86bd7c1f]10// Created On       : Wed May 27 17:56:53 2015
11// Last Modified By : Peter A. Buhr
[200fcb3]12// Last Modified On : Tue Dec  4 21:38:59 2018
13// Update Count     : 20
[86bd7c1f]14//
15
[73abe95]16#include <fstream.hfa>
[a0d9f94]17
[fd54fef]18forall( T )
[a0d9f94]19T identity( T t ) {
[86bd7c1f]20        return t;
[a0d9f94]21}
22
23int main() {
[200fcb3]24        sout | "char\t\t\t"                                     | identity( 'z' );
25        sout | "signed int\t\t"                         | identity( 4 );
26        sout | "unsigned int\t\t"                       | identity( 4u );
27        sout | "signed long int\t\t"            | identity( 4l );
28        sout | "unsigned long int\t"            | identity( 4ul );
29        sout | "signed long long int\t"         | identity( 4ll );
30        sout | "unsigned long long int\t"       | identity( 4ull );
31        sout | "float\t\t\t"                            | identity( 4.1f );
32        sout | "double\t\t\t"                           | identity( 4.1 );
33        sout | "long double\t\t"                        | identity( 4.1l );
34        sout | "float _Complex\t\t"                     | identity( -4.1F-2.0iF );
35        sout | "double _Complex\t\t"            | identity( -4.1D-2.0iD );
36        sout | "long double _Complex\t"         | identity( -4.1L-2.0iL );
[a0d9f94]37}
[42dcae7]38
39// Local Variables: //
[86bd7c1f]40// tab-width: 4 //
[dc8511c]41// compile-command: "cfa identity.cfa" //
[42dcae7]42// End: //
Note: See TracBrowser for help on using the repository browser.