Mercurial > projects > ldc
view tests/mini/sextzext.d @ 983:6e68054cfc20
Fix out-ouf-source build for runtime as well.
To build out-of-source, follow these steps:
# [[Insert LLVM build instructions here]]
mkdir my_build_dir
cd my_build_dir
svn co http://svn.dsource.org/projects/tango/trunk tango
ccmake <PATH_TO_SOURCE>
# (Regular ccmake stuff, press 'c' a few times followed by 'g')
make
make runtime
# add `PWD`/bin to PATH
closes #213
author | Frits van Bommel <fvbommel wxs.nl> |
---|---|
date | Thu, 19 Feb 2009 11:01:34 +0100 |
parents | cc40db549aea |
children |
line wrap: on
line source
module mini.sextzext; void main() { byte sb = sextreturn1(); short ss = sextreturn2(); assert(ss == -2); assert(sb == -2); assert(sextparam1(-42) == -42); assert(sextparam2(-42) == -42); ubyte ub = zextreturn1(); ushort us = zextreturn2(); assert(ub == 2); assert(us == 2); assert(zextparam1(42) == 42); assert(zextparam2(42) == 42); assert(getchar() == 'a'); assert(passchar('z') == 'z'); } byte sextreturn1() { return -2; } short sextreturn2() { return -2; } ubyte zextreturn1() { return 2; } ushort zextreturn2() { return 2; } byte sextparam1(byte b) { return b; } short sextparam2(short s) { return s; } ubyte zextparam1(ubyte b) { return b; } ushort zextparam2(ushort s) { return s; } char getchar() { return 'a'; } char passchar(char ch) { return ch; }