tree 88a231623ffdba759de2bccae8cc7b66708466ba
parent 7eda3f219e6f99bae0f1a8d55d57792af3ba4335
author Patrick Williams <patrick@stwcx.xyz> 1646328543 -0600
committer Patrick Williams <patrick@stwcx.xyz> 1646435225 +0000

lg2: add experimental::source_location symbols on GCC

When we compile with a compiler that supports the C++20 source_location,
we use that support and do not support the older experimental version.
Recent versions of GCC support it but Clang does not.  This exposes an
issue when attempting to link a GCC-compiled lg2 with a Clang-compiled
application (missing symbol for experimental version).

Add a no-op symbol for experimental::source_location when the compiler
supports std::source_location.  This allows the Clang-compiled
applications to successfully compile and link, but they will lose out on
the lg2 functionality.  The primary use-case of this is to compile with
Clang in CI in order to get signal on the stricter warnings that Clang
often has, so functionality is not necessary.

Tested:

Built with GCC and confirmed additional symbol for
experimental::source_location support.

```
$ nm lib/libphosphor_logging.so.1.0.0 --defined-only -C | grep lg2::details::do_log
0000000000004520 T lg2::details::do_log(lg2::level, std::experimental::fundamentals_v2::source_location const&, char const*, ...)
0000000000004aa0 T lg2::details::do_log(lg2::level, std::source_location const&, char const*, ...)
0000000000003682 t lg2::details::do_log(lg2::level, std::source_location const&, char const*, ...) [clone .cold]
```

Signed-off-by: Patrick Williams <patrick@stwcx.xyz>
Change-Id: I4bc0b9f6619ce6088dfa44a3c18eb28d9080fb47
