this should be fixed in trunk/4.5 with this changeset: http://gcc.gnu.org/viewcvs?view=revision&revision=152027 though, we dont have exactly the same patches for 4.4, i'll attach one that fixes it.
Created attachment 229273 [details, diff] fix
added the patch with gcc-4.4.4