On 06/15/2012 09:12 AM, Eric Botcazou wrote: > Generally speaking, I'd avoid taking anything in libdecnumber as an example.
It's not about example, but the fact that host compilers have been compiling that code as part of building gcc for years, without anyone complaining, afaik. It doesn't matter whether the code pointed at is the ugliest or most beautiful code on earth. What matters is whether it uses long long unconditionally on all hosts or not. IOW, what are the still supported hosts/compilers that don't support "long long"? If there are any, it appears none has been used in at least the past 5 years, IIU the code correctly. (This is not just an unfounded, OOC, question. We just recently went through the exercise of coming up with an interface for an include/ header, http://gcc.gnu.org/ml/gcc-patches/2012-05/msg01424.html http://sourceware.org/ml/binutils/2012-05/msg00344.html where we had some back and forth on the use of long long. After all that, we ended up finding that libdecnumber uses long long unconditionally, <http://sourceware.org/ml/gdb-patches/2012-05/msg01078.html> so in practice, GDB has been relying on "long long" existing for as long as libdecnumber has been used in GDB. The same should hold true for gcc.) -- Pedro Alves