------- Comment #1 from pinskia at gcc dot gnu dot org 2005-11-04 05:06 ------- Confirmed, reduced testcase as far as I can get it (and is willing to try at this point): typedef unsigned long uint32_t; typedef volatile uint32_t* const hwreg_t; struct RegisterLayout { uint32_t intmask; }; struct Controller_t { Controller_t(); inline void disableInterrupt() { *mpMaskRegister = 0; }; static hwreg_t mpMaskRegister; }; extern char SimulatedRegisters[]; hwreg_t Controller_t::mpMaskRegister = &(reinterpret_cast<volatile RegisterLayout*>(SimulatedRegisters))->intmask; Controller_t::Controller_t() { disableInterrupt(); }
-- pinskia at gcc dot gnu dot org changed: What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |NEW Ever Confirmed|0 |1 Known to fail|4.0.3 4.1.0 |4.0.3 4.1.0 4.0.0 Last reconfirmed|0000-00-00 00:00:00 |2005-11-04 05:06:42 date| | http://gcc.gnu.org/bugzilla/show_bug.cgi?id=24665