From 883359805325a82f4f291ff85624f141f6c93636 Mon Sep 17 00:00:00 2001 From: Thomas Schwinge Date: Thu, 29 Aug 2013 12:06:14 +0200 Subject: [PATCH] Hurd: Add ESUCCESS error_t value. --- ChangeLog | 6 ++++++ sysdeps/mach/hurd/bits/errno.h | 10 +++++++++- sysdeps/mach/hurd/errnos.awk | 8 ++++++++ 3 files changed, 23 insertions(+), 1 deletion(-) diff --git a/ChangeLog b/ChangeLog index 3ea264392c..f89933c76e 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2013-08-29 Thomas Schwinge + Roland McGrath + + * sysdeps/mach/hurd/errnos.awk (BEGIN): Emit ESUCCESS. + * sysdeps/mach/hurd/bits/errno.h: Regenerate. + 2013-08-29 Samuel Thibault * sysdeps/mach/hurd/i386/init-first.c (init1): Use diff --git a/sysdeps/mach/hurd/bits/errno.h b/sysdeps/mach/hurd/bits/errno.h index 3b6fe76b37..d20ffe654a 100644 --- a/sysdeps/mach/hurd/bits/errno.h +++ b/sysdeps/mach/hurd/bits/errno.h @@ -9,6 +9,14 @@ enum __error_t_codes { + /* The value zero always means success and it is perfectly fine for + code to use 0 explicitly (or implicitly, e.g. via Boolean coercion). + Having an enum entry for zero both makes the debugger print the name + for error_t-typed zero values, and prevents the compiler from + issuing warnings about 'case 0:' in a switch on an error_t-typed + value. */ + ESUCCESS = 0, + #undef EDOM #undef ERANGE EPERM = _HURD_ERRNO (1), @@ -151,7 +159,7 @@ enum __error_t_codes EDQUOT = _HURD_ERRNO (69), #define EDQUOT _HURD_ERRNO (69)/* Disk quota exceeded */ ESTALE = _HURD_ERRNO (70), -#define ESTALE _HURD_ERRNO (70)/* Stale NFS file handle */ +#define ESTALE _HURD_ERRNO (70)/* Stale file handle */ EREMOTE = _HURD_ERRNO (71), #define EREMOTE _HURD_ERRNO (71)/* Object is remote */ EBADRPC = _HURD_ERRNO (72), diff --git a/sysdeps/mach/hurd/errnos.awk b/sysdeps/mach/hurd/errnos.awk index 35f5628b8e..2434daab22 100644 --- a/sysdeps/mach/hurd/errnos.awk +++ b/sysdeps/mach/hurd/errnos.awk @@ -31,6 +31,14 @@ BEGIN { print ""; print "#ifdef _ERRNO_H\n"; print "enum __error_t_codes\n{"; + print "\t/* The value zero always means success and it is perfectly fine for"; + print "\t code to use 0 explicitly (or implicitly, e.g. via Boolean coercion)."; + print "\t Having an enum entry for zero both makes the debugger print the name"; + print "\t for error_t-typed zero values, and prevents the compiler from"; + print "\t issuing warnings about 'case 0:' in a switch on an error_t-typed"; + print "\t value. */"; + print "\tESUCCESS = 0," + print ""; errnoh = 0; maxerrno = 0; in_mach_errors = ""; -- 2.43.5