svn commit: r193755 - in projects/clangbsd: . bin/df bin/sh cddl/contrib/opensolaris/lib/libzfs/common contrib/llvm contrib/llvm/autoconf contrib/llvm/cmake contrib/llvm/cmake/modules contrib/llvm/...

Bruce Evans brde at optusnet.com.au
Thu Jun 11 08:26:20 UTC 2009


On Thu, 11 Jun 2009, Ed Schouten wrote:

> * Bruce Evans <brde at optusnet.com.au> wrote:
>> On Wed, 10 Jun 2009, Ed Schouten wrote:
>>> No, it doesn't. printf0 is just printf, but it allows fmt to be NULL.
>>
>> No it isn't.  printf is just printf0, except it doesn't allow fmt to
>> be NULL.  FreeBSD extended printf to printf0, to support functions like
>> err() where a NULL format is valid.
>
> Aren't you saying exactly the same thing as what I did?

I don't think so.  You said that printf0 is just printf.

>>> Clang always allows this, even with printf.
>>
>> If so, this is a bug in Clang.
>
> I'm not calling it a bug. I'm calling it a missing feature of a GNU
> extension. For the time being, this solution is sufficient. The clangbsd
> branch isn't yet supposed to be pretty...

I would call printf0 a non-GNU extension.  AFAIK Gnu doesn't have it.

There seem to be 2 bugs here in Clang:
- Clang printf != Gnu printf, since Gnu printf doesn't allow null fmt.
   Maybe that is a FreeBSD extension too.
- Clang printf0 doesn't exist yet, or is too simple.  It is less surprising
   for Clang not to have FreeBSD extensions yet.

Bruce


More information about the svn-src-projects mailing list