Landing: 1c2e59eccb78

Project / Subsystem

gcc / gcc/c++

Date

2026-07-14

Author

Jakub Jelinek

Commit

1c2e59eccb78aadf3f4e88edc0f6a1dd84c01d07

Source

github

Perf win

No

Breaking

No

All attributes

project
gcc
subsystem
gcc/c++
patch_id
commit_hash
1c2e59eccb78aadf3f4e88edc0f6a1dd84c01d07
source_type
github
headline
C++ deallocating functions default to noexcept for C++11
tldr
Ensures C++ deallocation functions (like operator delete) are correctly marked as noexcept by default.
author
Jakub Jelinek
outcome
committed
performance_win
false
breaking_change
false
series_id
series_parts
[]
tags
  • c++
  • exception
  • standard
  • gcc
discussion_id_link
bugzilla_pr
date
2026-07-14T00:00:00.000Z

This change enforces the C++11 standard’s rule that deallocation functions without explicit exception specifiers are implicitly non-throwing. Previously, GCC only applied this implicitly to destructors. Now, operator delete and operator delete[], both global and class-member versions, will also be defaulted to noexcept. This change may affect name mangling for code that relies on precise exception specifications of these functions.