summaryrefslogtreecommitdiffstats
path: root/lib/libcxx/docs/DesignDocs/FeatureTestMacros.rst
diff options
context:
space:
mode:
authorpatrick <patrick@openbsd.org>2021-01-11 15:31:56 +0000
committerpatrick <patrick@openbsd.org>2021-01-11 15:31:56 +0000
commit16ff81ed8b1ed9aa06fb1a731a2446b66cc49bef (patch)
tree1a7dd8152b94f6f8cd318bfaf85aa40882854583 /lib/libcxx/docs/DesignDocs/FeatureTestMacros.rst
parentsync (diff)
downloadwireguard-openbsd-16ff81ed8b1ed9aa06fb1a731a2446b66cc49bef.tar.xz
wireguard-openbsd-16ff81ed8b1ed9aa06fb1a731a2446b66cc49bef.zip
Remove libc++ and libc++abi 8.0.0 now that we switched to version 10.0.1
in the gnu/ directory.
Diffstat (limited to 'lib/libcxx/docs/DesignDocs/FeatureTestMacros.rst')
-rw-r--r--lib/libcxx/docs/DesignDocs/FeatureTestMacros.rst44
1 files changed, 0 insertions, 44 deletions
diff --git a/lib/libcxx/docs/DesignDocs/FeatureTestMacros.rst b/lib/libcxx/docs/DesignDocs/FeatureTestMacros.rst
deleted file mode 100644
index d55af96c674..00000000000
--- a/lib/libcxx/docs/DesignDocs/FeatureTestMacros.rst
+++ /dev/null
@@ -1,44 +0,0 @@
-===================
-Feature Test Macros
-===================
-
-.. contents::
- :local:
-
-Overview
-========
-
-Libc++ implements the C++ feature test macros as specified in the C++2a standard,
-and before that in non-normative guiding documents (`See cppreference <https://en.cppreference.com/w/User:D41D8CD98F/feature_testing_macros>`)
-
-Design
-======
-
-Feature test macros are tricky to track, implement, test, and document correctly.
-They must be available from a list of headers, they may have different values in
-different dialects, and they may or may not be implemented by libc++. In order to
-track all of these conditions correctly and easily, we want a Single Source of
-Truth (SSoT) that defines each feature test macro, its values, the headers it
-lives in, and whether or not is is implemented by libc++. From this SSoA we
-have enough information to automatically generate the `<version>` header,
-the tests, and the documentation.
-
-Therefore we maintain a SSoA in
-`libcxx/test/std/language.support/support.limits/support.limits.general/generate_feature_test_macro_components.py`
-which doubles as a script to generate the following components:
-
-* The `<version>` header.
-* The version tests under `support.limits.general`.
-* Documentation of libc++'s implementation of each macro.
-
-Usage
-=====
-
-The `generate_feature_test_macro_components.py` script is used to track and
-update feature test macros in libc++.
-
-Whenever a feature test macro is added or changed, the table should be updated
-and the script should be re-ran. The script will clobber the existing test files
-and the documentation and it will generate a new `<version>` header as a
-temporary file. The generated `<version>` header should be merged with the
-existing one. \ No newline at end of file