[all-commits] [llvm/llvm-project] 1a1773: [libc++] Avoid ODR violations in __exception_guard
philnik777 via All-commits
all-commits at lists.llvm.org
Wed Feb 1 17:07:30 PST 2023
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: 1a17739d3aa78599c32f6106e05dcfa7f3f9e823
https://github.com/llvm/llvm-project/commit/1a17739d3aa78599c32f6106e05dcfa7f3f9e823
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2023-02-02 (Thu, 02 Feb 2023)
Changed paths:
M libcxx/include/__expected/expected.h
M libcxx/include/__memory/uninitialized_algorithms.h
M libcxx/include/__memory_resource/polymorphic_allocator.h
M libcxx/include/__utility/exception_guard.h
A libcxx/test/libcxx/utilities/exception_guard.odr.sh.cpp
Log Message:
-----------
[libc++] Avoid ODR violations in __exception_guard
Having an ODR violation with `__exception_guard` seems to be problematic in LTO builds. To avoid the ODR violation, give the class different names for exception/no-exceptions mode and have an alias to the correct class.
Reviewed By: ldionne, #libc, alexfh
Spies: aeubanks, dblaikie, joanahalili, alexfh, rupprecht, libcxx-commits
Differential Revision: https://reviews.llvm.org/D143071
More information about the All-commits
mailing list