https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79587
Martin Liška <marxin at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |nathan at gcc dot gnu.org Known to work| |4.5.4, 4.6.4, 4.7.4, 4.8.5 Known to fail| |4.9.4, 5.4.0, 6.3.0 --- Comment #5 from Martin Liška <marxin at gcc dot gnu.org> --- Ok, there's a simple test-case: unsigned long global = -1099511627775; unsigned long __attribute__((noinline)) test(unsigned long v, unsigned long v2) { unsigned long x = v % v2; return x; } int main(int argc, char **argv) { unsigned long r = 0; for (int i = 0; i < 100; i++) r += test(argc, global); return r; } Problem is that we use unsigned long type for instrumentation, but gcoc_type is a signed type. Thus causing issues. I'll come up with a patch for the PR.