[PATCH] libstdc++: add __glibcxx_want_contracts for source_location

vspefs vspefs@protonmail.com
Thu Jan 29 16:57:17 GMT 2026


C++26 contracts implementation requires modifications to source_location
header file. The logic is added but not triggered due to not defining
__glibcxx_want_contracts before including the internal version header.
This patch fixes this.

libstdc++-v3/ChangeLog:

* include/std/source_location: Define __glibcxx_want_contracts.

Signed-off-by: Xie Han <vspefs@protonmail.com>
---
 libstdc++-v3/include/std/source_location | 1 +
 1 file changed, 1 insertion(+)

diff --git a/libstdc++-v3/include/std/source_location b/libstdc++-v3/include/std/source_location
index 170753fdde2..08d9779fa1d 100644
--- a/libstdc++-v3/include/std/source_location
+++ b/libstdc++-v3/include/std/source_location
@@ -30,6 +30,7 @@
 #define _GLIBCXX_SRCLOC 1
 
 #define __glibcxx_want_source_location
+#define __glibcxx_want_contracts
 #include <bits/version.h>
 
 #if __cpp_lib_source_location // C++ >= 20 && builtin_source_location
-- 
2.52.0




More information about the Libstdc++ mailing list