[FFmpeg-devel] [PATCHv2] avformat/movenc: suppress -Wstrict-overflow warnings
Ganesh Ajjanagadde
gajjanagadde at gmail.com
Thu Oct 15 04:05:40 CEST 2015
This patch results in identical behavior of movenc, and suppresses -Wstrict-overflow
warnings observed in GCC 5.2:
http://fate.ffmpeg.org/log.cgi?time=20150926231053&log=compile&slot=x86_64-archlinux-gcc-threads-misc,
"warning: assuming signed overflow does not occur when assuming that (X - c) > X is always false [-Wstrict-overflow]"
I have manually checked that all usages are safe, and overflow possibility does
not exist with this expression rewrite.
Some expressed concern over readability loss, hence a comment is added.
This is the simplest way to suppress this warning.
Signed-off-by: Ganesh Ajjanagadde <gajjanagadde at gmail.com>
---
libavformat/movenc.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/libavformat/movenc.c b/libavformat/movenc.c
index 5115585..ff997f2 100644
--- a/libavformat/movenc.c
+++ b/libavformat/movenc.c
@@ -854,7 +854,9 @@ static int get_cluster_duration(MOVTrack *track, int cluster_idx)
{
int64_t next_dts;
- if (cluster_idx >= track->entry)
+ /* GCC 5.2 wants to "optimize" cluster_idx >= track->entry to the below
+ * expression. We actually mean cluster_idx >= track->entry. */
+ if (cluster_idx - track->entry >= 0)
return 0;
if (cluster_idx + 1 == track->entry)
--
2.6.1
More information about the ffmpeg-devel
mailing list