digitalmars.D.bugs - [Issue 4569] New: extern(c++) doesn't understand const types, produces bad mangled symbol
- d-bugmail puremagic.com (44/44) Aug 02 2010 http://d.puremagic.com/issues/show_bug.cgi?id=4569
- d-bugmail puremagic.com (12/12) Aug 02 2010 http://d.puremagic.com/issues/show_bug.cgi?id=4569
http://d.puremagic.com/issues/show_bug.cgi?id=4569 Summary: extern(c++) doesn't understand const types, produces bad mangled symbol Product: D Version: D2 Platform: Other OS/Version: Windows Status: NEW Keywords: patch Severity: normal Priority: P2 Component: DMD AssignedTo: nobody puremagic.com ReportedBy: braddr puremagic.com --- diff --git a/src/cppmangle.c b/src/cppmangle.c index 7023614..9ed6ff3 100644 --- a/src/cppmangle.c +++ b/src/cppmangle.c -198,6 +198,9 void TypeBasic::toCppMangle(OutBuffer *buf, CppMangleState *cms) */ + if (isConst()) + buf->writeByte('K'); + switch (ty) { case Tvoid: c = 'v'; break; test case, foo.d: extern(C++) void foo(const char *); void bar(){ foo(""); } $ dmd -c foo.d $ nm foo.o | grep foo U _Z3fooPc With the fix: U _Z3fooPKc $ echo _Z3fooPc | c++filt foo(char*) $ echo _Z3fooPKc | c++filt foo(char const*) -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
Aug 02 2010
http://d.puremagic.com/issues/show_bug.cgi?id=4569 Walter Bright <bugzilla digitalmars.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED CC| |bugzilla digitalmars.com Resolution| |FIXED 17:53:21 PDT --- http://www.dsource.org/projects/dmd/changeset/594 -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
Aug 02 2010