Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 17 Jan 2017 11:48:03 -0600
From:      Benjamin Kaduk <bjkfbsd@gmail.com>
To:        Ian Lepore <ian@freebsd.org>
Cc:        Maxim Sobolev <sobomax@freebsd.org>, Gleb Smirnoff <glebius@freebsd.org>,  "svn-src-head@freebsd.org" <svn-src-head@freebsd.org>,  "svn-src-all@freebsd.org" <svn-src-all@freebsd.org>,  "src-committers@freebsd.org" <src-committers@freebsd.org>
Subject:   Re: svn commit: r312296 - in head: lib/libc/sys sys/kern sys/netinet sys/netinet6 sys/sys tools/regression/sockets/udp_pingpong tools/regression/sockets/unix_cmsg
Message-ID:  <CAJ5_RoBQiAutpz3vqRbbW-_Pw7kna-8nmL53rH_yn70FdjjdUg@mail.gmail.com>
In-Reply-To: <1484672262.86335.163.camel@freebsd.org>
References:  <201701161746.v0GHkcPX071529@repo.freebsd.org> <20170117065231.GW2611@FreeBSD.org> <CAH7qZftckckygNG3HRqikiaGds6FsOedUR7AWKGi-PJg96FQjA@mail.gmail.com> <CAH7qZftsYAoBj7gFpOMHgT9a12N1yshAGY%2BkAEkpbTks7LL29Q@mail.gmail.com> <1484672262.86335.163.camel@freebsd.org>

next in thread | previous in thread | raw e-mail | index | archive | help
On Tue, Jan 17, 2017 at 10:57 AM, Ian Lepore <ian@freebsd.org> wrote:

> In my experience, enums are a superior way to define integer constants
> (compared to #define), but they are pure poison as variable types in
> APIs and structures because their size is a compiler implementation
> choice.
>

Well, to some extent. For example, the amd64 sysV ABI says that enum types
are signed fourbyte, with a footnote that "C++ and some implementations of
C permit enums larger than an int. The underlying type is bumped to an
unsigned int, long int or unsigned long int, in that order."

-Ben



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAJ5_RoBQiAutpz3vqRbbW-_Pw7kna-8nmL53rH_yn70FdjjdUg>