>From 1a016b72a9ea5d48c6eab35494282ec657db6e18 Mon Sep 17 00:00:00 2001 From: Bruno Haible Date: Thu, 16 May 2024 01:23:39 +0200 Subject: [PATCH 2/2] stdbit-h: Add tests. * tests/test-stdbit-h.c: New file. * tests/test-stdbit-h-c++.cc: New file. * modules/stdbit-h-tests: New file. * modules/stdbit-h-c++-tests: New file. --- ChangeLog | 8 ++++++++ modules/stdbit-h-c++-tests | 17 ++++++++++++++++ modules/stdbit-h-tests | 12 ++++++++++++ tests/test-stdbit-h-c++.cc | 32 ++++++++++++++++++++++++++++++ tests/test-stdbit-h.c | 40 ++++++++++++++++++++++++++++++++++++++ 5 files changed, 109 insertions(+) create mode 100644 modules/stdbit-h-c++-tests create mode 100644 modules/stdbit-h-tests create mode 100644 tests/test-stdbit-h-c++.cc create mode 100644 tests/test-stdbit-h.c diff --git a/ChangeLog b/ChangeLog index 9ce6d303c6..9a69d7e2aa 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,11 @@ +2024-05-15 Bruno Haible + + stdbit-h: Add tests. + * tests/test-stdbit-h.c: New file. + * tests/test-stdbit-h-c++.cc: New file. + * modules/stdbit-h-tests: New file. + * modules/stdbit-h-c++-tests: New file. + 2024-05-15 Bruno Haible stdbit-h: Make it work in C++ mode. diff --git a/modules/stdbit-h-c++-tests b/modules/stdbit-h-c++-tests new file mode 100644 index 0000000000..aad80e4f8d --- /dev/null +++ b/modules/stdbit-h-c++-tests @@ -0,0 +1,17 @@ +Files: +tests/test-stdbit-h-c++.cc + +Status: +c++-test + +Depends-on: +ansi-c++-opt + +configure.ac: + +Makefile.am: +if ANSICXX +TESTS += test-stdbit-h-c++ +check_PROGRAMS += test-stdbit-h-c++ +test_stdbit_h_c___SOURCES = test-stdbit-h-c++.cc +endif diff --git a/modules/stdbit-h-tests b/modules/stdbit-h-tests new file mode 100644 index 0000000000..67a8ff645c --- /dev/null +++ b/modules/stdbit-h-tests @@ -0,0 +1,12 @@ +Files: +tests/test-stdbit-h.c +tests/macros.h + +Depends-on: +stdbit-h-c++-tests + +configure.ac: + +Makefile.am: +TESTS += test-stdbit-h +check_PROGRAMS += test-stdbit-h diff --git a/tests/test-stdbit-h-c++.cc b/tests/test-stdbit-h-c++.cc new file mode 100644 index 0000000000..db19ea798d --- /dev/null +++ b/tests/test-stdbit-h-c++.cc @@ -0,0 +1,32 @@ +/* Test of substitute in C++ mode. + Copyright (C) 2024 Free Software Foundation, Inc. + + This program 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. + + This program 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 this program. If not, see . */ + +/* Written by Bruno Haible , 2024. */ + +#define GNULIB_NAMESPACE gnulib +#include + +#include + +/* Check against conflicts between and the C++ header files. */ +#include +#include + + +int +main () +{ +} diff --git a/tests/test-stdbit-h.c b/tests/test-stdbit-h.c new file mode 100644 index 0000000000..f024e4ac6f --- /dev/null +++ b/tests/test-stdbit-h.c @@ -0,0 +1,40 @@ +/* Test of substitute. + Copyright (C) 2024 Free Software Foundation, Inc. + + This program 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. + + This program 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 this program. If not, see . */ + +/* Written by Bruno Haible , 2024. */ + +#include + +#include + +/* Check that __STDC_ENDIAN_BIG__ and __STDC_ENDIAN_LITTLE__ are defined. */ +int a[2] = { __STDC_ENDIAN_BIG__, __STDC_ENDIAN_LITTLE__ }; + +/* Check that __STDC_ENDIAN_NATIVE__ is defined. */ +int b = __STDC_ENDIAN_NATIVE__; + +/* Check that __STDC_ENDIAN_NATIVE__ is either __STDC_ENDIAN_BIG__ or + __STDC_ENDIAN_LITTLE__. */ +#if !(__STDC_ENDIAN_NATIVE__ == __STDC_ENDIAN_BIG__ \ + || __STDC_ENDIAN_NATIVE__ == __STDC_ENDIAN_LITTLE__) +# error "unknown endianness" +#endif + +int +main (void) +{ + return 0; +} -- 2.34.1