www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.bugs - [Issue 21879] New: -betterC "undefined reference to '_memset32'"

https://issues.dlang.org/show_bug.cgi?id=21879

          Issue ID: 21879
           Summary: -betterC "undefined reference to '_memset32'"
           Product: D
           Version: D2
          Hardware: x86_64
                OS: Linux
            Status: NEW
          Severity: regression
          Priority: P1
         Component: dmd
          Assignee: nobody puremagic.com
          Reporter: thomas.bockman gmail.com

This (or something similar) used to work, but now fails with a linker error
"undefined reference to '_memset32'":

/////////////////////////////////////////////////////////
module app;

extern(C) void main() {
    int[17] stuff;
    stuff[] = 7;
}
/////////////////////////////////////////////////////////

Also, the above example crashes the "All DMD compilers" option on run.dlang.io:

/////////////////////////////////////////////////////////
std.conv.ConvException /home/travis/dlang/dmd-2.094.1/linux/bin64/../../src/phobos/std/conv.d(2225):
Can't parse string: bool should be case-insensitive 'true' or 'false'
----------------
??:? pure  safe bool std.conv.parse!(bool, immutable(char)[]).parse(ref
immutable(char)[]) [0x4fa101]
??:? pure  safe bool std.conv.toImpl!(bool,
immutable(char)[]).toImpl(immutable(char)[]) [0x4fa160]
??:? pure  safe bool
std.conv.to!(bool).to!(immutable(char)[]).to(immutable(char)[]) [0x4f9fbf]
??:?  safe bool std.getopt.handleOption!(bool*).handleOption(immutable(char)[],
bool*, ref immutable(char)[][], ref std.getopt.configuration, bool) [0x4ca23c]
??:?  safe void std.getopt.getoptImpl!(immutable(char)[], bool*,
immutable(char)[], immutable(char)[][]*, immutable(char)[], bool*,
immutable(char)[], void delegate() pure nothrow  safe,
std.getopt.config).getoptImpl(ref immutable(char)[][], ref
std.getopt.configuration, ref std.getopt.GetoptResult, ref
std.getopt.GetOptException, void[][immutable(char)[]],
void[][immutable(char)[]], immutable(char)[], bool*, immutable(char)[],
immutable(char)[][]*, immutable(char)[], bool*, immutable(char)[], void
delegate() pure nothrow  safe, std.getopt.config) [0x4c9c10]
??:?  safe std.getopt.GetoptResult std.getopt.getopt!(immutable(char)[], bool*,
immutable(char)[], immutable(char)[][]*, immutable(char)[], bool*,
immutable(char)[], void delegate() pure nothrow  safe,
std.getopt.config).getopt(ref immutable(char)[][], immutable(char)[], bool*,
immutable(char)[], immutable(char)[][]*, immutable(char)[], bool*,
immutable(char)[], void delegate() pure nothrow  safe, std.getopt.config)
[0x4c96e4]
??:? _Dmain [0x4bc5d8]
/////////////////////////////////////////////////////////

--
Apr 29