LDC 1.15.0
    jmh530 
    john.michael.hall at gmail.com
       
    Fri Apr 12 13:26:14 UTC 2019
    
    
  
On Saturday, 6 April 2019 at 17:40:39 UTC, kinke wrote:
> 
> * New generic @llvmAttr("name") parameter UDAs, incl. @restrict 
> with C-like semantics.
> [snip]
I think I had passed over this when I first read the 
announcement. The @llvmAttr("noalias") compiled on run.dlang.org, 
but I couldn't get the @restrict to work. I assume that uses the 
most recent version of LDC, but I don't really know.
Hmm, given that these work in LDC and not DMD, making code that 
uses it compiler-agnostic might be a little more roundabout. The 
best I could think of was something like below, unless you have 
other recommendations.
version(LDC) {
      import ldc.attributes;
}
mixin template fooImpl() {}
version(LDC) {
      void foo(@llvmAttr("noalias") void* p) {
           mixin fooImpl;
      }
} else {
      void foo(void* p) {
           mixin fooImpl;
      }
}
void main()
{
}
    
    
More information about the Digitalmars-d-announce
mailing list