GCC build failed for native with your patch on 2003-09-05T11:02:39Z.
Andrew Pinski
pinskia@physics.uc.edu
Sat Sep 6 21:26:00 GMT 2003
On Saturday, Sep 6, 2003, at 12:01 US/Pacific, Jan Hubicka wrote:
> In the case you have a testcase I can try to look into it.
> (After all I had to deal with a tons of similar issues)
Here is the reduced testcase (I think this is a Darwin specific bug
meaning
the Darwin's backend does not expect the variable to change to being a
common symbol from a non-common, I will be looking into this, Darwin's
backend
might just have to be rewritten, I already rewrote the PIC code part
The right asm does not have ".comm __ZN5ctypeIcE2idE,1" but
.globl __ZN5ctypeIcE2idE
.data
__ZN5ctypeIcE2idE:
.space 1
So it looks like unit-at-a-time is marking _ZN5ctypeIcE2idE
(ctype<char>::id)
as a common symbol but it did it after Darwin's backend saw it as a
non-common.
):
struct locale
{
struct id
{
id() { }
unsigned long _M_id() const;
};
};
template<typename _Facet>
const _Facet&
use_facet(const locale& __loc);
template<typename _CharT>
struct ctype
{
static locale::id id;
};
template<typename _CharT>
locale::id ctype<_CharT>::id;
template<>
struct ctype<char>
{
static locale::id id;
};
locale::id ctype<char>::id;
template<>
const ctype<char>&
use_facet<ctype<char> >(const locale& __loc)
{
ctype<char>::id._M_id();
}
More information about the Gcc-regression
mailing list