[Bug 837303] Re: gcov produce incorrect numbers for while loops and for loops with no increment part
dino99
837303 at bugs.launchpad.net
Thu Dec 31 15:00:40 UTC 2015
This version has expired long times ago, and so will never get support
** Tags removed: lucid
--
You received this bug notification because you are a member of Ubuntu
Foundations Bugs, which is subscribed to gcc-defaults in Ubuntu.
https://bugs.launchpad.net/bugs/837303
Title:
gcov produce incorrect numbers for while loops and for loops with no
increment part
Status in gcc-defaults package in Ubuntu:
New
Bug description:
gcov produce correct execution count for a typical for loop such as:
for (i=0;i<10;++i)
However if the increment part is removed from the for statement and
put at the end of the loop instead, the program is equivalent, but
gcov in that case will double count the line with the for statement
once per time the for loop is reached. That is if the loop was not
entered at all, the line where the for loop starts is counted twice.
The same incorrect behaviour is seen with any while loop.
Here is the gcov output from four variations of a program
demonstrating incorrect execution counts in three of the four cases.
-: 1:#include <stdio.h>
-: 2:
1: 3:int main()
-: 4:{
-: 5: int i;
11: 6: for (i=0;i<10;++i) {
10: 7: printf("%d\n",i);
-: 8: }
1: 9: return 0;
-: 10:}
-: 1:#include <stdio.h>
-: 2:
1: 3:int main()
-: 4:{
-: 5: int i;
12: 6: for (i=0;i<10;) {
10: 7: printf("%d\n",i);
10: 8: ++i;
-: 9: }
1: 10: return 0;
-: 11:}
-: 1:#include <stdio.h>
-: 2:
1: 3:int main()
-: 4:{
1: 5: int i=0;
12: 6: while (i<10) {
10: 7: printf("%d\n",i);
10: 8: ++i;
-: 9: }
1: 10: return 0;
-: 11:}
-: 1:#include <stdio.h>
-: 2:
1: 3:int main()
-: 4:{
1: 5: int i=20;
2: 6: while (i<10) {
#####: 7: printf("%d\n",i);
#####: 8: ++i;
-: 9: }
1: 10: return 0;
-: 11:}
ProblemType: Bug
DistroRelease: Ubuntu 10.04
Package: gcc 4:4.4.3-1ubuntu1
ProcVersionSignature: Ubuntu 2.6.32-33.72-generic 2.6.32.41+drm33.18
Uname: Linux 2.6.32-33-generic i686
Architecture: i386
Date: Tue Aug 30 12:47:01 2011
EcryptfsInUse: Yes
InstallationMedia: Ubuntu 10.04.3 LTS "Lucid Lynx" - Release i386 (20110720.1)
ProcEnviron:
PATH=(custom, user)
LANG=en_DK.utf8
SHELL=/bin/bash
SourcePackage: gcc-defaults
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/gcc-defaults/+bug/837303/+subscriptions
More information about the foundations-bugs
mailing list