Thread overview
[Issue 22374] [REG 2.093] 'import std;' with -checkaction=context causes link error
Sep 08, 2022
Andrej Mitrovic
Jan 10, 2023
Iain Buclaw
Sep 30
kdevel
Sep 30
kdevel
September 08, 2022
https://issues.dlang.org/show_bug.cgi?id=22374

Andrej Mitrovic <andrej.mitrovich@gmail.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |andrej.mitrovich@gmail.com

--- Comment #1 from Andrej Mitrovic <andrej.mitrovich@gmail.com> ---
Just ran into this one. So sad it's been broken for a year.

I don't recall what was the reason this option is enabled via the -checkaction=context switch? Is it to avoid additional memory allocations?

--
December 19, 2022
https://issues.dlang.org/show_bug.cgi?id=22374

elpenguino+D@gmail.com changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |elpenguino+D@gmail.com

--- Comment #2 from elpenguino+D@gmail.com ---
I've just encountered this as well. Still fails on DMD 2.101.1 with the same
missing symbol, but when combined with -allinst, it fails in a subtly different
way:
```
/dlang/dmd/linux/bin64/../../src/phobos/std/variant.d:941: error: undefined
reference to
'_D4core8internal7dassert__T14_d_assert_failTbZQtFNaNbNiNfMxAyaxbZAya'
```

This one is a `pure nothrow @nogc @safe immutable(char)[]
core.internal.dassert._d_assert_fail!(bool)._d_assert_fail(scope
const(immutable(char)[]), const(bool))`

--
January 10, 2023
https://issues.dlang.org/show_bug.cgi?id=22374

Iain Buclaw <ibuclaw@gdcproject.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           See Also|                            |https://issues.dlang.org/sh
                   |                            |ow_bug.cgi?id=22902

--
September 30
https://issues.dlang.org/show_bug.cgi?id=22374

kdevel <kdevel@vogtner.de> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |kdevel@vogtner.de

--- Comment #3 from kdevel <kdevel@vogtner.de> ---
(In reply to Paul Backus from comment #0)
> As of DMD 2.097.2, compiling the following program with the flag `-checkaction=context` results in a linker error.
> 
> ---
> import std;
> 
> void main()
> {
>     assert(0);
> }
> ---
> 

WORKSFORME

$ dmd --version
DMD64 D Compiler v2.109.1
Copyright (C) 1999-2024 by The D Language Foundation, All Rights Reserved
written by Walter Bright
$ cat asszer.d
import std;

void main()
{
    assert(0);
}
$ dmd asszer.d
$ ./asszer
core.exception.AssertError@asszer.d(5): Assertion failure
----------------
??:? _d_assertp [0x4bbf14]
??:? _Dmain [0x4b30e0]

--
September 30
https://issues.dlang.org/show_bug.cgi?id=22374

--- Comment #4 from kdevel <kdevel@vogtner.de> ---
Correction: WORKSFORME

$ dmd -checkaction=context asszer.d
$ ./asszer
core.exception.AssertError@asszer.d(5): Assertion failure
----------------
??:? _d_assertp [0x4bbf14]
??:? _Dmain [0x4b30e0]

--