Summary: | [headers] stdlib.h doesn't define W* macros (e.g. WEXITSTATUS) | ||
---|---|---|---|
Product: | Base System | Reporter: | Roman Bogorodskiy <novel> |
Component: | standards | Assignee: | freebsd-standards (Nobody) <standards> |
Status: | Open --- | ||
Severity: | Affects Only Me | ||
Priority: | Normal | ||
Version: | CURRENT | ||
Hardware: | Any | ||
OS: | Any |
Description
Roman Bogorodskiy
2014-03-08 17:20:00 UTC
FWIW, this is even documented in FreeBSD's stdlib.h :) /* XXX XSI requires pollution from <sys/wait.h> here. We'd rather not. */ Yes, I know this doesn't help you much; I'm just trying to point out that, well, this is not an accidental omission, but a deliberate design decision. For the reasons for it you'll have to ask the people who did it - this particular text seems to have been added by Garrett Wollman back in 2002, but I think that he was just documenting the status quo rather than making a decision right there and then. G'luck, Peter -- Peter Pentchev roam@ringlet.net roam@FreeBSD.org p.penchev@storpool.com PGP key: http://people.FreeBSD.org/~roam/roam.key.asc Key fingerprint 2EE7 A7A5 17FC 124C F115 C354 651E EFB0 2527 DF13 This sentence claims to be an Epimenides paradox, but it is lying. Thanks for pointing that out, I didn't notice that comment. Anyway, I found the commit that introduces this comment: http://svnweb.freebsd.org/base/head/include/stdlib.h?annotate=103728 Unfortunately, commit message doesn't provide reasoning about that. I've CCed wollman@. Roman Bogorodskiy In IEEE Std.1003.1-2001 (SUSv6), those macros were marked as XSI extensions. FreeBSD does not claim to implement XSI (which mostly memorializes old System V mistakes that the vendors who control The Open Group were unwilling to give up on). In IEEE Std.1003.1-2008 (SUSv7), they are marked CX (mandatory C extensions) instead. The change history is unhelpful; I've sent a query to the Austin Group list asking if anyone can recall why this change was made. -GAWollman For bugs matching the following criteria: Status: In Progress Changed: (is less than) 2014-06-01 Reset to default assignee and clear in-progress tags. Mail being skipped |