LDC Internal Compiler Error (ICE) mentioning attribute 'nocapture'

Basile B. b2.temp at gmx.com
Sun Mar 31 17:33:00 UTC 2024


On Saturday, 30 March 2024 at 09:35:24 UTC, Per Nordlöw wrote:
> Does anybody recognize the error
>
> ```
> Attribute 'nocapture' does not apply to function return values
>   %12 = call noalias nocapture align 8 ptr @_D3xxx(ptr nonnull 
> %10, { i64, ptr } %11) #2, !dbg !7978
> Attribute 'nocapture' does not apply to function return values
> ptr @_D3xyz1
> Attribute 'nocapture' does not apply to function return values
> ptr @_D3xyz2
> Attribute 'nocapture' does not apply to function return values
> ptr @_D3xyz3
> Attribute 'nocapture' does not apply to function return values
> ptr @_D3xyz4
> Attribute 'nocapture' does not apply to function return values
>   %164 = call noalias nocapture align 8 ptr @_D3xyz5(ptr 
> nonnull %rS72) #0, !dbg !9872
> Attribute 'nocapture' does not apply to function return values
>   %285 = call noalias nocapture align 8 ptr @_D3xyz6(ptr 
> nonnull %284) #0, !dbg !9949
> LLVM ERROR: Broken module found, compilation aborted!
> #0 0x00005ee4d001e927 
> llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) 
> (~/.local/ldc2-1.37.0-beta1-linux-x86_64/bin/ldc2+0x6ad4927)
> Error ldc2 failed with exit code -6.
> ```
>
> ? It's outputted when building and running a test application 
> with ldc with the compiler flag `-fsanitize=address`.

You can try to add the flag `--disable-verify` (see 
https://github.com/ldc-developers/ldc/issues/4284, that prevents 
an internal verification).

The error message indicates that a "parameter-only" attribute is 
used as a "call-site" one. Not sure if this is a bug in LDC or in 
LLVM but if you're lucky the attribute will be a no-op and the 
generated binary will just work.


More information about the Digitalmars-d-learn mailing list