glib/docs
Marco Trevisan (Treviño) f9845abe39 gmacros: Define G_CXX_STD_VERSION and check macros
Sadly, in C++ there's not an universal way to get what language standard
is used to compile GLib-based programs, in fact while most compilers
relies on `__cplusplus`, MSVC is defining that, but it does not use it
to expose such information (unless `/Zc:__cplusplus` arg is used).
On the other side, MSVC reports the language standard via _MSVC_LANG [1].

This complication makes us defining some macros in a very complex way
(such as glib_typeof()), because we need to perform many checks just to
understand if a C++ compiler is used and what standard is expecting.

To avoid this, define multiple macros that can be used to figure out
what C++ standard is being used.

[1] https://docs.microsoft.com/en-us/cpp/build/reference/zc-cplusplus?view=msvc-170
2022-11-21 20:58:54 +01:00
..
reference gmacros: Define G_CXX_STD_VERSION and check macros 2022-11-21 20:58:54 +01:00
backports.md docs: Add a backports policy 2022-05-19 12:52:26 +01:00
CODEOWNERS docs: Sync glib.doap to set of users listed in CODEOWNERS 2022-06-22 15:54:49 +01:00
debugging.txt tree: Fix various typos and outdated terminology 2020-06-12 15:01:08 +01:00
macros.txt build: Add glib_debug option 2021-01-20 16:05:36 +01:00
meson-version.md docs: Add a Meson version policy 2022-05-06 13:01:44 +01:00
rationales.md docs: Move README.rationale to docs subdirectory 2022-05-11 13:02:49 +01:00
releasing.md docs: Document the release process 2022-06-21 16:16:10 +01:00
roadmap.md docs: Document the release process 2022-06-21 16:16:10 +01:00
supported-platforms.md docs: Update supported platforms list 2022-05-18 08:36:50 +01:00
testing.md docs: Add a testing policy 2022-06-14 15:19:32 +01:00
toolchain-requirements.md Require C99's __VA_ARGS__ 2022-06-30 01:46:32 +01:00