Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Don't override linker #8152

Closed
wants to merge 1 commit into from
Closed

Conversation

jpalus
Copy link
Contributor

@jpalus jpalus commented Jul 20, 2021

No description provided.

@faho
Copy link
Member

faho commented Jul 20, 2021

What's the reason for this?

We want gold or lld because that avoids spurious errors about sys_nerr that we don't want to have reported and are faster. Is there a particular reason to not want them?

@faho faho added the cmake label Jul 20, 2021
@faho faho added this to the fish-future milestone Jul 20, 2021
@jpalus
Copy link
Contributor Author

jpalus commented Jul 20, 2021

In general Linux distributions want to have control over toolchain used unless package requires specific tools. I wouldn't even notice this preference if our 32bit builds didn't fail with lld. That's likely an issue with lld linker itself but this does not change the fact that we (PLD Linux) prefer to build packages with as consistent toolchain as possible. Apparently so does Gentoo.

@faho
Copy link
Member

faho commented Jul 20, 2021

Okay, in that case make it one option, "FISH_USE_DEFAULT_LINKER=ON|OFF" that just skips the override. Let it default to OFF and document it in the README, together with a note that GNU's default prints spurious errors.

Or if that doesn't work for you make it "FISH_USE_LINKER=/path/to/linker", and if it's unset (by default) still do the override.

