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

Restore <exception>'s inclusion of <malloc.h> #4641

Merged
merged 1 commit into from
Apr 29, 2024

Conversation

StephanTLavavej
Copy link
Member

In #4626, I was a greedy kitty and added a one-line throughput improvement to make <exception> stop dragging in <malloc.h>, which it totally doesn't need.

Unfortunately, as <exception> is an ancient header, many projects have grown to assume this inclusion (over 15 found in our Real World Code test suite alone as reported by VSO-2048380; other codebases like Windows and Office are presumably similarly affected). That's too many for me to submit upstream fixes for, at least right now, and I didn't have a pressing need to make this change (unlike, say, increased deprecations where we're working towards removal). I did create chriskohlhoff/asio#1472 to fix Boost.Asio, though.

I want to revert this drive-by cleanup before 17.11 Preview 2 branches for release, so that no customers will experience this theoretically righteous, logistically annoying change.

I've included a comment explaining why this unnecessary include has been retained, tagged with today's date as a subtle reminder that future maintainers/contributors could revisit the issue and attempt to do the tedious work of cleaning up the ecosystem. If anyone's eager enough to start working on that, here's the list of libraries that our RWC suite found were affected (I don't have exact files/line numbers for them, but searching for _alloca and related <malloc.h> identifiers will turn up usage fairly easily):

  • AirSim
  • Annoy
  • Autowiring
  • Blender
  • Boost
    • I'm unsure if other Boost libraries beyond Asio were affected.
  • Cinder
  • CoreCLR
  • Mame
  • Openvr
  • OSQuery
  • PrusaSlicer
  • react_native_windows
  • synergy_core
  • TarsCpp
  • xbmc
  • Xmr_stak

@StephanTLavavej StephanTLavavej added enhancement Something can be improved high priority Important! labels Apr 29, 2024
@StephanTLavavej StephanTLavavej requested a review from a team as a code owner April 29, 2024 19:34
@StephanTLavavej StephanTLavavej merged commit 8dc4faa into microsoft:main Apr 29, 2024
39 checks passed
@StephanTLavavej StephanTLavavej deleted the it-was-worth-a-try branch April 29, 2024 22:38
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement Something can be improved high priority Important!
Projects
Archived in project
Development

Successfully merging this pull request may close these issues.

2 participants