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

Asyncify: warn/error when functions match both ADD and REMOVE #6482

Open
curiousdannii opened this issue Apr 10, 2024 · 0 comments
Open

Asyncify: warn/error when functions match both ADD and REMOVE #6482

curiousdannii opened this issue Apr 10, 2024 · 0 comments

Comments

@curiousdannii
Copy link
Contributor

curiousdannii commented Apr 10, 2024

Follow on to emscripten-core/emscripten#13150

If a function is explicitly listed in both the add-list and remove-list, that should be an error.

But if there are wildcards, then it's less obvious what to do... For safety reasons, anything matching an ADD should still be added. Except maybe ADD* + REMOVE?

Matching a wildcard on both seems like a clearly ambiguous situation, and so should warn.

If we assume that most people only have issues from Add* + Remove*, then we'd probably want people to resolve the ambiguity by explicitly listing functions. So an explicit Add should just overrule a Remove*, that seems safe, and not worthy of a warning.

Are we okay with making an explicit Remove overrule an Add*? That's the riskiest combination. Instead of ignoring the Add*, we could still warn for such combinations, suggesting people change their Add wildcards to be more specific so they stop matching the Removed function.

And imports should be treated like the add-list, I think.

Add Add * Imports
Remove Error ???? Error
Remove * Ignore Warn Ignore

(This isn't a high priority request. I've used remove* before, but never add*. And I haven't seen anyone else report issues due to the lack of warnings.)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant