Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 22 Dec 2004 11:42:29 -0700
From:      Scott Long <scottl@freebsd.org>
To:        "M. Warner Losh" <imp@bsdimp.com>
Cc:        arch@freebsd.org
Subject:   Re: Header files with enums instead of defines?
Message-ID:  <41C9C015.7050706@freebsd.org>
In-Reply-To: <20041222.113411.76074974.imp@bsdimp.com>
References:  <20041222090855.GO79646@cirb503493.alcatel.com.au> <20041222103844.GI801@straylight.m.ringlet.net> <34cb7c8404122205002bd7de18@mail.gmail.com> <20041222.113411.76074974.imp@bsdimp.com>

next in thread | previous in thread | raw e-mail | index | archive | help
M. Warner Losh wrote:
> In order to gain the benefits of the enums, errno would need to be an
> enum errno_t or some such.  This breaks C++ code that sets errno = 0,
> since you can't assign integers to errno values.
> 
> So even if you retained EBOGUS or whatever, this wouldn't work with
> C++.  errno has to be an int to work there.
> 
> Warner

I think you might have missed that nothing was actually being declared
with the errno_t type, but rather the type was used as a cast for gdb.
It's a neat trick, but still a little cumbersome unless gdb was taught
about it or given some clever macros.

Scott



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?41C9C015.7050706>