[all-commits] [llvm/llvm-project] a9845d: [clang] Add some CodeGen tests for CWG 1xx issues ...

Vlad Serebrennikov via All-commits all-commits at lists.llvm.org
Mon Feb 12 10:36:19 PST 2024


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: a9845d602288263a5e2c260ac1a9655ae6b7b119
      https://github.com/llvm/llvm-project/commit/a9845d602288263a5e2c260ac1a9655ae6b7b119
  Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
  Date:   2024-02-12 (Mon, 12 Feb 2024)

  Changed paths:
    A clang/test/CXX/drs/dr124.cpp
    A clang/test/CXX/drs/dr185.cpp
    A clang/test/CXX/drs/dr193.cpp
    A clang/test/CXX/drs/dr199.cpp
    M clang/test/CXX/drs/dr1xx.cpp
    M clang/www/cxx_dr_status.html

  Log Message:
  -----------
  [clang] Add some CodeGen tests for CWG 1xx issues (#80338)

Covers CWG issues
[124](https://cplusplus.github.io/CWG/issues/124.html)
[185](https://cplusplus.github.io/CWG/issues/185.html),
[193](https://cplusplus.github.io/CWG/issues/193.html),
[199](https://cplusplus.github.io/CWG/issues/199.html).

I also looked at [190](https://cplusplus.github.io/CWG/issues/190.html),
but concluded that we should try to test it via C++20
`std::is_layout_compatible` first.

I tried to group tests under `dr1xx-codegen.cpp`, but found out that
CodeGen can arbitrarily reorder function definitions in LLVM module. In
particular, interleaving between regular function definitions and
destructor definitions present in the source might not be preserved,
which messes up FileCheck directives. `CHECK-DAG` can help with that,
but its interaction with `CHECK-LABEL` (lack of thereof) would require
me to relax tests too much.




More information about the All-commits mailing list