diff options
author | Eric Fiselier <eric@efcs.ca> | 2019-02-02 23:13:49 +0000 |
---|---|---|
committer | Eric Fiselier <eric@efcs.ca> | 2019-02-02 23:13:49 +0000 |
commit | 508da4156aa6b0fd9c4a0146922268d6320fb679 (patch) | |
tree | a4f286191310a626d9c849f3b38dca7a26055ca7 | |
parent | 003311270bd3ab32852b4e45c7fd73eb41212300 (diff) | |
download | bcm5719-llvm-508da4156aa6b0fd9c4a0146922268d6320fb679.tar.gz bcm5719-llvm-508da4156aa6b0fd9c4a0146922268d6320fb679.zip |
Move the feature test macros script to the utils directory.
It doesn't make a lot of sense to keep it with the tests,
deep into the test suite directonies.
llvm-svn: 352970
-rw-r--r-- | libcxx/docs/DesignDocs/FeatureTestMacros.rst | 9 | ||||
-rwxr-xr-x | libcxx/utils/generate_feature_test_macro_components.py (renamed from libcxx/test/std/language.support/support.limits/support.limits.general/generate_feature_test_macro_components.py) | 19 |
2 files changed, 15 insertions, 13 deletions
diff --git a/libcxx/docs/DesignDocs/FeatureTestMacros.rst b/libcxx/docs/DesignDocs/FeatureTestMacros.rst index d55af96c674..2fbba6547bb 100644 --- a/libcxx/docs/DesignDocs/FeatureTestMacros.rst +++ b/libcxx/docs/DesignDocs/FeatureTestMacros.rst @@ -9,7 +9,9 @@ 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>`) +and before that in non-normative guiding documents +(`See cppreference <https://en.cppreference.com/w/User:D41D8CD98F/feature_testing_macros>`_) + Design ====== @@ -23,8 +25,7 @@ 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` +Therefore we maintain a SSoA in `libcxx/utils/generate_feature_test_macro_components.py` which doubles as a script to generate the following components: * The `<version>` header. @@ -41,4 +42,4 @@ 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 +existing one. diff --git a/libcxx/test/std/language.support/support.limits/support.limits.general/generate_feature_test_macro_components.py b/libcxx/utils/generate_feature_test_macro_components.py index 00b63d5ebb3..2bd80a858d2 100755 --- a/libcxx/test/std/language.support/support.limits/support.limits.general/generate_feature_test_macro_components.py +++ b/libcxx/utils/generate_feature_test_macro_components.py @@ -4,21 +4,22 @@ import os import tempfile def get_libcxx_paths(): - script_path = os.path.dirname(os.path.abspath(__file__)) + utils_path = os.path.dirname(os.path.abspath(__file__)) script_name = os.path.basename(__file__) - assert os.path.exists(script_path) - depth = 5 - src_root = script_path - for _ in xrange(0, 5): - src_root = os.path.dirname(src_root) + assert os.path.exists(utils_path) + src_root = os.path.dirname(utils_path) include_path = os.path.join(src_root, 'include') assert os.path.exists(include_path) docs_path = os.path.join(src_root, 'docs') assert os.path.exists(docs_path) - return script_path, script_name, src_root, include_path, docs_path + macro_test_path = os.path.join(src_root, 'test', 'std', 'language.support', + 'support.limits', 'support.limits.general') + assert os.path.exists(macro_test_path) + assert os.path.exists(os.path.join(macro_test_path, 'version.version.pass.cpp')) + return script_name, src_root, include_path, docs_path, macro_test_path -script_path, script_name, source_root, include_path, docs_path = get_libcxx_paths() +script_name, source_root, include_path, docs_path, macro_test_path = get_libcxx_paths() def has_header(h): h_path = os.path.join(include_path, h) @@ -874,7 +875,7 @@ int main() {{}} cxx17_tests=generate_std_test(test_list, 'c++17').strip(), cxx2a_tests=generate_std_test(test_list, 'c++2a').strip()) test_name = "{header}.version.pass.cpp".format(header=h) - out_path = os.path.join(script_path, test_name) + out_path = os.path.join(macro_test_path, test_name) with open(out_path, 'w') as f: f.write(test_body) |