------- Comment #23 from jakub at gcc dot gnu dot org 2006-10-04 22:20 ------- "i"(&var) of course can't work with -fpic, it would only work at the expense of text relocations, but those are not allowed on some architectures and highly undesirable on the rest of architectures. In position independent code, &var typically means you need to load that address from global offset table into a register, and a register of course can't satisfy "i" constraint.
-- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23200