This is the mail archive of the mailing list for the GCC project.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: c/3190 Re: warning: `%y' yields only last 2 digits of year

On Tue, 12 Mar 2002, Robert Dewar wrote:

> But there are lots of forms which *require* the year to be output as two
> digits, and there is nothing wrong at all with doing so. To think otherwise
> is to have taken some totally bizarre viewpoint of what Y2K was all about.

There are probably many bad programs that concatenate "19" with the result
of %y.  Cases where a 2-digit year is externally specified, and you *know*
that this will work properly across the Y2.1K transition[1], would seem
quite specialised.

> It's perfectly fine for example to say 01/05/02 on a check, and requiring
> 2002 is a waste of ink. I don't see any *language* style issue and that

That date has six possible interpretations (the order of preference
between them being culturally dependent).  Unless you have some
arrangement as to the interpretation of such dates with anyone who might
read them, they hardly seem like a good idea to write - certainly, when
such dates appear on web pages, they generally are confusing and it's a
matter of second-guessing the intent of the writer.  I'd always use
yyyy-mm-dd (ISO 8601 format) in such a case, given a free-format date

> is all that style warnings should be about. This is about *what* you
> are programming, whereas style options should be about *how* you are
> programming. 

It's about how you are using a particular ISO C standard interface.

> An anology would be if the compiler watched for the string "Mrs." in output
> and printed a warning saying "inappropriate term, consider using Ms instead".

Given some past linux-kernel discussions, I suspect a few people might
find useful a warning option that checked for some substrings in the
arguments to certain functions and warned about them.

Joseph S. Myers

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]