On Wed, Oct 14, 2015 at 10:05 PM, Ganesh Ajjanagadde <gajjanaga...@gmail.com> wrote: > 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 <gajjanaga...@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 >
ping, is this solution acceptable? Note that I will get rid of the extra * on the second line of the comment. _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel