Skip to content

Commit d7974af

Browse files
efriedma-quicShivam Gupta
authored andcommitted
[clang codegen] Fix MS ABI detection of user-provided constructors. (llvm#90151)
In the context of determining whether a class counts as an "aggregate", a constructor template counts as a user-provided constructor. Fixes llvm#86384 (cherry picked from commit 3ab4ae9)
1 parent db8fd33 commit d7974af

File tree

1 file changed

+6
-0
lines changed

1 file changed

+6
-0
lines changed

clang/docs/ReleaseNotes.rst

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -79,6 +79,12 @@ ABI Changes in This Version
7979

8080
- Fixed Microsoft name mangling of placeholder, auto and decltype(auto), return types for MSVC 1920+. This change resolves incompatibilities with code compiled by MSVC 1920+ but will introduce incompatibilities with code compiled by earlier versions of Clang unless such code is built with the compiler option -fms-compatibility-version=19.14 to imitate the MSVC 1914 mangling behavior.
8181

82+
- Fixed Microsoft calling convention for returning certain classes with a
83+
templated constructor. If a class has a templated constructor, it should
84+
be returned indirectly even if it meets all the other requirements for
85+
returning a class in a register. This affects some uses of std::pair.
86+
(#GH86384).
87+
8288
AST Dumping Potentially Breaking Changes
8389
----------------------------------------
8490

0 commit comments

Comments
 (0)