[Bug 106] [ARM] pragma(mangle) not working if -fsection-anchors is enabled
gdc-bugzilla at gdcproject.org
gdc-bugzilla at gdcproject.org
Sat Feb 15 11:04:51 PST 2014
http://bugzilla.gdcproject.org/show_bug.cgi?id=106
Iain Buclaw <ibuclaw at gdcproject.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|ASSIGNED |RESOLVED
Resolution| |FIXED
--- Comment #2 from Iain Buclaw <ibuclaw at gdcproject.org> 2014-02-15 19:04:51 GMT ---
(In reply to comment #1)
> Problem #2:
>
> D main ()
> {
> int D.2453;
> struct D.2452;
> int test_______________________________________9.0;
> int test_______________________________________9.0_1;
> int _2;
> }
>
>
> The DECL_NAME should really be the language name, not the DECL_ASSEMBLER_NAME.
https://github.com/D-Programming-GDC/GDC/commit/79ebb4c0012485528cbf900b8bc8280423a872ff
Now puts out:
D main ()
{
int D.2453;
struct D.2452;
int test.test9_1_e.0;
int test.test9_1_e.0_1;
int _2;
/* ... */
}
When fixing this, I found that d_comdat_group was calling DECL_ASSEMBLER_NAME
before one had been set for var decls, oops. That is not good if the DECL_NAME
has unfriendly symbols in it (eg: "quotes").
https://github.com/D-Programming-GDC/GDC/commit/64b4aa77a5d1e7254f783f9b835df216d85a3f0b
However, the code logic in -fdump-tree-optimized-asmname is still not right:
{
<bb 2>:
test_эльфийские_письмена_9 = 42;
test.test9_1_e.0_1 = test_эльфийские_письмена_9;
if (test.test9_1_e.0_1 == 42)
}
So finally:
https://github.com/D-Programming-GDC/GDC/commit/942298f595e95cc60d75fa111645498420f6aa2e
{
<bb 2>:
*test_эльфийские_письмена_9 = 42;
test.test9_1_e.0_1 = *test_эльфийские_письмена_9;
if (test.test9_1_e.0_1 == 42)
}
Fixed!
--
Configure bugmail: http://bugzilla.gdcproject.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are watching all bug changes.
More information about the D.gnu
mailing list