https://d.puremagic.com/issues/show_bug.cgi?id=11696
Summary: C++ incorrect static member mangling
Product: D
Version: D1 & D2
Platform: All
OS/Version: All
Status: NEW
Severity: normal
Priority: P2
Component: DMD
AssignedTo: [email protected]
ReportedBy: [email protected]
--- Comment #0 from Iain Buclaw <[email protected]> 2013-12-06 01:40:56 PST ---
class.d:
---
class Expression;
struct Loc { }
extern(C++)
class CallExp
{
static CallExp *factory(Loc, Expression, Expression)
{
assert(0);
}
}
class.cc
---
class Expression;
struct Loc { };
class CallExp
{
public:
static CallExp *factory(Loc, Expression*, Expression*);
};
CallExp *CallExp::factory(Loc, Expression*, Expression*) { }
G++ produces the following mangled symbol for factory:
_ZN7CallExp7factoryE3LocP10ExpressionS2_
Whereas cppmangle in the dfrontend produces:
_ZN7CallExp7factoryE3LocP10ExpressionS1_
--
Configure issuemail: https://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------