Commit Graph

4 Commits

Author SHA1 Message Date
Dave Lee
e57f70bd4d [Debugging] Add DebugDescriptionMacro experimental feature (#73107)
This removes the leading underscore from the macro.
2024-04-18 17:25:44 -07:00
Dave Lee
fc23eef2d2 Disable macro on windows (#71685)
On windows (PECOFF), the `static let` properties produced by `DebugDescriptionMacro` 
are not constants, and as a result the `@_section` macro cannot be applied. The error 
message is:

> global variable must be a compile-time constant to use `@_section` attribute

Until this issue is addressed, DebugDescriptionMacro is disabled for windows targets.
2024-02-19 15:01:11 -08:00
Dave Lee
63e42a4f36 Switch to __TEXT segment (#71639)
The data emitted by `DebugDescriptionMacro` is constant. For that reason, it was placed 
in `__DATA_CONST`. However, this causes a problem with the linker, which emits an error 
 if the `__DATA_CONST` segment is _not_ marked `SG_READ_ONLY`.

After discussion, it was pointed out that if the constant data has no fixups, then it 
can and should be in the the `__TEXT` segment. The `__DATA_CONST` segment is for data 
that is essentially constant but contains dyld fixups.
2024-02-16 07:49:40 -08:00
Dave Lee
ad585b3195 [Debug] Add _DebugDescription macro (#69626)
Implementation of the DebugDescription macro pitched on the forums: 
https://forums.swift.org/t/pitch-debug-description-macro/67711. In this initial commit, 
the macro is named `_DebugDescription` to indicate it's internal use at this time, 
pending Swift Evolution.

rdar://115180949
2023-12-08 15:19:16 -08:00