[all-commits] [llvm/llvm-project] 80da58: [compiler-rt][XRay] Make `xray_interface.h` C comp...

Jan André Reuter via All-commits all-commits at lists.llvm.org
Tue May 27 00:59:36 PDT 2025


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 80da58da343620e458e34f01df95b329e7a5763c
      https://github.com/llvm/llvm-project/commit/80da58da343620e458e34f01df95b329e7a5763c
  Author: Jan André Reuter <jan.andre.reuter at hotmail.de>
  Date:   2025-05-27 (Tue, 27 May 2025)

  Changed paths:
    M compiler-rt/include/xray/xray_interface.h
    A compiler-rt/test/xray/TestCases/Posix/patching-unpatching.c

  Log Message:
  -----------
  [compiler-rt][XRay] Make `xray_interface.h` C compliant (#140068)

The XRay interface header uses no C++ specific features aside from using
the `std` namespace and including the C++ variant of C headers. Yet,
these changes prevent using `xray_interface.h` in external tools relying
on C for different reasons. Make this header C compliant by using C
headers, removing the `std` namespace from `std::size_t` and guard
`extern "C"`.

To make sure that further changes to not break the interface
accidentally, port one test from C++ to C. This requires the C23
standard to officially support the attribute syntax used in this test
case.

Note that this only resolves this issue for `xray_interface.h`.
`xray_records.h` is also not C compliant, but requires more work to
port.

Fixes #139902

Signed-off-by: Jan André Reuter <j.reuter at fz-juelich.de>



To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications


More information about the All-commits mailing list