On 22 Mar 2015, at 22:02, Craig Rodrigues <rodr...@freebsd.org> wrote: > > On Sun, Mar 22, 2015 at 11:26 AM, <jenkins-ad...@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
signature.asc
Description: Message signed with OpenPGP using GPGMail