From e3ae80adbc626c4073a082e0205fdbb83033018a Mon Sep 17 00:00:00 2001 From: Samuel Thibault Date: Tue, 8 Aug 2023 16:03:24 +0200 Subject: [PATCH] hurd: Make error_t an int in C++ Making error_t defined to enum __error_t_codes conveniently makes the debugger print symbolic values, but in C++ int is not interoperable with enum __error_t_codes, leading to C++ application build issues, so let's revert error_t to int in C++. --- sysdeps/mach/hurd/bits/types/error_t.h | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/sysdeps/mach/hurd/bits/types/error_t.h b/sysdeps/mach/hurd/bits/types/error_t.h index 380aa434d5..4a7bd452c8 100644 --- a/sysdeps/mach/hurd/bits/types/error_t.h +++ b/sysdeps/mach/hurd/bits/types/error_t.h @@ -24,6 +24,12 @@ #ifndef __error_t_defined # define __error_t_defined 1 +#ifdef __cplusplus +/* Unfortunately, in C++ int and enum __error_t_codes are not + interoperable... */ +typedef int error_t; +#else typedef enum __error_t_codes error_t; +#endif #endif