In http://reviews.llvm.org/D8349#141306, @jroelofs wrote:
> > Second, some of the tests actually use modifiers that are only present on
> > BSD derived systems. They are not part of the C standard/POSIX. Simply
> > remove them.
>
>
> They're probably still useful on those platforms... perhaps put them under an
> #ifdef for that platform, along with a comment saying that they're a bsd
> extension?
We could consider doing this, but in my opinion this would only make sense if
there is something actionable on our side in case one of these tests starts to
fail. Right now time_put::put() calls strftime() directly without
pre-processing the arguments in any way. If FreeBSD or Mac OS X would suddenly
decide to remove support for the non-standard %v modifier, is there a chance
that we would add a workaround for it by adding pre-processing to
time_put::put()? My assumption is that we wouldn't bother, so I would rather
remove these tests.
That said, if someone really cares about these tests, we could consider putting
them in a separate test, so it remains clear which behavior is standard and
which is not.
REPOSITORY
rL LLVM
================
Comment at:
test/std/localization/locale.categories/category.time/locale.time.put/locale.time.put.members/put2.pass.cpp:186
@@ -185,3 +182,1 @@
{
- iter = f.put(output_iterator<char*>(str), ios, '*', &t, 'B', 'O');
- std::string ex(str, iter.base());
----------------
jroelofs wrote:
> Can you point to the docs saying that these modifiers are invalid?
Sure!
C++14 N3797, section 22.4.5.3.2, the description of time_put::put():
"Formatting is controlled by the parameters format and modifier, interpreted
identically as the format
specifiers in the string argument to the standard library function strftime()."
ISO/IEC 9899:2011, section 7.27.3.5, the description of strftime():
The %OB, %k, %l, %s, %v, %J and %J% modifiers are not listed in the table.
That said, POSIX has made some extensions to strftime:
http://pubs.opengroup.org/onlinepubs/9699919799/functions/strftime.html
This table also doesn't list these modifiers.
http://reviews.llvm.org/D8349
EMAIL PREFERENCES
http://reviews.llvm.org/settings/panel/emailpreferences/
_______________________________________________
cfe-commits mailing list
[email protected]
http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits