I'm struggling with failing unit tests that disappear if I remove the use of the const and pure attributes. Now, I'm certainly not able to guarantee that I'm using the attributes correctly everywhere, even though I thoroughly checked my uses of them. My main issue that I need answered first, though, is whether ICC is supposed to implement those attributes exactly as GCC documents them. Because I can't find documentation for the const and pure attributes in the ICC docs. If anyone knows that the pure and const implementation in ICC is flawed, I'd certainly like to know. Then I'd stop to bother and just #ifdef them out for ICC.
PS: If the ICC team would like to see lots of miscompilations from use of those attributes (I'm rather certain after a multidelta run) just check out my Vc package and compile the unit tests.
Alright, thank you. Still, not using the const and pure attribute makes all my unit tests pass, whereas with the attribute I have lots of failures. So, they seem to trigger something in the optimizer that goes berserk...