To demonstrate a bug in icc Version 14.0.3.202 Build 20140422
to build:
From the command line icc tools cmd.exe run:
C:\iccbug> make.bat
C:\iccbug> .\bug.exe
If code runs as expected bug.exe prints no output. If the bad
behavior is exhibited it prints:
bug! fullybuffered requested "int" got "fullybuffered"
There are several ways to get 14.0.3.202 to compile this correctly:
1. remove -Qrestrict from the OPTS in make.bat
2. remove -O3 from OPTS in make.bat
3. in optionv.c change the "#if 0" to "#if 1". This inserts one extra
fprintf call that should not functionally change the code.
I have tried this code and it runs correctly with icc 11.1 and 12.1, vc11, and vc10.
They all generate the expected result.
(Reported by James Burgess)
--Wayne