X-Git-Url: http://drtracing.org/?a=blobdiff_plain;f=gold%2Fffsll.c;h=8a4ec1f8760155a77a6963fded67bc910fcea691;hb=e0b2a78c83207340f6c4b5dbe02bec850dbb7def;hp=aeae845f094dc9c6121ca1d1ca0d3d7057a0d19f;hpb=fd03461a93f2e080e317da40dc4929ee437ffb76;p=deliverable%2Fbinutils-gdb.git diff --git a/gold/ffsll.c b/gold/ffsll.c index aeae845f09..8a4ec1f876 100644 --- a/gold/ffsll.c +++ b/gold/ffsll.c @@ -1,6 +1,6 @@ /* ffsll.c -- version of ffsll for gold. */ -/* Copyright 2009 Free Software Foundation, Inc. +/* Copyright (C) 2009-2019 Free Software Foundation, Inc. Written by Ian Lance Taylor . This file is part of gold. @@ -36,8 +36,13 @@ ffsll (long long arg) unsigned long long i; int ret; - ret = 0; - for (i = (unsigned long long) arg; i != 0; i >>= 1) - ++ret; + if (arg == 0) + ret = 0; + else + { + ret = 1; + for (i = (unsigned long long) arg; (i & 1) == 0; i >>= 1) + ++ret; + } return ret; }