# HG changeset patch # User Bruno Haible # Date 1268012704 -3600 # Node ID c95229d45bfa871610d634b82e9b15afd54daa9b # Parent 97975056e796c9203a81b7125b9d318c4cdd5275 Tests of module 'stdlib' in C++ mode. diff --git a/ChangeLog b/ChangeLog --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,13 @@ 2010-03-07 Bruno Haible + Tests of module 'stdlib' in C++ mode. + * tests/test-stdlib-c++.cc: New file. + * modules/stdlib-tests (Files): Add it and tests/signature.h. + (Depends-on): Add ansi-c++-opt. + (Makefile.am): Arrange to compile and run test-stdlib-c++. + * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Invoke + gl_MODULE_INDICATOR. + Tests of module 'stdio' in C++ mode. * tests/test-stdio-c++.cc: New file. * modules/stdio-tests (Files): Add it and tests/signature.h. diff --git a/m4/stdlib_h.m4 b/m4/stdlib_h.m4 --- a/m4/stdlib_h.m4 +++ b/m4/stdlib_h.m4 @@ -1,4 +1,4 @@ -# stdlib_h.m4 serial 22 +# stdlib_h.m4 serial 23 dnl Copyright (C) 2007-2010 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, @@ -43,6 +43,8 @@ dnl Use AC_REQUIRE here, so that the default settings are expanded once only. AC_REQUIRE([gl_STDLIB_H_DEFAULTS]) GNULIB_[]m4_translit([$1],[abcdefghijklmnopqrstuvwxyz./-],[ABCDEFGHIJKLMNOPQRSTUVWXYZ___])=1 + dnl Define it also as a C macro, for the benefit of the unit tests. + gl_MODULE_INDICATOR([$1]) ]) AC_DEFUN([gl_STDLIB_H_DEFAULTS], diff --git a/modules/stdlib-tests b/modules/stdlib-tests --- a/modules/stdlib-tests +++ b/modules/stdlib-tests @@ -1,11 +1,20 @@ Files: tests/test-stdlib.c +tests/test-stdlib-c++.cc +tests/signature.h Depends-on: verify +ansi-c++-opt configure.ac: Makefile.am: TESTS += test-stdlib check_PROGRAMS += test-stdlib +if ANSICXX +TESTS += test-stdlib-c++ +check_PROGRAMS += test-stdlib-c++ +test_stdlib_c___SOURCES = test-stdlib-c++.cc +test_stdlib_c___LDADD = $(LDADD) $(LIBINTL) $(LIB_CLOCK_GETTIME) +endif diff --git a/tests/test-stdlib-c++.cc b/tests/test-stdlib-c++.cc new file mode 100644 --- /dev/null +++ b/tests/test-stdlib-c++.cc @@ -0,0 +1,138 @@ +/* Test of substitute in C++ mode. + Copyright (C) 2010 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 , 2010. */ + +#define GNULIB_NAMESPACE gnulib +#include + +#include + +#include "signature.h" + + +//SIGNATURE_CHECK (GNULIB_NAMESPACE::atexit, int, (void (*) (void))); + +#if GNULIB_ATOLL +SIGNATURE_CHECK (GNULIB_NAMESPACE::atoll, long long, (const char *)); +#endif + +#if GNULIB_CALLOC_POSIX +SIGNATURE_CHECK (GNULIB_NAMESPACE::calloc, void *, (size_t, size_t)); +#endif + +#if GNULIB_CANONICALIZE_FILE_NAME +SIGNATURE_CHECK (GNULIB_NAMESPACE::canonicalize_file_name, char *, + (const char *)); +#endif + +#if GNULIB_GETLOADAVG +SIGNATURE_CHECK (GNULIB_NAMESPACE::getloadavg, int, (double[], int)); +#endif + +#if GNULIB_GETSUBOPT +SIGNATURE_CHECK (GNULIB_NAMESPACE::getsubopt, int, + (char **, char *const *, char **)); +#endif + +#if GNULIB_MALLOC_POSIX +SIGNATURE_CHECK (GNULIB_NAMESPACE::malloc, void *, (size_t)); +#endif + +#if GNULIB_MKDTEMP +SIGNATURE_CHECK (GNULIB_NAMESPACE::mkdtemp, char *, (char *)); +#endif + +#if GNULIB_MKOSTEMP +SIGNATURE_CHECK (GNULIB_NAMESPACE::mkostemp, int, (char *, int)); +#endif + +#if GNULIB_MKOSTEMPS +SIGNATURE_CHECK (GNULIB_NAMESPACE::mkostemps, int, (char *, int, int)); +#endif + +#if GNULIB_MKSTEMP +SIGNATURE_CHECK (GNULIB_NAMESPACE::mkstemp, int, (char *)); +#endif + +#if GNULIB_MKSTEMPS +SIGNATURE_CHECK (GNULIB_NAMESPACE::mkstemps, int, (char *, int)); +#endif + +#if GNULIB_PUTENV +SIGNATURE_CHECK (GNULIB_NAMESPACE::putenv, int, (char *)); +#endif + +#if GNULIB_RANDOM_R +SIGNATURE_CHECK (GNULIB_NAMESPACE::random_r, int, + (struct random_data *, int32_t *)); +#endif + +#if GNULIB_RANDOM_R +SIGNATURE_CHECK (GNULIB_NAMESPACE::srandom_r, int, + (unsigned int, struct random_data *)); +#endif + +#if GNULIB_RANDOM_R +SIGNATURE_CHECK (GNULIB_NAMESPACE::initstate_r, int, + (unsigned int, char *, size_t, struct random_data *)); +#endif + +#if GNULIB_RANDOM_R +SIGNATURE_CHECK (GNULIB_NAMESPACE::setstate_r, int, + (char *, struct random_data *)); +#endif + +#if GNULIB_REALLOC_POSIX +SIGNATURE_CHECK (GNULIB_NAMESPACE::realloc, void *, (void *, size_t)); +#endif + +#if GNULIB_REALPATH +SIGNATURE_CHECK (GNULIB_NAMESPACE::realpath, char *, (const char *, char *)); +#endif + +#if GNULIB_RPMATCH +SIGNATURE_CHECK (GNULIB_NAMESPACE::rpmatch, int, (const char *)); +#endif + +#if GNULIB_SETENV +SIGNATURE_CHECK (GNULIB_NAMESPACE::setenv, int, + (const char *, const char *, int)); +#endif + +#if GNULIB_STRTOD +SIGNATURE_CHECK (GNULIB_NAMESPACE::strtod, double, (const char *, char **)); +#endif + +#if GNULIB_STRTOLL +SIGNATURE_CHECK (GNULIB_NAMESPACE::strtoll, long long, + (const char *, char **, int)); +#endif + +#if GNULIB_STRTOULL +SIGNATURE_CHECK (GNULIB_NAMESPACE::strtoull, unsigned long long, + (const char *, char **, int)); +#endif + +#if GNULIB_UNSETENV +SIGNATURE_CHECK (GNULIB_NAMESPACE::unsetenv, int, (const char *)); +#endif + + +int +main () +{ +}