------- Comment #1 from pinskia at gcc dot gnu dot org  2008-11-03 20:07 -------
Confirmed, a regression from GCC 4.1.1.
Here is a self contained example :):
class foo {
    public:
        template <typename T> operator T ();
};

template <typename T>
    inline foo::operator T () {
        return (T)0;
    }

struct bar {
    unsigned int _bar : 24;
};

int main() {
    foo a;
    unsigned int b = a;
    bar c;
    c._bar = a;
    return 1;
}


-- 

pinskia at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |pinskia at gcc dot gnu dot
                   |                            |org
           Severity|normal                      |critical
             Status|UNCONFIRMED                 |NEW
     Ever Confirmed|0                           |1
           Keywords|                            |assemble-failure
      Known to fail|                            |4.3.0 4.4.0
      Known to work|                            |4.1.1
   Last reconfirmed|0000-00-00 00:00:00         |2008-11-03 20:07:32
               date|                            |
            Summary|g++ instantiate same        |[4.2/4.3/4.4 Regression] g++
                   |operator twice due to       |instantiate same operator
                   |bitfield in -O0 mode,       |twice due to bitfield in -O0
                   |causing symbol already      |mode, causing symbol already
                   |defined assembler error     |defined assembler error
   Target Milestone|---                         |4.2.5


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38007

Reply via email to