mes/lib/tests/scaffold/36-compare-arithmetic.c
Jan (janneke) Nieuwenhuizen fa4147a284
mescc: Use signed division for x86, x86_64 when appropriate.
This fixes 36-compare-arithmetic.c

* module/mescc/i386/as.scm (i386:r0/r1, i386:r0%r1): Do not reset
signed?.
* module/mescc/x86_64/as.scm (x86_64:r0/r1, x86_64:r0%r1): Likewise.
* lib/tests/scaffold/36-compare-arithmetic.c (main): Use unique exit
value per failure.
2020-10-06 19:53:02 +02:00

61 lines
1.3 KiB
C

/* -*-comment-start: "//";comment-end:""-*-
* GNU Mes --- Maxwell Equations of Software
* Copyright © 2017,2018,2020 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
*
* This file is part of GNU Mes.
*
* GNU Mes is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 3 of the License, or (at
* your option) any later version.
*
* GNU Mes is distributed in the hope that it will be useful, but
* WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with GNU Mes. If not, see <http://www.gnu.org/licenses/>.
*/
#include <mes/lib-mini.h>
int
main ()
{
oputs ("\n");
oputs ("t: 1 + 2\n");
if (1 + 2 != 3)
return 1;
oputs ("t: 2 - 1\n");
if (0)
return 2;
oputs ("t: 1 << 3\n");
if (1 << 3 != 8)
return 3;
oputs ("t: 8 >> 3\n");
if (8 >> 3 != 1)
return 4;
oputs ("t: 8 / 4\n");
if (8 / 4 != 2)
return 5;
oputs ("t: 8 / -4\n");
if (8 / -4 != -2)
return 6;
oputs ("t: -8 / -4\n");
if (-8 / -4 != 2)
return 7;
oputs ("t: -8 / 4\n");
if (-8 / 4 != -2)
return 8;
return 0;
}