Bug 4645 – to!string(const char*) in library causes Optlink to issue warning

Status
RESOLVED
Resolution
FIXED
Severity
normal
Priority
P2
Component
tools
Product
D
Version
D2
Platform
x86
OS
Windows
Creation time
2010-08-15T03:20:00Z
Last change time
2017-01-10T01:41:27Z
Keywords
Optlink
Assigned to
nobody
Creator
aldacron

Comments

Comment #0 by aldacron — 2010-08-15T03:20:46Z
Given the following module: ------------------ module tos; import std.string : to; import std.stdio : writeln; void dotos() { const char* str = "Foo"; writeln(to!string(str)); } ------------------ Compile with: dmd -lib tos.d Then take this module: ------------------ module tosmain; import tos; void main() { dotos(); } ------------------ And compile with: dmd tos.lib tosmain.d The output is the following: OPTLINK (R) for Win32 Release 8.00.2 Copyright (C) Digital Mars 1989-2009 All rights reserved. http://www.digitalmars.com/ctg/optlink.html tos.lib Warning 140: Library probably needs FIXLIB However, in my Derelict libraries, I have a utility function that wraps to!string to convert from a C string to a D string, but this warning is not given when linking with that lib. I've been unable to reproduce it in a small test case for comparison, as I keep getting this warning no matter what I do. Regardless, the output of the program is unaffected.
Comment #1 by bugzilla — 2010-09-01T19:23:03Z
2378 has a small test case for it.
Comment #2 by bugzilla — 2010-09-01T20:39:27Z
Fixed linker 8.00.7