[all-commits] [llvm/llvm-project] 6d5803: [libc++] Create a small DSL for defining Lit featu...

Louis Dionne via All-commits all-commits at lists.llvm.org
Mon Apr 27 06:56:38 PDT 2020


  Branch: refs/heads/master
  Home:   https://github.com/llvm/llvm-project
  Commit: 6d58030c8c7d481d08a549246fd3103aceb61c7b
      https://github.com/llvm/llvm-project/commit/6d58030c8c7d481d08a549246fd3103aceb61c7b
  Author: Louis Dionne <ldionne at apple.com>
  Date:   2020-04-27 (Mon, 27 Apr 2020)

  Changed paths:
    A libcxx/test/libcxx/selftest/dsl/dsl.sh.py
    A libcxx/test/libcxx/selftest/dsl/lit.local.cfg
    A libcxx/utils/libcxx/test/dsl.py

  Log Message:
  -----------
  [libc++] Create a small DSL for defining Lit features and parameters

This allows defining Lit features that can be enabled or disabled based
on compiler support, and parameters that are passed on the command line.

The main benefits are:
- Feature detection is entirely based on the substitutions provided in
  the TestingConfig object, which is simpler and decouples it from the
  complicated compiler emulation infrastructure.
- The syntax is declarative, which makes it easy to see what features
  and parameters are accepted by the test suite. This is significantly
  less entangled than the current config.py logic.
- Since feature detection is based on substitutions, it works really
  well on top of the new format, and custom Lit configurations can be
  created easily without being based on `config.py`.

Differential Revision: https://reviews.llvm.org/D78381




More information about the All-commits mailing list