<feed xmlns='http://www.w3.org/2005/Atom'>
<title>BMC/OpenBmc/bmcweb.git/redfish-core/include/utils/extern, branch master</title>
<subtitle>A do everything Redfish, KVM, GUI, and DBus webserver for OpenBMC (mirror)</subtitle>
<id>https://git.radix-linux.su/BMC/OpenBmc/bmcweb.git/atom?h=master</id>
<link rel='self' href='https://git.radix-linux.su/BMC/OpenBmc/bmcweb.git/atom?h=master'/>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/BMC/OpenBmc/bmcweb.git/'/>
<updated>2023-11-06T05:48:10+00:00</updated>
<entry>
<title>Move date_h to pragma once</title>
<updated>2023-11-06T05:48:10+00:00</updated>
<author>
<name>Ed Tanous</name>
<email>edtanous@google.com</email>
</author>
<published>2023-10-27T19:43:44+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/BMC/OpenBmc/bmcweb.git/commit/?id=06a63974577071c6b4525f7eaeb7dae55b3a7a4d'/>
<id>urn:sha1:06a63974577071c6b4525f7eaeb7dae55b3a7a4d</id>
<content type='text'>
Change-Id: I04864e8c47c8bb1763016b6ba1e5826450afdc72
Signed-off-by: Ed Tanous &lt;edtanous@google.com&gt;
</content>
</entry>
<entry>
<title>utils: date: fix clang warning</title>
<updated>2023-10-24T18:17:16+00:00</updated>
<author>
<name>Patrick Williams</name>
<email>patrick@stwcx.xyz</email>
</author>
<published>2023-10-20T23:03:11+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/BMC/OpenBmc/bmcweb.git/commit/?id=9d33a47c0bf544cba8557683f8c6d28aaf658355'/>
<id>urn:sha1:9d33a47c0bf544cba8557683f8c6d28aaf658355</id>
<content type='text'>
```
../redfish-core/include/utils/extern/date.h:983:34: error: identifier '_d' preceded by whitespace in a literal operator declaration is deprecated [-Werror,-Wdeprecated-literal-operator]
  983 | CONSTCD11 date::day  operator "" _d(unsigned long long d) NOEXCEPT;
      |                      ~~~~~~~~~~~~^~
      |                      operator""_d
../redfish-core/include/utils/extern/date.h:984:34: error: identifier '_y' preceded by whitespace in a literal operator declaration is deprecated [-Werror,-Wdeprecated-literal-operator]
  984 | CONSTCD11 date::year operator "" _y(unsigned long long y) NOEXCEPT;
      |                      ~~~~~~~~~~~~^~
      |                      operator""_y
```

Signed-off-by: Patrick Williams &lt;patrick@stwcx.xyz&gt;
Change-Id: I2304818ddc498441f9ed2ede54c92b7f7c48b7c1
</content>
</entry>
<entry>
<title>Simplify datetime parsing</title>
<updated>2023-09-07T22:19:57+00:00</updated>
<author>
<name>Ed Tanous</name>
<email>edtanous@google.com</email>
</author>
<published>2023-01-08T20:35:35+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/BMC/OpenBmc/bmcweb.git/commit/?id=1b8b02a4ab0aae072d0891301d1f9d5376e7912b'/>
<id>urn:sha1:1b8b02a4ab0aae072d0891301d1f9d5376e7912b</id>
<content type='text'>
This code as it stands pulls in the full datetime library from boost,
including io, and a bunch of timezone code.  The bmc doesn't make use of
any of this, so we can rely on a much simplified version.

Unfortunately for us, gcc still doesn't implement the c++20
std::chrono::parse[1].  There is a reference library available from [2]
that backports the parse function to compilers that don't yet support
it, and is the basis for the libc++ version.  This commit opts to copy
in the header as-written, under the assumption that we will never need
to pull in new versions of this library, and will move to the std
ersion as soon as it's available in the next gcc version.

This commit simplifies things down to improve compile times and binary
size.  It saves ~22KB of compressed binary size, or about 3%.

Tested: Unit tests pass.  Pretty good coverage.

[1] https://en.cppreference.com/w/cpp/chrono/parse
[2] https://github.com/HowardHinnant/date/blob/master/include/date/date.h

Signed-off-by: Ed Tanous &lt;edtanous@google.com&gt;
Change-Id: I706b91cc3d9df3f32068125bc47ff0c374eb8d87
</content>
</entry>
</feed>
