------- Comment #7 from jobnoorman at gmail dot com 2010-08-18 14:03 ------- (In reply to comment #3) > Looking at the diagnostics issued when -pedantic is added, I think the right > conversion is > > (void*)(plain_foobar_t)&Foo::foobar > > That still uses the G++ extension, and doesn't give the asm error even without > optimisation.
That looks like a workaround to me. How could it ever be that "(void*)some_expression" is accepted as a constant expression when "some_expression" is not? -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45303