commit | 5460f9b81dc9bd232fa856347729f120159ae168 | [log] [tgz] |
---|---|---|
author | msniegocki <msniegocki@opera.com> | Tue Oct 20 05:45:01 2015 -0700 |
committer | Commit bot <commit-bot@chromium.org> | Tue Oct 20 12:45:09 2015 +0000 |
tree | 6f9814ddb677645b0404d627def16657e069d46c | |
parent | 9172234c5c1d563770472747a7492881c8897ac2 [diff] |
Workaround for false positive -Wmaybe-uninitialized being triggered on some compilers Some toolchains (in this case referring to a g++ 4.9, or "arm-linux- androideabi-g++ (GCC) 4.9 20140827 (prerelease)" according to my --version, from the Android NDK r10e-rc4 and potentially with custom patches; others may be affected as well) fail to prove that myVec in WebRtcIsac_CorrelateInterVec is never used uninitialized. This is likely due to the compiler thinking the assignment in line 468 might not happen. Changing the loop condition in line 466 to rowCntr < SOME_CONSTANT also helps, suggesting that the compiler can't infer that there are only 2 values interVecDim can have at that point, and neither of them are 0. Of course, this is not an acceptable fix, as it changes behaviour. This seems to be a compiler bug, or at least an issue with its heuristics. However, we can't really change toolchains at the moment, and ultimately this change improves support for certain older compilers. BUG= Review URL: https://codereview.webrtc.org/1406423004 Cr-Commit-Position: refs/heads/master@{#10337}
WebRTC is a free, open software project that provides browsers and mobile applications with Real-Time Communications (RTC) capabilities via simple APIs. The WebRTC components have been optimized to best serve this purpose.
Our mission: To enable rich, high-quality RTC applications to be developed for the browser, mobile platforms, and IoT devices, and allow them all to communicate via a common set of protocols.
The WebRTC initiative is a project supported by Google, Mozilla and Opera, amongst others. This page is maintained by the Google Chrome team.
See http://www.webrtc.org/native-code/development for instructions on how to get started developing with the native code.