Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | build: Move feature test macros to prelude.h | Tavian Barnes | 2024-08-28 | 59 | -100/+62 |
| | | | | | | This replaces the explicit CPPFLAGS list in flags.mk with just `-include src/prelude.h`, shortening our compiler command lines and allowing them to be easily documented. | ||||
* | prelude: Split bfs-specific utilities into new bfs.h header | Tavian Barnes | 2024-08-28 | 63 | -201/+373 |
| | |||||
* | prelude: Rely more on __has_include() | Tavian Barnes | 2024-08-28 | 7 | -96/+31 |
| | | | | | Rather than a bunch of manual fallback macros, just provide a fallback definition that returns false. | ||||
* | build: Move tsan/target_clones conflict to the prelude | Tavian Barnes | 2024-08-28 | 2 | -5/+3 |
| | |||||
* | prelude: Define __SANITIZE_*__ | Tavian Barnes | 2024-08-28 | 6 | -24/+21 |
| | |||||
* | diag: Get rid of bfs_static_assert() | Tavian Barnes | 2024-08-28 | 4 | -44/+39 |
| | | | | | In most cases, it's not too annoying to specify a message. For tests/bit.c, we can manually polyfill the 1-argument version. | ||||
* | prelude: Define thread_local | Tavian Barnes | 2024-08-28 | 3 | -12/+17 |
| | |||||
* | build: Move per-file flag support into cc.sh | Tavian Barnes | 2024-08-28 | 3 | -11/+33 |
| | |||||
* | build: Move the "compiler works at all" test earlier | Tavian Barnes | 2024-08-28 | 3 | -12/+19 |
| | |||||
* | build: Include the auto-flag build logs in config.log | Tavian Barnes | 2024-08-28 | 2 | -1/+2 |
| | |||||
* | build/flags-if: Fix sed expression on BSD | Tavian Barnes | 2024-08-28 | 1 | -1/+1 |
| | | | | | | | | `p` needs a terminating semicolon; otherwise we get sed: 1: "\|^///|{s|^/// ||; s|[^ ...": extra characters at the end of p command Fixes: 3552b79 ("build/flags: Infrastructure to detect compiler flag support") | ||||
* | bftw: Handle a hypothetical platform where AT_FDCWD == -1 | Tavian Barnes | 2024-08-28 | 1 | -2/+2 |
| | |||||
* | docs/BUILDING: Update example test output | Tavian Barnes | 2024-08-28 | 1 | -4/+4 |
| | |||||
* | build: Allow ./configure --version=X.Y.Z | Tavian Barnes | 2024-08-28 | 2 | -5/+8 |
| | |||||
* | build/version.sh: Move version calculation here | Tavian Barnes | 2024-08-28 | 2 | -7/+19 |
| | |||||
* | build: Add check-{install,man} to distcheck | Tavian Barnes | 2024-08-28 | 1 | -1/+3 |
| | |||||
* | build: Fix ./configure --help | Tavian Barnes | 2024-08-23 | 1 | -2/+2 |
| | | | | Fixes: 49a5d48 ("configure: Fix VAR=value before --option") | ||||
* | prelude: Stub out __has_builtin() if necessary | Tavian Barnes | 2024-08-23 | 1 | -0/+4 |
| | | | | Fixes: c964524 ("atomic: Add a spin_loop() hint") | ||||
* | ci: Update runners to Ubuntu 24.04 | Tavian Barnes | 2024-08-23 | 3 | -8/+18 |
| | |||||
* | Release 4.0.14.0.1 | Tavian Barnes | 2024-08-19 | 3 | -2/+13 |
| | |||||
* | eval: Don't warn about suppressed errors without -noerror | Tavian Barnes | 2024-08-19 | 2 | -1/+3 |
| | |||||
* | tests/bfs: Add -noerror tests | Tavian Barnes | 2024-08-19 | 7 | -0/+21 |
| | |||||
* | bench: Remove workaround for : in $PATH | Tavian Barnes | 2024-08-18 | 1 | -6/+1 |
| | |||||
* | sighook: Fix typo in comment | Tavian Barnes | 2024-08-17 | 1 | -1/+1 |
| | |||||
* | eval: Capitalize -noerror warning message | Tavian Barnes | 2024-08-17 | 1 | -1/+1 |
| | |||||
* | Release 4.04.0 | Tavian Barnes | 2024-08-16 | 1 | -2/+2 |
| | |||||
* | docs: Document the new -mount vs. -xdev behaviour | Tavian Barnes | 2024-08-16 | 4 | -7/+7 |
| | | | | Fixes: 33b85e1 ("Implement POSIX 2024's -mount") | ||||
* | New -noerror option to suppress error messages | Tavian Barnes | 2024-08-16 | 8 | -1/+38 |
| | | | | Closes: https://github.com/tavianator/bfs/issues/142 | ||||
* | eval: Remove info_hook from callback_args | Tavian Barnes | 2024-08-16 | 1 | -4/+2 |
| | |||||
* | opt: Warn about all ignored tests | Tavian Barnes | 2024-08-15 | 1 | -31/+34 |
| | | | | | This lets us warn about `bfs -delete -empty`, even though -empty is impure. | ||||
* | expr: Tell expressions what kind of expression they are | Tavian Barnes | 2024-08-15 | 5 | -200/+205 |
| | |||||
* | Default to no for "Do you want to continue?" prompts | Tavian Barnes | 2024-08-13 | 2 | -2/+2 |
| | |||||
* | ci/codeql: Ignore cpp/constant-comparison | Tavian Barnes | 2024-08-12 | 1 | -0/+2 |
| | | | | | It triggers on "constants" that vary by platform, e.g. the new sysoption() macro testing _POSIX_<OPTION>. | ||||
* | opt: Add a missing NULL check in lift_andor_not() | Tavian Barnes | 2024-08-12 | 1 | -0/+4 |
| | | | | | The annotation visitor probably can't fail, but we might as well check consistently. | ||||
* | opt: Warn about ignored expressions after dangerous actions | Tavian Barnes | 2024-08-12 | 3 | -25/+79 |
| | | | | | | For example, `bfs -delete -type f` is almost certainly a mistake. Link: https://savannah.gnu.org/bugs/?65895 | ||||
* | opt: Copy data flow back up from the nested context in optimize() | Tavian Barnes | 2024-08-12 | 1 | -2/+11 |
| | | | | | | | | This fixes warnings on commands like `bfs -exclude -true` or `bfs -exclude -type f -type f`, because the data flow is properly shared between the -exclude expression and the main one. Fixes: 4a36bb9 ("expr: Make expressions variadic") | ||||
* | sighook: Disable semaphores on NetBSD | Tavian Barnes | 2024-08-11 | 1 | -1/+2 |
| | |||||
* | bfstd: New sysoption() macro to check for POSIX option runtime support | Tavian Barnes | 2024-08-09 | 5 | -39/+84 |
| | | | | | | | | | | POSIX allows optional features to be supported at compile time but not necessarily at run time by defining _POSIX_OPTION to 0 and requiring users to check sysconf(_SC_OPTION) > 0. The new sysoption() macro simplifies the check. sighook() and bfs_spawn() now check for conditional runtime support for the relevant POSIX options. | ||||
* | xtime: Remove xgettime() | Tavian Barnes | 2024-08-09 | 5 | -39/+10 |
| | | | | clock_gettime() is available everywhere by now. | ||||
* | prelude: s/fallthru/_fallthrough/ for consistency with other attributes | Tavian Barnes | 2024-08-09 | 5 | -15/+15 |
| | |||||
* | bar: Hide the bar unless the TTY is tall enough | Tavian Barnes | 2024-08-07 | 1 | -13/+23 |
| | |||||
* | docs/CHANGELOG: Add some new changes | Tavian Barnes | 2024-08-02 | 1 | -0/+6 |
| | |||||
* | parse: Take umask into account in parse_mode() | Tavian Barnes | 2024-08-02 | 7 | -10/+43 |
| | | | | | | | POSIX 2024 clarified that find(1) is meant to work exactly like chmod(1) here, so for modes like +rw,-x with no "who" specified, apply the umask. Link: https://www.austingroupbugs.net/view.php?id=1392 | ||||
* | tests: Add more files to perms/ | Tavian Barnes | 2024-08-02 | 22 | -103/+333 |
| | |||||
* | parse: Fix names in parse_mode() | Tavian Barnes | 2024-08-02 | 1 | -14/+14 |
| | | | | | | | Commit 9c6e4ce ("parse: s/parser_state/bfs_parser/") was a little to overzealous in replacing "state" with "parser", resulting in the tortured phrase "parser machine parser" instead of "state machine state". | ||||
* | Update opengroup.org links to POSIX 2024 | Tavian Barnes | 2024-08-02 | 4 | -9/+9 |
| | |||||
* | Revert "typo: Raise the insert/delete cost" | Tavian Barnes | 2024-08-02 | 1 | -1/+1 |
| | | | | | | | That was a little too aggressive, with -alse suggesting -size instead of -false. This reverts commit 0d6822ee71c1f60c8003e13ab149501e586f9ae6. | ||||
* | bar: #include <unistd.h> for ioctl() on Illumos | Tavian Barnes | 2024-08-01 | 1 | -0/+1 |
| | |||||
* | tests: Make some more variables local | Tavian Barnes | 2024-08-01 | 1 | -2/+4 |
| | |||||
* | tests: Fix line number reported when wait -n fails | Tavian Barnes | 2024-08-01 | 1 | -2/+3 |
| |