Godot: core /hq2x.cppは大量の警告を生成します

作成日 2016年06月30日  ·  1コメント  ·  ソース: godotengine/godot

Godotを最初からコンパイルすると、ビルドログの半分がcore/hq2x.cpp生成された警告によるものであることに気付きました。 現在のマスターブランチの時点でのすべての警告については、添付ファイルを参照してください: godot_hq2x_warnings.txt

抜粋:

g++ -o core/hq2x.x11.tools.64.o -c -g2 -Wall -DDEBUG_ENABLED -DDEBUG_MEMORY_ENABLED -DFREETYPE_ENABLED -DOC_X86_ASM -DDEBUG_MEMORY_ALLOC -DSCI_NAMESPACE -DENABLE_DEPRECATED -DOPENGL_ENABLED -DALSA_ENABLED -DJOYDEV_ENABLED -DPULSEAUDIO_ENABLED -DX11_ENABLED -DUNIX_ENABLED -DGLES2_ENABLED -DGLES_OVER_GL -DMUSEPACK_ENABLED -DSQUISH_ENABLED -DVORBIS_ENABLED -DOPUS_ENABLED -DTHEORA_ENABLED -DTHEORALIB_ENABLED -DPNG_ENABLED -DDDS_ENABLED -DPVR_ENABLED -DJPG_ENABLED -DWEBP_ENABLED -DSPEEX_ENABLED -DTOOLS_ENABLED -DGDSCRIPT_ENABLED -DMINIZIP_ENABLED -DXML_ENABLED -DETC1_ENABLED -DGLEW_ENABLED -DGLEW_STATIC -D_REENTRANT -Icore -Icore/math -Itools -Idrivers -I. -Iplatform/x11 -I/usr/include/freetype2 -I/usr/include/libpng16 -Icore core/hq2x.cpp
core/hq2x.cpp: In function 'uint32_t* hq2x_resize(const uint32_t*, uint32_t, uint32_t, uint32_t*, uint32_t, uint32_t, uint32_t, uint32_t, bool, bool)':
core/hq2x.cpp:102:112: warning: suggest parentheses around arithmetic in operand of '|' [-Wparentheses]
  (((((C0 & MASK_A) >> 8) * W0 + ((C1 & MASK_A) >> 8) * W1 + ((C2 & MASK_A) >> 8) * W2) / (W0 + W1 + W2)) << 8) & MASK_A
                                                                                                                ^
core/hq2x.cpp:110:39: note: in expansion of macro 'HQX_MIX_3'
 #define MIX_00_4_3_1_2_1_1  *output = HQX_MIX_3(w[4],w[3],w[1],2U,1U,1U);
                                       ^
core/hq2x.cpp:340:6: note: in expansion of macro 'MIX_00_4_3_1_2_1_1'
      MIX_00_4_3_1_2_1_1
      ^
core/hq2x.cpp:102:112: warning: suggest parentheses around arithmetic in operand of '|' [-Wparentheses]
  (((((C0 & MASK_A) >> 8) * W0 + ((C1 & MASK_A) >> 8) * W1 + ((C2 & MASK_A) >> 8) * W2) / (W0 + W1 + W2)) << 8) & MASK_A
                                                                                                                ^
core/hq2x.cpp:126:44: note: in expansion of macro 'HQX_MIX_3'
 #define MIX_01_4_1_5_2_1_1 *(output + 1) = HQX_MIX_3(w[4],w[1],w[5],2U,1U,1U);
                                            ^
core/hq2x.cpp:341:6: note: in expansion of macro 'MIX_01_4_1_5_2_1_1'
      MIX_01_4_1_5_2_1_1
      ^
core/hq2x.cpp:102:112: warning: suggest parentheses around arithmetic in operand of '|' [-Wparentheses]
  (((((C0 & MASK_A) >> 8) * W0 + ((C1 & MASK_A) >> 8) * W1 + ((C2 & MASK_A) >> 8) * W2) / (W0 + W1 + W2)) << 8) & MASK_A
                                                                                                                ^
core/hq2x.cpp:147:51: note: in expansion of macro 'HQX_MIX_3'
 #define MIX_10_4_7_3_2_1_1 *(output + lineSize) = HQX_MIX_3(w[4],w[7],w[3],2U,1U,1U);
                                                   ^
core/hq2x.cpp:342:6: note: in expansion of macro 'MIX_10_4_7_3_2_1_1'
      MIX_10_4_7_3_2_1_1
      ^

このファイルはhttps://github.com/brunexgeek/hqx/blob/master/source/HQ2x.ccに基づいているため、理想的には、これらの警告をアップストリームで修正し、後で独自のコピーを更新する必要があります。 これができない場合は、バージョンに直接パッチを適用できますが、変更をアップストリームと同期するのが難しくなります。

bug core

最も参考になるコメント

修正は文字通り2行の2組の括弧であるため、 PRをアップストリームで実行し、マージされたときに更新されたhq2x.cpp PRを実行しますが、そうでない場合でもPRを実行します。

>すべてのコメント

修正は文字通り2行の2組の括弧であるため、 PRをアップストリームで実行し、マージされたときに更新されたhq2x.cpp PRを実行しますが、そうでない場合でもPRを実行します。

このページは役に立ちましたか?
0 / 5 - 0 評価