Re: Use of feature test macros

Robert Elz <[email protected]>
Newsgroups gmane.os.netbsd.devel.userlevel
Message-ID <[email protected]>
    Date:        Sat, 2 Nov 2024 22:36:10 +0100
    From:        Roland Illig <[email protected]>
    Message-ID:  <[email protected]>

  | In the system headers, we use this pattern a lot:
  | > #if (_POSIX_C_SOURCE - 0 >= 200809L) || defined(_NETBSD_SOURCE)
  |
  | Are the parentheses around the first condition really necessary? If so,
  | for which cases?

Do they hurt?   Parens generally make it easier to read exprs like
this, within reason, almost never harder.

  | Is the "- 0" in the first expression really necessary? If so, for which
  | cases?

When _POSIX_C_SOURCE is undefined (or defined to nothing).
That is the standard idiom for testing all of these feature macros.

kre
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.