Mercurial > projects > ldc
view tests/mini/sextzext.d @ 1462:f0423003caa6
Merge a fix from the D1 frontend to the D2 frontend.
author | Frits van Bommel <fvbommel wxs.nl> |
---|---|
date | Tue, 02 Jun 2009 20:28:53 +0200 |
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; }