office-gobmx/config_host/config_global.h.in
Stephan Bergmann 6171812c55 HAVE_GCC_ATTRIBUTE_WARN_UNUSED should always be true now for Clang/GCC
...but for safety, leave the configure.ac check in for some longer.

Change-Id: I90cba5812492ba85d7723ff71aba75b7721b9622
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/87621
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2020-01-28 18:35:49 +01:00

49 lines
2.2 KiB
C

/*
Global configuration file.
Only for settings that apply to every source file and are unlikely to change often,
such as whether a certain C++11 feature is available.
Do NOT use for settings local to some code or for settings that can change often.
Any change in this header will cause a rebuild of almost everything.
*/
#ifndef CONFIG_GLOBAL_H
#define CONFIG_GLOBAL_H
#define HAVE_GCC_BUILTIN_ATOMIC 0
#define HAVE_GCC_BUILTIN_FFS 0
/* _Pragma */
#define HAVE_GCC_PRAGMA_OPERATOR 0
#define HAVE_GCC_DEPRECATED_MESSAGE 0
#define HAVE_SYSLOG_H 0
/* Guaranteed copy elision (C++17), __cpp_guaranteed_copy_elision (C++2a): */
#define HAVE_CPP_GUARANTEED_COPY_ELISION 0
// Compiler supports all of C++2a <https://wg21.link/P0202R3> "Add Constexpr Modifiers to Functions
// in <algorithm> and <utility> Headers", <https://wg21.link/P1004R2> "Making std::vector
// constexpr", and <https://wg21.link/P1143R2> "Adding the constinit keyword":
#define HAVE_CPP_CONSTINIT_SORTED_VECTOR 0
// Useable C++2a <span>:
#define HAVE_CPP_SPAN 0
/* "CWG motion 23: P1825R0 'Merged wording for P0527R1 and P1155R3' (DR)" in
<https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2019/n4829.html> "N4829 Editors' Report --
Programming Languages -- C++" marks
<http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2019/p1155r3.html> "More implicit moves" as a
DR. Some versions of GCC already implemented it prior to the fix for
<https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87150> "move ctor wrongly chosen in return stmt
(derived vs. base)"; MSVC++ 14.24 started to implement it, see <https://
developercommunity.visualstudio.com/content/problem/852827/
msvc-1424-started-to-chose-move-ctor-in-return-der.html> "MSVC++ 14.24 started to chose move ctor
in return derived vs. base". At least Clang 9, which does not implement it, emits
-Werror,-Wreturn-std-move when it therefore considers a std::move to be missing. On the other
hand, at least some versions of GCC would emit -Werror=redundant-move in places where such a
std::move would be added unconditionally, see c00948d9bd35dfb15a331c2163f32e9ee24644fd "Silence
bogus -Werror=redundant-move (GCC 9)". */
#define HAVE_P1155R3 0
#endif