swift
5b35938e - [Debug] Introduce use of DebugDescription macro in stdlib (#71425)

Commit
1 year ago
[Debug] Introduce use of DebugDescription macro in stdlib (#71425) Introduces the first use of `@_DebugDescription` in the standard library, applying it to `ObjectIdentifier`. In order to use the DebugDescription macro in the stdlib, the following changes are required: 1. Compilation must reference the just built macros (ie `libSwiftMacros.dylib`), not those from the SDK. This is addressed by adding an explicit `-external-plugin-path` flag that overrides the defaults generated by the compiler (which uses SDK paths, where the macro may or may not exist, and may not be the current version). 2. As DebugDescription uses `@_section`, compilation enables the `SymbolLinkageMarkers` feature. Note that the use of DebugDescription is conditionally enabled for the following reasons: 1. Use is disabled in freestanding builds, where the stdlib macros are not built. 2. Use is temporarily disabled in Linux builds due to a dynamic loader issue that needs further investigation The dynamic loader error causing issues with Linux CI is: > swift-plugin-server: error while loading shared libraries: libswiftGlibc.so: cannot open shared object file: No such file or directory This PR depended on #71639, #71588, and #71685.
Author
Parents
  • stdlib/public/core
    • File
      CMakeLists.txt
    • File
      DebuggerSupport.swift
    • File
      GroupInfo.json
    • File
      ObjectIdentifier+DebugDescription.swift