← Back to index
|
Original Bugzilla link
Bug 12370 – Regression: C++ name mangling broke
Status
RESOLVED
Resolution
INVALID
Severity
regression
Priority
P2
Component
dmd
Product
D
Version
D2
Platform
x86
OS
Windows
Creation time
2014-03-14T23:48:00Z
Last change time
2014-03-15T00:04:32Z
Assigned to
nobody
Creator
bugzilla
Comments
Comment #0
by bugzilla — 2014-03-14T23:48:21Z
---------- D ---------- extern (C++) void foo8(const char *); void main() { char c; foo8(&c); } ------------ C++ --------------- void foo8(const char *p) { } --------------------------------- This works in 2.065. In 2.066, C:\mars>dmc -c foo6b C:\mars>dmd foo6a foo6b.obj OPTLINK (R) for Win32 Release 8.00.14 Copyright (C) Digital Mars 1989-2013 All rights reserved.
http://www.digitalmars.com/ctg/optlink.html
foo6a.obj(foo6a) Error 42: Symbol Undefined ?foo8@@YAXQBD@Z (void cdecl foo8(char const *const )) --- errorlevel 1
Comment #1
by dlang-bugzilla — 2014-03-14T23:59:15Z
Introduced in
https://github.com/D-Programming-Language/dmd/pull/3160
Comment #2
by yebblies — 2014-03-15T00:04:32Z
The correct D declaration would be: extern (C++) void foo8(const(char)*);