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