The following attributes are defined for compatibility with other compilers.
@(gcc.attributes.allocSize (sizeArgIdx)) ¶@(gcc.attributes.allocSize (sizeArgIdx, numArgIdx))@(gcc.attributes.allocSize (sizeArgIdx))These attributes are a synonym for
@alloc_size(sizeArgIdx, numArgIdx, true).
Unlike @alloc_size, it uses 0-based index of the function arguments.
@(gcc.attributes.assumeUsed) ¶This attribute is a synonym for @used.
@(gcc.attributes.dynamicCompile) ¶@(gcc.attributes.dynamicCompileConst)@(gcc.attributes.dynamicCompileEmit)These attributes are accepted, but have no effect.
@(gcc.attributes.fastmath) ¶This attribute is a synonym for @optimize("Ofast"). Explicitly sets
"fast-math" for a function, enabling aggressive math optimizations.
@(gcc.attributes.hidden) ¶This attribute is a synonym for @visibility("hidden"). Sets the
visibility of a function or global variable to "hidden".
@(gcc.attributes.naked) ¶This attribute is a synonym for @attribute("naked"). Adds GCC’s
"naked" attribute to a function, disabling function prologue / epilogue
emission. Intended to be used in combination with basic asm statements.
While using extended asm or a mixture of basic asm and D code may
appear to work, they cannot be depended upon to work reliably and are not
supported.
@(gcc.attributes.noSanitize ("sanitize_option")) ¶This attribute is a synonym for @no_sanitize("sanitize_option").
@(gcc.attributes.optStrategy ("strategy")) ¶This attribute is a synonym for @optimize("O0") and
@optimize("Os"). Sets the optimization strategy for a function. Valid
strategies are "none", "optsize", "minsize". The strategies are mutually
exclusive.
@(gcc.attributes.polly)This attribute is a synonym for
@optimize("loop-parallelize-all", "loop-nest-optimize").
Only effective when GDC was built with ISL included.