attributes.d (ldc-1.32.1) | : | attributes.d (ldc-1.32.2) | ||
---|---|---|---|---|
skipping to change at line 295 | skipping to change at line 295 | |||
/** | /** | |||
* Disables a particular sanitizer for this function. | * Disables a particular sanitizer for this function. | |||
* Valid sanitizer names are all names accepted by `-fsanitize=` commandline opt ion. | * Valid sanitizer names are all names accepted by `-fsanitize=` commandline opt ion. | |||
* Multiple sanitizers can be disabled by applying this UDA multiple times, e.g. | * Multiple sanitizers can be disabled by applying this UDA multiple times, e.g. | |||
* `@noSanitize("address") `@noSanitize("thread")` to disable both ASan and TSan . | * `@noSanitize("address") `@noSanitize("thread")` to disable both ASan and TSan . | |||
*/ | */ | |||
struct noSanitize { | struct noSanitize { | |||
string sanitizerName; | string sanitizerName; | |||
} | } | |||
/++ | ||||
+ Disables split-stack instrumentation for this function, overriding the | ||||
+ `-fsplit-stack` commandline function. | ||||
+ | ||||
+ Examples: | ||||
+ --- | ||||
+ import ldc.attributes; | ||||
+ | ||||
+ @noSplitStack int user_function() { return 1; } | ||||
+ --- | ||||
+/ | ||||
immutable noSplitStack = _noSplitStack(); | ||||
private struct _noSplitStack | ||||
{ | ||||
} | ||||
/** | /** | |||
* Sets the optimization strategy for a function. | * Sets the optimization strategy for a function. | |||
* Valid strategies are "none", "optsize", "minsize". The strategies are mutuall y exclusive. | * Valid strategies are "none", "optsize", "minsize". The strategies are mutuall y exclusive. | |||
* | * | |||
* @optStrategy("none") in particular is useful to selectively debug functions w hen a | * @optStrategy("none") in particular is useful to selectively debug functions w hen a | |||
* fully unoptimized program cannot be used (e.g. due to too low performance). | * fully unoptimized program cannot be used (e.g. due to too low performance). | |||
* | * | |||
* Strategy "none": | * Strategy "none": | |||
* Disables most optimizations for a function. | * Disables most optimizations for a function. | |||
* It implies `pragma(inline, false)`: the function is never inlined | * It implies `pragma(inline, false)`: the function is never inlined | |||
End of changes. 1 change blocks. | ||||
0 lines changed or deleted | 16 lines changed or added |