Header files with enums instead of defines?

Scott Long scottl at freebsd.org
Wed Dec 22 10:43:02 PST 2004


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


More information about the freebsd-arch mailing list