Repository navigation
apehdr-sweep: triage the together-case; twelve errors are six causes - #602
Merged
Merged
Conversation
The list had sat untriaged for rounds because it was read as twelve
findings. Four of the six causes are one header each:
f2c.h five errors. Its #define min/max/abs collide with
<libv.h>'s extern int min(int,int), and its
"typedef struct {real r,i;} complex" with
<complex.h>'s "#define complex _Complex". All 149
files that include it are under external/f2c, so it
does not belong in sys/include/ape.
regex.h / three, and design intent. pcre2posix spells the
pcre2posix.h REG_* codes as an enum where regex.h #defines them.
Plan9libnet.h two. It declares Plan 9's accept(int, char*) and
listen(char*, char*) against <sys/socket.h>.
libnet.h beside it is the same interface with net_
prefixes and is what all five callers use; nothing
includes Plan9libnet.h at all.
bsd.h:47 one, real and ours: getopt with a non-const
prototype, and <unistd.h> does not declare getopt at
all, so this is the tree's only declaration.
features.h:55 one, real and ours, with a victim: "#define hidden"
is musl's internal visibility macro in a public
header, and sqlite3.h:10957 declares "unsigned char
hidden[48]" which it erases.
The sweep prints the triage rather than the raw lines and still does
not gate, since three of the six are intent. The two recommendations
-- moving f2c.h out of the public directory and deleting
Plan9libnet.h -- are recorded, not done.
Also records that the full distclean and install completed with
conforming layout, and that a completed build is a precondition for
the measurement rather than the measurement.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01WGAwvvTwDg2yknFkmZ3qzs
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The list had sat untriaged for rounds because it was read as twelve findings. Four of the six causes are one header each:
f2c.h five errors. Its #define min/max/abs collide with
<libv.h>'s extern int min(int,int), and its
"typedef struct {real r,i;} complex" with
<complex.h>'s "#define complex Complex". All 149
files that include it are under external/f2c, so it
does not belong in sys/include/ape.
regex.h / three, and design intent. pcre2posix spells the
pcre2posix.h REG* codes as an enum where regex.h #defines them.
Plan9libnet.h two. It declares Plan 9's accept(int, char*) and
listen(char*, char*) against <sys/socket.h>.
libnet.h beside it is the same interface with net_
prefixes and is what all five callers use; nothing
includes Plan9libnet.h at all.
bsd.h:47 one, real and ours: getopt with a non-const
prototype, and <unistd.h> does not declare getopt at
all, so this is the tree's only declaration.
features.h:55 one, real and ours, with a victim: "#define hidden"
is musl's internal visibility macro in a public
header, and sqlite3.h:10957 declares "unsigned char
hidden[48]" which it erases.
The sweep prints the triage rather than the raw lines and still does not gate, since three of the six are intent. The two recommendations -- moving f2c.h out of the public directory and deleting Plan9libnet.h -- are recorded, not done.
Also records that the full distclean and install completed with conforming layout, and that a completed build is a precondition for the measurement rather than the measurement.
Claude-Session: https://claude.ai/code/session_01WGAwvvTwDg2yknFkmZ3qzs