id:eel3:20090326:1238028836 で入手したgccr.plで、10000行以上のソースファイルのログをマージしようとしたらパースに失敗した。
ちょっと悩んだのだけど、要はパースの時に例えば「/^\s+-:\s+(\d+):(.*)/」のような正規表現でマッチングしていて、
-: 10:
こんな行にはマッチするけど、
-:10000:
この行にはマッチしない。「-:」と「10000」の間に空白文字が含まれていないので、マッチしなくて当たり前だ。
一応「/^\s+-:\s*(\d+):(.*)/」に修正して対応。まあ10000行以上のソースを取り扱っている私のほうが悪い気もするけど。
ところでつい最近気づいたのだけど、gcovにログをマージして出力するオプションが追加されるかもしれない。いや、実は既に追加されているかも。
- http://www.selenic.com/pipermail/mercurial/2008-June/019540.html
- http://gcc.gnu.org/ml/gcc-patches/2007-06/msg00423.html
- http://gcc.gnu.org/ml/gcc-patches/2007-06/msg00671.html
- http://gcc.gnu.org/ml/gcc-patches/2007-06/msg00806.html
- m/--merge-resultsというオプションを追加するパッチ。「patch approved.」だから、承認されたということだろうか?
ただ、仮に取り込まれるとして、GCCのどのバージョンからか分からない。4.3以降だろうか?