バグベアードを更新しました。

バグベアード


http://tricklib.com/cxx/ex/bugbeard/


2008-06-05 以下の点を修正。
  • VC でバグベアード適用時に過剰となる警告を抑止する為に #pragma warning(disable:1011) を追加。
  • bug_thread_local_storage::init() に base_type::set_target_storage() を含める。
  • g++ のバージョンによってはコンパイルエラーの原因になるので PTHREAD_MUTEX_INITIALIZER の使用を中止。( pthread_mutex_init() による初期化を行っているので元々不要な指定。 )
  • 現時点のバグベアードでは不要だが対称性の観点から bug_unlock クラスを追加。
  • ロケーション情報の除去オプション(BUG_WITHOUT_LOCATION_INFO)を追加。
  • switch の値が出力されないバグの解決。

...前回追加した BUG_MASK_SOURCECODE と今回追加した BUG_WITHOUT_LOCATION_INFO を両方指定するとログがかなりすっきりします。ただ、その分情報が随分と少なくなるので実用的かどうかはかなり怪しいです。(^^;

それからプアなコンパイラ上ではまだまだ不安定なのでプロファイラ機能やカーネルモード対応の前に安定化を図る予定です。