public inbox for newlib@sourceware.org
 help / color / mirror / Atom feed
From: Corinna Vinschen <vinschen@redhat.com>
To: newlib@sourceware.org, Brian.Inglis@systematicsw.ab.ca
Subject: Re: Fw: [PATCH 1/2] strftime.c(__strftime): add %i, %q, %v, tests; tweak %Z docs
Date: Tue, 18 Oct 2022 16:03:47 +0200	[thread overview]
Message-ID: <Y06yQ/N5PtsWvZEs@calimero.vinschen.de> (raw)
In-Reply-To: <CANk6obSE2DshJD2ZDwxQodFhjmdqKQG9Q0MaCiSEC9ho4Nt31A@mail.gmail.com>

On Sep 19 11:51, C Howland wrote:
> >
> > ------------------------------
> > *From:* Newlib <newlib-bounces+craig.howland=caci.com@sourceware.org> on
> > behalf of Brian Inglis <Brian.Inglis@SystematicSW.ab.ca>
> > *Sent:* Saturday, September 17, 2022 1:00 AM
> > *To:* Newlib <newlib@Sourceware.org>
> > *Subject:* [PATCH 1/2] strftime.c(__strftime): add %i, %q, %v, tests;
> > tweak %Z docs
> >
> >
> >
> > newlib/libc/time/strftime.c(__strftime):
> > %i year in century [00..99] Synonym for "%y". Non-POSIX extension.
> > [tm_year]
> > %q GNU quarter of the year (from `<<1>>' to `<<4>>') [tm_mon]
> > %v OSX/Ruby VMS/Oracle date "%d-%b-%Y". Non-POSIX extension. [tm_mday,
> > tm_mon, tm_year]
> > add %i %q %v tests
> > %Z clarify current time zone *abbreviation* not "name" [tm_isdst]
> > ---
> >  newlib/libc/time/strftime.c | 67 +++++++++++++++++++++++++++++++++++--
> >  1 file changed, 64 insertions(+), 3 deletions(-)
> >
> >
> While the additions themselves nominally look good, all being extensions
> they ought to be gated by the appropriate ifdefs, and the manual would best
> mention what gates are needed to get them.  %q would be __GNU_VISIBLE as
> the gate

You're misunderstanding how these foo_VISIBLE macros are supposed to be
used.  They guard definitions and prototypes in header files depending
on the application layer environment in terms of portability.  They are
not supposed to be used inside newlib code to create conditionalized
library code.

Of course you can argue that the code should not go in unconditionalized
based on target preferences, but that should use one of the documented
macros for newlib builds, e. g., _ELIX_LEVEL, _GLIBC_EXTENSION, or
whatever.

You can also argue that they should not go in at all.  I'm doing this
now for the sake of discussion:

- %i: Where is used and documented?  I don't see this in glibc, not even
  in the latest from the glibc git repo.

- %q: Ditto. For a GNU extension, it's surprisingly absent from the
  most recent glibc code, or do I miss something?

- %v: OSX/Ruby?  Isn't that already gone?  Also, it introduces another
  ambiguous date format where %F or equivalent should be used instead.

It's nice to add features, but it wouldn't hurt to have some
clarification and justification if it's non-standard stuff.
Availability in glibc or in the BSDs is typically justification enough,
but I don't see this here.


Thanks,
Corinna


  parent reply	other threads:[~2022-10-18 14:03 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-09-17  5:00 [PATCH 0/2] strftime.c, strptime.c: " Brian Inglis
2022-09-17  5:00 ` [PATCH 1/2] strftime.c(__strftime): " Brian Inglis
     [not found]   ` <BN2P110MB15443B0E0009D450989B3ECF9A4D9@BN2P110MB1544.NAMP110.PROD.OUTLOOK.COM>
2022-09-19 15:51     ` Fw: " C Howland
2022-09-19 23:21       ` Brian Inglis
2022-10-18 14:03       ` Corinna Vinschen [this message]
2022-10-20 22:07         ` Brian Inglis
2022-10-21 12:12           ` Corinna Vinschen
2022-10-21 20:43             ` Brian Inglis
2022-09-17  5:00 ` [PATCH 2/2] strptime.c(strptime_l): add %i, %q, %v Brian Inglis

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=Y06yQ/N5PtsWvZEs@calimero.vinschen.de \
    --to=vinschen@redhat.com \
    --cc=Brian.Inglis@systematicsw.ab.ca \
    --cc=newlib@sourceware.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).