Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

core/hq2x.cpp generates a ton of warnings #5509

Closed
akien-mga opened this issue Jun 30, 2016 · 1 comment · Fixed by #5562
Closed

core/hq2x.cpp generates a ton of warnings #5509

akien-mga opened this issue Jun 30, 2016 · 1 comment · Fixed by #5562
Milestone

Comments

@akien-mga
Copy link
Member

When compiling Godot from scratch, I noticed that half the build log is due to warnings generated in core/hq2x.cpp. See the attached file for all those warnings as of the current master branch: godot_hq2x_warnings.txt

Excerpt:

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
      ^

This file is based off https://github.com/brunexgeek/hqx/blob/master/source/HQ2x.cc, so ideally we should help fix those warnings upstream and update our own copy afterwards. If this can't be done, we can patch our version directly, but it will make it harder to sync changes with upstream.

@J08nY
Copy link
Contributor

J08nY commented Jul 5, 2016

Did a PR upstream, will do a PR with updated hq2x.cpp when it gets merged, if it doesnt, will do a PR anyway, since the fix is literally 2 pairs of parentheses on two lines.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants