From 4134285e8ed3dd85003ceedf905a6b2a3aa514d1 Mon Sep 17 00:00:00 2001 From: Ekaitz Zarraga Date: Tue, 29 Aug 2023 20:09:36 +0200 Subject: [PATCH] lib: tests: Add 16-cast. * lib/tests/scaffold/16-cast.c: Add file. * build-aux/check-mescc.sh (mes_tests): Add it. --- build-aux/check-mescc.sh | 1 + lib/tests/scaffold/16-cast.c | 36 ++++++++++++++++++++++++++++++++++++ 2 files changed, 37 insertions(+) create mode 100644 lib/tests/scaffold/16-cast.c diff --git a/build-aux/check-mescc.sh b/build-aux/check-mescc.sh index fc05f12a..b8dfc6d3 100755 --- a/build-aux/check-mescc.sh +++ b/build-aux/check-mescc.sh @@ -46,6 +46,7 @@ lib/tests/scaffold/13-if-neq.c lib/tests/scaffold/14-if-goto.c lib/tests/scaffold/15-if-not-f.c lib/tests/scaffold/16-if-t.c +lib/tests/scaffold/16-cast.c lib/tests/scaffold/17-compare-char.c lib/tests/scaffold/17-compare-ge.c lib/tests/scaffold/17-compare-gt.c diff --git a/lib/tests/scaffold/16-cast.c b/lib/tests/scaffold/16-cast.c new file mode 100644 index 00000000..d83d4e8b --- /dev/null +++ b/lib/tests/scaffold/16-cast.c @@ -0,0 +1,36 @@ +/* -*-comment-start: "//";comment-end:""-*- + * GNU Mes --- Maxwell Equations of Software + * Copyright © 2023 Ekaitz Zarraga + * + * 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 . + */ + +int +main () +{ + char c = -1; + unsigned u = c; + unsigned t = (unsigned char)c; + int i = -1; + int r = u != -1; + if (r) + return 2; + i = 255; + r = t != 255; + if (r) + return 1; + return 0; +}