Name Date Size #Lines LOC

..--

READMEH A D25-Jun-20263.5 KiB8464

cmath_h.cfgH A D25-Jun-202618.1 KiB391376

cstdio_h.cfgH A D25-Jun-20265 KiB233226

cstdlib_h.cfgH A D25-Jun-20264.6 KiB230220

cstring_h.cfgH A D25-Jun-20263 KiB129123

ctime_h.cfgH A D25-Jun-20261.8 KiB8175

cwchar_h.cfgH A D25-Jun-20266.4 KiB281272

README

1#
2# This file and its contents are supplied under the terms of the
3# Common Development and Distribution License ("CDDL"), version 1.0.
4# You may only use this file in accordance with the terms of version
5# 1.0 of the CDDL.
6#
7# A full copy of the text of the CDDL should have accompanied this
8# source.  A copy of the CDDL is also available via the Internet at
9# http://www.illumos.org/license/CDDL.
10#
11
12#
13# Copyright 2015 Garrett D'Amore <garrett@damore.org>
14# Copyright 2016 Joyent, Inc.
15# Copyright 2026 Gordon W. Ross
16#
17
18The configuration files in this directory are structured using the
19syntax defined in the ../README file.  They make use of the compilation
20environments declared in ../cxx-symbols-env.cfg, and are processed by the
21symbols test.
22
23We have organized the files by header file, that is the tests for symbols
24declared in a header file (e.g. <cstdlib>) appear in a file based on that
25header file's name (e.g. cstdlib_h.cfg.)  This is purely for convenience.
26
27Within these various declarations, we have the following field types:
28
29<envs>    This is a list of compilation environments where the symbol
30          should be legal.  To indicate that the symbol must not be legal
31          an environment group can be prefixed with "-".  For example,
32          "CXX11+ -CXX_C99+" indicates a symbol that is legal in all C++11
33          and later environments, except those with C99 extensions enabled.
34          Multiple environments or environment groups are allowd, and
35          you can add or remove to previous groups with subsequent ones.
36          Environment names are defined in ../cxx-symbols-env.cfg.
37
38<name>    This is a symbol name.  It follows the rules for C++ symbol names.
39          Names may include a namespace prefix, e.g. "std::sin", to test
40          that the symbol is visible in the given namespace.
41
42<header>  This is a header file, for example, unistd.h.  Conventionally,
43          the header files used should match the file where the test is
44          declared.
45
46<type>    This is a C++ type.  Function types can be declared without their
47          names, e.g. "void (*)(int)".  Structures (e.g. "struct stat") and
48          pointer types (e.g. "pthead_t *") are legal as well.
49
50Here are the types of declarations in these files:
51
52type | <name> | <header> | <envs>
53
54    Tests for a C++ type with <name>.  The test verifies that a variable with
55    this type can be declared when the <header> is included.
56
57value | <name> | <type> | <header> | <envs>
58
59    Tests for a value named <name>, of type <type>.  The test attempts to
60    assign the given value to a scratch variable declared with the given
61    type.  The value can be a macro or other C++ symbol.
62
63define | <name> | <value> | <header> | <envs>
64
65    Tests for a definition named <name>.  The test verifies that the
66    pre-processor sees the definition.  If the <value> entry is not
67    empty then the check also verifies that there is strict equality
68    between the pre-processor value and it.  Only strict equality checks
69    are supported at this time.
70
71func | <name> | <type> | <type> [; <type> ]... | <header> | <envs>
72
73    Tests whether a function <name>, returning the first <type>, and
74    taking arguments of following <type> values, is declared.  Note that
75    the argument types are separated by semicolons.  For varargs style
76    functions, leave out the ... part.  For function declarations
77    that have no declared arguments, either void can specified, or
78    the type list can be omitted.
79
80Examples:
81
82    func | std::time	| time_t | time_t *	| ctime | CXX11+
83    func | std::mktime	| time_t | struct tm *	| ctime | CXX11+
84