File tree Expand file tree Collapse file tree 1 file changed +8
-0
lines changed Expand file tree Collapse file tree 1 file changed +8
-0
lines changed Original file line number Diff line number Diff line change @@ -85,6 +85,12 @@ C++ Language Changes
85
85
- Implemented `CWG2518 <https://wg21.link/CWG2518 >`_ which allows ``static_assert(false) ``
86
86
to not be ill-formed when its condition is evaluated in the context of a template definition.
87
87
- Declaring namespace std to be an inline namespace is now prohibited, `[namespace.std]p7 `.
88
+ - Improved code generation for ``dynamic_cast `` to a ``final `` type. Instead of
89
+ dispatching to the runtime library to compare the RTTI data, Clang now
90
+ generates a direct comparison of the vtable pointer in cases where the ABI
91
+ requires the vtable for a class to be unique. This optimization can be
92
+ disabled with ``-fno-assume-unique-vtables ``. This optimization is not yet
93
+ implemented for the MS C++ ABI.
88
94
89
95
C++20 Feature Support
90
96
^^^^^^^^^^^^^^^^^^^^^
@@ -279,6 +285,8 @@ New Compiler Flags
279
285
and thread-local variables—to guarantee that they can be directly addressed.
280
286
Since this inhibits the merging of the affected variables, the number of
281
287
individual relocations in the program will generally increase.
288
+ - ``-f[no-]assume-unique-vtables `` controls whether Clang assumes that each
289
+ class has a unique vtable address, when that is required by the ABI.
282
290
283
291
Deprecated Compiler Flags
284
292
-------------------------
You can’t perform that action at this time.
0 commit comments