OK Tom, I filed an issue on this (CQ149875, for future reference) but I'm still not 100% sure that the problem is with icc, it could be a g++ problem. When I look at it in the debugger, the gcc built library does something a little funky that looks like it's overwriting the contents of one of the parameters (i.e. *this) with a 0. I'm not sure we're doing something wrong or if gcc is. I wrote a small test case to just build addDays() and I can see the problem if I build it with gcc -O2 and build main with icc. If I build both with icc, or even if I build addDays with gcc -O0 then I don't see the problem. In short, one workaround maybe to build libqt-mt with icc, if that's feasible. In the meantime I've escalated this to our developers to get their feedback on it and will update you here when I learn more.