Good people, CAVEATS:
Forgive me if this gets double posted. I sent it last night after joining this mailing list, but my message did not seem to show up. I'm also not sure I'm directing this issue to the correct mailing list. If not, perhaps someone would be so kind as to point me to the right mailing list or forum. VERSION INFO: > lsb_release -a No LSB modules are available. Distributor ID: Ubuntu Description: Ubuntu 10.04.4 LTS Release: 10.04 Codename: lucid > g++ --version g++.real (Ubuntu 4.4.3-4ubuntu5.1) 4.4.3 > gcov --version gcov (Ubuntu 4.4.3-4ubuntu5.1) 4.4.3 > lcov --version lcov: LCOV version 1.7 THE PROBLEM: I am a member of a perhaps dying breed that likes opening and closing braces to line up vertically. This is causing lcov & gcov to incorrectly claim that the line associated with the opening brace of some constructors to never be hit by my unit tests. Here is a sample snip-it of lcov output for one of my constructors: 1135 : template<typename M, typename V> 1136 14 : inline Group<M,V>::Group(Domain<M,V>& d) 1137 : : _domain(&d), 1138 : _end(this, &_end, &_end, 0x80000000), 1139 14 : _size(0) 1140 0 : { 1141 14 : } Notice that line 1140 is said to be executed zero times. In my browser, it's highlighted in an obnoxious and most chastising red. If I reformat my source, moving the open brace to the end of the previous line, I get these serene results: 1135 : template<typename M, typename V> 1136 14 : inline Group<M,V>::Group(Domain<M,V>& d) 1137 : : _domain(&d), 1138 : _end(this, &_end, &_end, 0x80000000), 1139 14 : _size(0) { 1140 14 : } MY QUESTIONS: Is this a known bug? Is the bug most likely with gcc or gcov/lcov? Has this bug already been fixed in a later release of gcc and/or gcov/lcov? Is this all part of an insidious and highly orchestrated conspiracy to force "wrong-headed" folks like myself to put their braces out of alignment? Thanks, Matt Busche