netb2c / byte-unixbench

Automatically exported from code.google.com/p/byte-unixbench
0 stars 0 forks source link

Loop in arith.c being optimized away by GCC 4.2 #10

Open GoogleCodeExporter opened 8 years ago

GoogleCodeExporter commented 8 years ago
What steps will reproduce the problem?
1. Download and run on a recent distro (Ubuntu 12, CentOS 6)

What is the expected output? What do you see instead?
Any tests that utilize arith.c (arithoh, long, short, etc) will return 0 for 
iter instead of the expected value.

What version of the product are you using? On what operating system?
5.1.3 on Ubuntu 12.04 and CentOS 6.

Please provide any additional information below.
This is trivially fixed by changing the definition of the iter variable in 
arith.c to volatile.

The existing code attempts to prevent the loop from being optimized away by 
feeding the result variable back in to the dumb_stuff function. That should be 
completely unnecessary if iter is defined as volatile.

Original issue reported on code.google.com by site5vi...@gmail.com on 25 Apr 2013 at 12:56