Quantcast
Channel: Intel® Software - Intel® C++ Compiler
Viewing all articles
Browse latest Browse all 1175

icc-16.0.3 not respecting fno-strict-overflow flag?

$
0
0
$ icc -v
icc version 16.0.3 (gcc version 4.8.0 compatibility)

$ cat b.c

void
foo(int fl) {
  long i;

  for (i = 0; i < fl + 1; i++) {
      printf("%d\n", i);
    }
}

$ cat main.c

#include <limits.h>
void foo(int fl);
int
main()
{
  foo(INT_MAX);
}

$ icc -m32 -O0 -fno-strict-overflow -falias -no-ansi-alias main.c b.c -o O0.out
$ icc -m32 -O2 -fno-strict-overflow -falias -no-ansi-alias main.c b.c -o O2.out

$ ./O0.out
<no output>
$ ./O2.out
0
1
2
...

For O2, icc seems to be incorrectly ignoring the -fno-strict-overflow flag in 32-bit mode.  The problem does not occur in 64-bit mode.

We are wondering if we should expect -fno-strict-overflow flag to work correctly with icc or not?


Viewing all articles
Browse latest Browse all 1175

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>