skiaをコンパイルしたときのgccでのワーニング
mmm -B ./external/skia 2>&1 | tee make_skia.log
In file included from external/skia/src/images/SkImageDecoder.cpp:9:0: external/skia/include/core/SkImageDecoder.h: In constructor 'SkImageDecoder::SkImageDecoder()': external/skia/include/core/SkImageDecoder.h:480:29: warning: 'SkImageDecoder::fDitherImage' will be initialized after [-Wreorder] bool fDitherImage; ^
[-Wreorder]は、初期化の順番についての警告
クラス内メンバ変数の初期化順序には規約がある
external/skia/src/pdf/SkPDFGraphicState.cpp: In member function 'void SkPDFGraphicState::populateDict()': external/skia/src/pdf/SkPDFGraphicState.cpp:217:46: warning: passing 'SkPaint::Cap' chooses 'int32_t {aka int}' over 'size_t {aka unsigned int}' [-Wsign-promo] insertInt("LC", fPaint.getStrokeCap()); ^
- Wsign-promo (C++のみ)
オーバーロード解決に際して、 無符合型もしくは列挙型から有符合型への整数拡張が、 (その有符合型と)同サイズの無符合型への整数拡張よりも優先されて選択される場合に警告を出力します。 以前のバージョンのg++は無符合性を維持するよう試みますが、 C++標準は現在の振る舞いを義務づけています。
external/skia/src/opts/SkBlitMask_opts_arm_neon.cpp: In function 'void SkBlitLCD16OpaqueRow_neon(SkPMColor*, const uint16_t*, SkColor, int, SkPMColor)': external/skia/src/opts/SkBlitMask_opts_arm_neon.cpp:177:75: warning: 'vcolB' may be used uninitialized in this function [-Wmaybe-uninitialized] vdst.val[NEON_B] = SkBlend32_neon8(vcolB, vdst.val[NEON_B], vmaskB); ^
GCC -Wuninitialized / -Wmaybe-uninitialized issues