digitalmars.D.bugs - [Issue 11696] New: C++ incorrect static member mangling
- d-bugmail puremagic.com (42/42) Dec 06 2013 https://d.puremagic.com/issues/show_bug.cgi?id=11696
- d-bugmail puremagic.com (57/57) Dec 06 2013 https://d.puremagic.com/issues/show_bug.cgi?id=11696
- d-bugmail puremagic.com (6/6) Dec 06 2013 https://d.puremagic.com/issues/show_bug.cgi?id=11696
- d-bugmail puremagic.com (11/11) Dec 10 2013 https://d.puremagic.com/issues/show_bug.cgi?id=11696
- d-bugmail puremagic.com (11/11) Dec 10 2013 https://d.puremagic.com/issues/show_bug.cgi?id=11696
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: nobody puremagic.com ReportedBy: ibuclaw ubuntu.com 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: -------
Dec 06 2013
https://d.puremagic.com/issues/show_bug.cgi?id=11696 Iain Buclaw <ibuclaw ubuntu.com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |ibuclaw ubuntu.com G++ mangling process: mangled-name : function_decl (0x7f21d4fbd400) encoding : function_decl (0x7f21d4fbd400) name : function_decl (0x7f21d4fbd400) nested-name : function_decl (0x7f21d4fbd400) prefix : record_type (0x7f21d4fbf3f0) ++ find_substitution (record_type at 0x7f21d4fbf3f0) unqualified-name : type_decl (0x7f21d4fb8ac8) source-name : identifier_node (0x7f21d4fd0bb0) identifier : CallExp ++ add_substitution (record_type at 0x7f21d4fbf3f0) ++ substitutions S-1_ = CallExp (record_type at 0x7f21d4fbf3f0) unqualified-name : function_decl (0x7f21d4fbd400) source-name : identifier_node (0x7f21d4fd0c08) identifier : factory bare-function-type : function_type (0x7f21d4fbf690) type : record_type (0x7f21d4fbf150) ++ find_substitution (record_type at 0x7f21d4fbf150) name : type_decl (0x7f21d4fb8958) unscoped-name : type_decl (0x7f21d4fb8958) unqualified-name : type_decl (0x7f21d4fb8958) source-name : identifier_node (0x7f21d4fd0b58) identifier : Loc ++ add_substitution (record_type at 0x7f21d4fbf150) ++ substitutions S-1_ = CallExp (record_type at 0x7f21d4fbf3f0) S0_ = Loc (record_type at 0x7f21d4fbf150) type : pointer_type (0x7f21d4fbf540) ++ find_substitution (pointer_type at 0x7f21d4fbf540) type : record_type (0x7f21d4fbf0a8) ++ find_substitution (record_type at 0x7f21d4fbf0a8) name : type_decl (0x7f21d4fb88a0) unscoped-name : type_decl (0x7f21d4fb88a0) unqualified-name : type_decl (0x7f21d4fb88a0) source-name : identifier_node (0x7f21d4fd0b00) identifier : Expression ++ add_substitution (record_type at 0x7f21d4fbf0a8) ++ substitutions S-1_ = CallExp (record_type at 0x7f21d4fbf3f0) S0_ = Loc (record_type at 0x7f21d4fbf150) S1_ = Expression (record_type at 0x7f21d4fbf0a8) ++ add_substitution (pointer_type at 0x7f21d4fbf540) ++ substitutions S-1_ = CallExp (record_type at 0x7f21d4fbf3f0) S0_ = Loc (record_type at 0x7f21d4fbf150) S1_ = Expression (record_type at 0x7f21d4fbf0a8) S2_ = ??? (pointer_type at 0x7f21d4fbf540) type : pointer_type (0x7f21d4fbf540) ++ find_substitution (pointer_type at 0x7f21d4fbf540) substitution : mangle_decl_string = '_ZN7CallExp7factoryE3LocP10ExpressionS2_' -- Configure issuemail: https://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
Dec 06 2013
https://d.puremagic.com/issues/show_bug.cgi?id=11696 https://github.com/D-Programming-Language/dmd/pull/2928 -- Configure issuemail: https://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
Dec 06 2013
https://d.puremagic.com/issues/show_bug.cgi?id=11696 Commits pushed to master at https://github.com/D-Programming-Language/dmd https://github.com/D-Programming-Language/dmd/commit/99826375f9c5c56799d17f470ff1bb4e53bce743 Fix Issue 11696 - incorrect static C++ member mangling https://github.com/D-Programming-Language/dmd/commit/7b0bf9623cbb10ae7480befa2685a6baa575c812 Fix Issue 11696 - incorrect static C++ member mangling -- Configure issuemail: https://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
Dec 10 2013
https://d.puremagic.com/issues/show_bug.cgi?id=11696 Iain Buclaw <ibuclaw ubuntu.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution| |FIXED https://github.com/D-Programming-Language/dmd/commit/7b0bf9623cbb10ae7480befa2685a6baa575c812 -- Configure issuemail: https://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
Dec 10 2013