On 22 Mar 2015, at 22:02, Craig Rodrigues <rodrigc_at_FreeBSD.org> wrote: > > On Sun, Mar 22, 2015 at 11:26 AM, <jenkins-admin_at_freebsd.org> wrote: > >> See <https://jenkins.freebsd.org/job/FreeBSD_HEAD-tests2/867/> >> > > Can someone with toolchain expertise look at this? > After the clang 3.6.1 import, /bin/expr behaves differently. > > With clang 3.5.0: > > # expr 4611686018427387904 + 4611686018427387904 > expr: overflow > > With clang 3.6.1: > > # expr 4611686018427387904 + 4611686018427387904 > -9223372036854775808 It works fine for me: $ /usr/obj/usr/src/bin/expr/expr 4611686018427387904 + 4611686018427387904 expr: overflow Are you using any special compilation flags? That said, having taken a quick look at expr.y, it does seem to rely on signed integer wrapping. -Dimitry
This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:40:56 UTC