Godot: core / hq2x.cpp gera uma tonelada de avisos

Criado em 30 jun. 2016  ·  1Comentário  ·  Fonte: godotengine/godot

Ao compilar Godot do zero, percebi que metade do log de construção é devido a avisos gerados em core/hq2x.cpp . Veja o arquivo anexado para todos os avisos do branch master atual: godot_hq2x_warnings.txt

Excerto:

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
      ^

Este arquivo é baseado em https://github.com/brunexgeek/hqx/blob/master/source/HQ2x.cc , então, idealmente, devemos ajudar a corrigir esses avisos upstream e atualizar nossa própria cópia posteriormente. Se isso não puder ser feito, podemos corrigir nossa versão diretamente, mas tornará mais difícil sincronizar as alterações com o upstream.

bug core

Comentários muito úteis

Fiz um PR no upstream , farei um PR com hq2x.cpp atualizado quando for mesclado, se não, farei um PR de qualquer maneira, já que a correção é literalmente 2 pares de parênteses em duas linhas.

>Todos os comentários

Fiz um PR no upstream , farei um PR com hq2x.cpp atualizado quando for mesclado, se não, farei um PR de qualquer maneira, já que a correção é literalmente 2 pares de parênteses em duas linhas.

Esta página foi útil?
0 / 5 - 0 avaliações