Having two options for this is awkward and unnecessary (among other things, they can be set at the same time - in the current implementation LLD wins, but that's an arbitrary choice and unclear from the outside).

(The exact names are, of course, up for debate)

Apparently so does Gentoo.

(Link is broken, I'm assuming you mean https://bugs.gentoo.org/790596)

@jpalus
Copy link
Contributor Author

jpalus commented Jul 20, 2021

Sorry about the link, no idea where that '3' at the end came from.

Anyway before I make any changes I would like to clarify few things:

  1. Warning about sys_nerr/sys_errlist comes from glibc versions 2.31 and older, it's no longer there in 2.32 and up
  2. These warnings are implemented with .gnu.warning ELF section which both bfd and gold support so I assume gold preference is not there for handling those warnings, just for performance (comment in CMakeLists.txt is incorrect):
$ cat test.c       
int test() { return 0; }
static const char test_warning[] __attribute__((section(".gnu.warning.test"))) = "test link warning";

$ cat main.c
int test();
int main() { return test(); }

$ gcc -fuse-ld=bfd test.c main.c -o main
/usr/bin/ld.bfd: /home/users/jan/tmp/cclYUYyG.o: in function `main':
main.c:(.text+0x8): warning: test link warning

$ gcc -fuse-ld=gold test.c main.c -o main
/home/users/jan/tmp/ccJKFCEE.o:main.c:function main: warning: test link warning
  1. lld does not issue warning simply because it lacks support for .gnu.warning. Adding such support was requested however it stalled. It is possible that lld will issue such warning one day though.

Can you confirm that you do want to keep this override for merely a warning that occurs with 1.5y old glibc and happens to be "fixed" by lld which lacks support for those warnings?

@faho
Copy link
Member

faho commented Jul 20, 2021

"1.5y old glibc" means it's still very much in active use. That's newer than what you would expect in stable distros like Debian or RHEL or Ubuntu LTS.

Yes, we will keep workarounds for that.

@faho
Copy link
Member

faho commented Jul 20, 2021

Okay, after a quick shower to moisturize those brain cells: It's about a warning, not functionality. In an old and crufty glibc version, only when you build fish yourself (instead of installing via our PPAs). That's very much unimportant cosmetics in a minority usecase.

So this entire mechanism can, actually, be nuked from orbit. If your default linker is slow, your default linker is slow, and you should do something about it.

@zanchey
Copy link
Member

zanchey commented Jul 20, 2021

We got a handful of problem reports, which is why I think @ridiculousfish added it in 5f6ee7f, but I agree it can go.

@faho faho closed this in 07457bf Jul 20, 2021
@faho
Copy link
Member

faho commented Jul 20, 2021

Okay, it has been removed.

@faho faho modified the milestones: fish-future, fish 3.4.0 Jul 20, 2021
@faho faho changed the title Make linker preference optional Don't override linker Jul 20, 2021
thunder-coding pushed a commit to thunder-coding/fish-shell that referenced this pull request Jul 28, 2021
This was a workaround for an error that has been removed in glibc
2.32 (by removing sys_errlist and friends, which it complained about).

Other than that, it's an attempt at performance optimization that
should just be fixed at the system level - if your linker is bad,
replace it with a better linker. No need for fish to work around it.

Closes fish-shell#8152
@mqudsi
Copy link
Contributor

mqudsi commented Jul 31, 2021

I disagree with this, because a) there's really no standard way to set the "default" linker, and b) CMake makes it hard to override the linker even via the usual ways. Although this is a C++ project, if both CFLAGS and CPPFLAGS are set to -fuse-ld=lld, CMake still insists on invoking $CC separately and using the default gcc linker unless you also define CXXFLAGS to -fuse-ld=lld. I don't think the distinction between CFLAGS/CPPFLAGS/CXXFLAGS extends to the linker, technically using only CPPFLAGS here should suffice.

Also, @ridiculousfish added that hack for good reason: the warnings really did cause a lot of unnecessary drama (100% glibc's fault) and sent a lot of people barking up the wrong tree and absolutely deserve to be suffocated into silence and submission, by fire if necessary. Many (most?) LTS distros are still using glibc versions that stupidly complain with ZERO way of explicitly ignoring/opting-out of warnings, and it'll be ages before glibc's backtracking here will trickle down to everyone. (And the performance benefits are an extremely nice icing on the cake to boot.)

@mqudsi
Copy link
Contributor

mqudsi commented Jul 31, 2021

Ok, this is just stupid. The only way to get CMake to respect my preference for ld.lld is, as shown above, to add -fuse-ld=lld to CXXFLAGS. But if your default compiler (which, unlike the linker, can be set via standard means like $CC) is clang, you'll get a new warning for each and every source file compiled!

[34/117] Building CXX object CMakeFiles/fishlib.dir/src/builtin_cd.cpp.o
clang: warning: argument unused during compilation: '-fuse-ld=lld' [-Wunused-command-line-argument]
clang: warning: argument unused during compilation: '-fuse-ld=lld' [-Wunused-command-line-argument]
[35/117] Building CXX object CMakeFiles/fishlib.dir/src/fish_version.cpp.o
clang: warning: argument unused during compilation: '-fuse-ld=lld' [-Wunused-command-line-argument]
clang: warning: argument unused during compilation: '-fuse-ld=lld' [-Wunused-command-line-argument]
[36/117] Building CXX object CMakeFiles/fishlib.dir/src/builtin_history.cpp.o
clang: warning: argument unused during compilation: '-fuse-ld=lld' [-Wunused-command-line-argument]
clang: warning: argument unused during compilation: '-fuse-ld=lld' [-Wunused-command-line-argument]
[37/117] Building CXX object CMakeFiles/fishlib.dir/src/builtin_functions.cpp.o
clang: warning: argument unused during compilation: '-fuse-ld=lld' [-Wunused-command-line-argument]
clang: warning: argument unused during compilation: '-fuse-ld=lld' [-Wunused-command-line-argument]
[38/117] Building CXX object CMakeFiles/fishlib.dir/src/builtin.cpp.o
clang: warning: argument unused during compilation: '-fuse-ld=lld' [-Wunused-command-line-argument]
clang: warning: argument unused during compilation: '-fuse-ld=lld' [-Wunused-command-line-argument]
[39/117] Building CXX object CMakeFiles/fishlib.dir/src/builtin_ulimit.cpp.o
clang: warning: argument unused during compilation: '-fuse-ld=lld' [-Wunused-command-line-argument]
clang: warning: argument unused during compilation: '-fuse-ld=lld' [-Wunused-command-line-argument]
[40/117] Building CXX object CMakeFiles/fishlib.dir/src/builtin_complete.cpp.o
clang: warning: argument unused during compilation: '-fuse-ld=lld' [-Wunused-command-line-argument]
clang: warning: argument unused during compilation: '-fuse-ld=lld' [-Wunused-command-line-argument]
[41/117] Building CXX object CMakeFiles/fishlib.dir/src/color.cpp.o
clang: warning: argument unused during compilation: '-fuse-ld=lld' [-Wunused-command-line-argument]
clang: warning: argument unused during compilation: '-fuse-ld=lld' [-Wunused-command-line-argument]

because CMake passes CXXFLAGS to each invocation of clang, including those that have nothing to do with linking. This is not OK.

@mqudsi mqudsi reopened this Jul 31, 2021
@jpalus
Copy link
Contributor Author

jpalus commented Jul 31, 2021

Enforcing specific toolchain is valid in very rare cases and fish is just not one of them.

Enforcing linker to fix somebody's warning (cosmetic thing) while breaking builds for others does not bring any added value.

If you have problem with new change then open new issue, don't reopen pull requests.

No idea why you pass linker flag in C++ compiler flags... try passing it in linker flags (LDFLAGS)?

@mqudsi
Copy link
Contributor

mqudsi commented Jul 31, 2021

LDFLAGS is passed to the linker, it doesn't determine what the linker is. In this case, the top-level "linker" happens to be the compiler that invokes the actual linker, so it does work, but that is not a guarantee. Hence my point about there not being a standard way to actually decide what linker to use. You're right that using it would avoid the warnings about unused arguments generated by clang, however.

I re-opened the pull request because it was my intention to merge your existing PR, but giving a window of opportunity to hear any other viewpoints.

@faho
Copy link
Member

faho commented Aug 1, 2021

I re-opened the pull request because it was my intention to merge your existing PR, but giving a window of opportunity to hear any other viewpoints.

@mqudsi Please do handle the existing feedback: Having two options that aren't orthogonal is awkward. This should be one option. It should also be documented in README.md.

Other than that, I don't really care either way. As long as it's usable to all involved, go ahead.

@mqudsi
Copy link
Contributor

mqudsi commented Aug 1, 2021

That sounds good. I'll close this one out, then.

@mqudsi mqudsi closed this Aug 1, 2021
@jpalus
Copy link
Contributor Author

jpalus commented Aug 1, 2021

the top-level "linker" happens to be the compiler that invokes the actual linker, so it does work, but that is not a guarantee

It works exactly how it supposed to. You as a user control what linker should be and what flags should be passed. CMake defaults to C++ compiler for linking stage so if not specified otherwise LDFLAGS are passed to C++ compiler. You do realize code that was dropped did exactly that? It used to add a linker flag. It does not influence what linker binary really is (it is still C++ compiler). So passing LDFLAGS is effectively equivalent to dropped logic.

@zanchey
Copy link
Member

zanchey commented Aug 5, 2021

@mqudsi does https://stackoverflow.com/a/55801096/125549 (using cmake -DCMAKE_EXE_LINKER_FLAGS=-fuse-ld=lld) work for you?

@mqudsi
Copy link
Contributor

mqudsi commented Aug 8, 2021

@zanchey I think that's what setting LDFLAGS indirectly does. After some time to think about this and in particular given that it seems to be deterministic that CMake invokes $CXX (or whatever that resolved to) to do the linking, I guess it's fair enough for the dev to just set an LDFLAGS (or CMAKE_EXE_LINKER_FLAGS) that will trigger the desired linker behavior. We can always put the linker preference patch back in if we start getting downstream complaints or concerns about the warnings again.

@neheb
Copy link
Contributor

neheb commented Sep 6, 2021

To add to this, gold is actually broken under mips64.

There's very little benefit in using a faster linker. Empirical testing shows an increase in binary size.

krobelus added a commit to krobelus/fish-shell that referenced this pull request Dec 12, 2021
I used the command from fish-shell#8092 to list issues/PRs with missing changelog entries,
and went through most of them.

Each issue gets three lines
- subject
- URL
- verdict

If the verdict ends with ", ignoring", I added it the the ignored list in the changelog.

The issues are grouped by verdict, with the interesting/leftover ones
on top (obviously no need to double check *everything*).

The "gh" script is already a quantum leap we can still find better
ways to share the changelog burden.
I noticed that there are many minor updates that can probably be
ignored.  Filtering them out doesn't take much time but it adds up,
especially if it's a single person doing it.

---

Issue/PR title: Make --no-config mode more comfortable
fish-shell#8493
in-flight

Issue/PR title: Debian fish binary package difficult to install
fish-shell#7845
TODO

Issue/PR title: Work around `setpgid` error on older Apple platforms
fish-shell#8153
this extends 7474, which wasn't listed either, we should probably mention it?

Issue/PR title: Abbr -q return status inconsistent
fish-shell#8431
fixes return status of "abbr -q", should we mention this?

Issue/PR title: math: (n n): incorrect error
fish-shell#8511
improved error output, which is very nice but too minor?

Issue/PR title: Fish autocomplete error on iOS procursus
fish-shell#8205
niche fix, ignoring

Issue/PR title: Fix `fish_key_reader` wrapper check
fish-shell#8271
minor update to not create a harmless alias for fish_key_reader, ignoring

Issue/PR title: funced dosn't like backslash escapes in function names
fish-shell#8289
minor escaping fix, ignoring

Issue/PR title: Hide whatis database building from the user
fish-shell#8310
not something many users would notice in the first place, ignoring

Issue/PR title: Duplicated "Type 'help argparse' for related documentation" for argparse
fish-shell#8368
minor update to error message, ignoring

Issue/PR title: Variable highlight color does not span lines
fish-shell#8444
very obscure fix, ignoring

---

Issue/PR title: Add --function to `read`
fish-shell#8295
added to existing entry (565)

Issue/PR title: Added completions for ethtool
fish-shell#8283
added to existing entry

Issue/PR title: Add dart completion
fish-shell#8315
added to existing entry

Issue/PR title: Add common lisp completions(sbcl/roswell)
fish-shell#8330
added to existing entry

Issue/PR title: Fix st issue with shift+tab
fish-shell#8354
added to existing entry (8352)

Issue/PR title: Support vi-mode cursors in Foot Terminal 
fish-shell#8391
added to existing entry (8167)

Issue/PR title: Completions pager should redraw if the subbed completion wraps/unwraps the line
fish-shell#8405
added to existing entry (8509)

---

Issue/PR title: Binding escape as user binding breaks escape sequence bindings (arrows, etc)
fish-shell#8428
added new entry

Issue/PR title: Windows "color" command completion
fish-shell#8483
added new entry

Issue/PR title: Doesn't build when using netbsd curses on Linux
fish-shell#8087
added new entry

Issue/PR title: Don't override linker
fish-shell#8152
added new entry

Issue/PR title: Add completions for `git-sizer`
fish-shell#8156
added new entry

Issue/PR title: `d3ceba107e88b6c6e1a0358ebcb30366aeef653f` causes issues with repainting multi-line prompt
fish-shell#8163
added new entry

Issue/PR title: Builtin math ncr can be extremely slow
fish-shell#8170
added new entry

Issue/PR title: Completion sometimes missing the last token
fish-shell#8175
added new entry

Issue/PR title: `set -S` should mark read-only variables
fish-shell#8179
added new entry

Issue/PR title: Errors when trying to autocomplete (invalid) UTF-8 escapes
fish-shell#8195
added new entry

Issue/PR title: Always use LC_NUMERIC=C internally
fish-shell#8204
added new entry

Issue/PR title: Slow interaction between backgrounding, universal variables, and repainting
fish-shell#8209
added new entry

Issue/PR title: Unsetting `$fish_emoji_width` doesn't clear the cached width
fish-shell#8274
added new entry

Issue/PR title: If prompt ends in an empty line, the commandline is inserted at the width of the line before
fish-shell#8298
added new entry

Issue/PR title: assertion normal_exited() failed related to paged builtin help
fish-shell#8308
added new entry

Issue/PR title: colors don't kick in for ls on macOS Big Sur, Monterey (and maybe FreeBSD)
fish-shell#8309
added new entry

Issue/PR title: Adds sub-command clear-session to history command. Issue fish-shell#5791
fish-shell#8337
added new entry (as 5791)

Issue/PR title: Display local branches before unique remote branches in git completion
fish-shell#8338
added new entry

Issue/PR title: Fix delete-key in st
fish-shell#8352
added new entry

Issue/PR title: sigsegv on set --show variable (when LANG is set to fr_FR.utf8)
fish-shell#8358
added new entry

Issue/PR title: Add clasp completion
fish-shell#8373
added new entry

Issue/PR title: `cargo run --example` completions break with nested example directories
fish-shell#8429
added new entry

Issue/PR title: argparse completions
fish-shell#8434
added new entry

Issue/PR title: Stop linking to StackOverflow
fish-shell#8495
added new entry

Issue/PR title: fish_key_reader ^C warning isn't right
fish-shell#8510
added new entry

Issue/PR title: Use `--almost-all` in `la` function
fish-shell#8519
added new entry

---

Issue/PR title: improve the experience of using fish over mosh
fish-shell#1363
listed as 8376, ignoring

Issue/PR title: incomplete man page completions
fish-shell#8305
listed as 8309, ignoring

Issue/PR title: Support "$(cmd)" command substitution without line splitting
fish-shell#8059
listed as 159, ignoring

Issue/PR title: fish_config: Read colorschemes from .theme files
fish-shell#8127
listed as 8132, ignoring

Issue/PR title: funced: edit the whole file, not just the function definition
fish-shell#8130
listed as 391, ignoring

Issue/PR title: builtin cd: print error about broken symlink
fish-shell#8270
listed as 8264, ignoring

Issue/PR title: fix man completion for BSD's mandoc
fish-shell#8306
listed as 8305, ignoring

Issue/PR title: Don't escape tildes that come from custom completions
fish-shell#8441
listed as 8441, ignoring

Issue/PR title: Use `cargo run --example` to get list of examples
fish-shell#8446
listed as 8429, ignoring

---

Issue/PR title: Node completion: add v8 sparkplug option
fish-shell#8118
update to existing completions, ignoring

Issue/PR title: Add zypper subcommands completion
fish-shell#8183
update to existing completions, ignoring

Issue/PR title: completion nmap: suppress warning when local scripts folder exists
fish-shell#8184
update to existing completions, ignoring

Issue/PR title: add missing `git commit` completions
fish-shell#8191
update to existing completions, ignoring

Issue/PR title: Updated ping completions
fish-shell#8192
update to existing completions, ignoring

Issue/PR title: Add `--function` to `set` completion
fish-shell#8202
update to existing completions, ignoring

Issue/PR title: completion: support `--no` prefixes for mpv flag options
fish-shell#8219
update to existing completions, ignoring

Issue/PR title: complete "mpc load"
fish-shell#8241
update to existing completions, ignoring

Issue/PR title: Add and fix completions for new options
fish-shell#8243
update to existing completions, ignoring

Issue/PR title: Fix completions/ls.fish
fish-shell#8249
update to existing completions, ignoring

Issue/PR title: Fix completions/coredumpctl.fish and add new complete
fish-shell#8256
update to existing completions, ignoring

Issue/PR title: completions/git: Handle "1 .T" & "1 AT" files
fish-shell#8311
update to existing completions, ignoring

Issue/PR title: completions/xbps-query: add missing `-p` completions
fish-shell#8323
update to existing completions, ignoring

Issue/PR title: Update ldapsearch.fish
fish-shell#8326
update to existing completions, ignoring

Issue/PR title: small fix completions/duply.fish
fish-shell#8327
update to existing completions, ignoring

Issue/PR title: Update ip.fish
fish-shell#8334
update to existing completions, ignoring

Issue/PR title: Fix ant completion
fish-shell#8344
update to existing completions, ignoring

Issue/PR title: Update dmesg completions
fish-shell#8365
update to existing completions, ignoring

Issue/PR title: No hints for -g|--global and -U|--universal flags for abbr command
fish-shell#8367
update to existing completions, ignoring

Issue/PR title: Updated systemd-analyze completions
fish-shell#8381
update to existing completions, ignoring

Issue/PR title: vmctl completion function call needs to be quoted
fish-shell#8406
update to existing completions, ignoring

Issue/PR title: pabcnetcclear command completion update
fish-shell#8480
update to existing completions, ignoring

---

Issue/PR title: document `--no-config`
fish-shell#8176
doc update, ignoring

Issue/PR title: Theme demo needs to be adjusted so that only unmatched quote is an error
fish-shell#8260
doc update, ignoring

Issue/PR title: no error about wrong >>? redirection operator
fish-shell#8380
doc update, ignoring

Issue/PR title: set -l works outside of command block
fish-shell#8385
doc update, ignoring

Issue/PR title: Some enhancements to "for" and "while" loop pages
fish-shell#8409
doc update, ignoring

Issue/PR title: Html docs: Remove link underlines again?
fish-shell#8439
doc update, ignoring

Issue/PR title: Old-style options support "=" assignment operator in complete builtin
fish-shell#8457
doc update, ignoring

Issue/PR title: Document prompt_hostname
fish-shell#8522
doc update, ignoring

---

Issue/PR title: edit_command_buffer: use "command" to ignore any functions with the same name
fish-shell#8221
only helps broken systems, ignoring

Issue/PR title: Prepend command to cat
fish-shell#8287
only helps broken systems, ignoring

Issue/PR title: Make less version check compatible with older Fish
fish-shell#8299
only helps broken systems, ignoring

Issue/PR title: Skip leading `command` in `__fish_man_page`
fish-shell#8447
only helps broken systems, ignoring

Issue/PR title: fish_config doesn't work without curses module
fish-shell#8487
only helps broken systems, ignoring

---

Issue/PR title: fix 'socket file name too long' error
fish-shell#8128
test fix with long tempdirs (macOS), not really user-visible, ignoring

Issue/PR title: Give tests a more generic name
fish-shell#8449
not user-visible, ignoring

Issue/PR title: string tests sometimes failing on macOS (Github Actions)
fish-shell#8353
not user-visible, ignoring

Issue/PR title: history merge test fails on OpenBSD
fish-shell#6477
not user-visible, ignoring

---

Issue/PR title: Obtain Deno completions from itself
fish-shell#8471
update to an unreleased feature (7138), ignoring

Issue/PR title: `string length --visible` performance
fish-shell#8253
update to an unreleased feature, ignoring

Issue/PR title: Backspace character is ignored when calculating string widths
fish-shell#8277
update to an unreleased feature, ignoring

Issue/PR title: `fish_config choose` leaves previous right prompt in place
fish-shell#8314
update to an unreleased feature, ignoring

Issue/PR title: parenthesis characters outer of $(command substitution) in string cause error
fish-shell#8394
update to an unreleased feature, ignoring

Issue/PR title: Parser bug with command substitutions in strings inside parenthesis
fish-shell#8500
update to an unreleased feature, ignoring

Issue/PR title: fish_config: silently doesn't set color schemes.
fish-shell#8419
regression, not in any release, ignoring

Issue/PR title: :program: in sphinx doesn't link
fish-shell#8438
regression, not in any release, ignoring

Issue/PR title: __fish_seen_argument.fish throws exception when autocompleting
fish-shell#8478
regression, not in any release, ignoring

---

Issue/PR title: Fix typo in abbr docs
fish-shell#8280
typofix, ignoring

Issue/PR title: Fix typo in `set_colors` command documentation
fish-shell#8321
typofix, ignoring

Issue/PR title: Typo funcions -> functions
fish-shell#8257
typofix, ignoring

---

Issue/PR title: remove make_pair
fish-shell#8206
no behavior change, ignoring

Issue/PR title: replace push_back with emplate_back
fish-shell#8222
no behavior change, ignoring

Issue/PR title: clang-tidy: remove pointless virtual
fish-shell#8224
no behavior change, ignoring

Issue/PR title: change value to rvalue reference
fish-shell#8227
no behavior change, ignoring

Issue/PR title: convert const ref to rvalue ref
fish-shell#8228
no behavior change, ignoring

Issue/PR title: clang-tidy: use for range loops
fish-shell#8229
no behavior change, ignoring

Issue/PR title: fix deleted constructors
fish-shell#8230
nno behavior change, ignoring

Issue/PR title: clang-tidy: const reference conversions
fish-shell#8231
no behavior change, ignoring

Issue/PR title: clang-tidy: simplify two bool returns
fish-shell#8235
no behavior change, ignoring

Issue/PR title: clang-tidy: replace size comparisons with empty
fish-shell#8237
no behavior change, ignoring

Issue/PR title: clang-tidy: replace NULL with nullptr
fish-shell#8239
no behavior change, ignoring

Issue/PR title: add constexpr
fish-shell#8252
no behavior change, ignoring

Issue/PR title: __fish_seen_subcommand_from and __fish_seen_argument update
fish-shell#8430
no behavior change (apart from a regression that's fixed), ignoring

Issue/PR title: Run fish_indent on all non-test .fish files
fish-shell#8476
no behavior change, ignoring

Issue/PR title: Use test command instead of bracket command
fish-shell#8477
no behavior change, ignoring

Issue/PR title: Fix code scanning alert - Wrong type of arguments to formatting function
fish-shell#8521
no behavior change, ignoring

Issue/PR title: clang-tidy: replace push_back with emplace_back
fish-shell#8236
no behavior change, ignoring

---
@github-actions github-actions bot locked as resolved and limited conversation to collaborators Sep 12, 2022
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants