aboutsummaryrefslogtreecommitdiff
path: root/clang/lib/ExtractAPI/Serialization/SymbolGraphSerializer.cpp
diff options
context:
space:
mode:
authorMital Ashok <mital@mitalashok.co.uk>2024-08-15 16:12:11 +0100
committerGitHub <noreply@github.com>2024-08-15 19:12:11 +0400
commitc7df775440717ec5a3f47b6d485617d802cbd036 (patch)
tree62b7cdb4be25a6fae930b8ab4c90dee1cdb2f813 /clang/lib/ExtractAPI/Serialization/SymbolGraphSerializer.cpp
parentfcefe957ddfdc5a2fe9463757b597635e3436e01 (diff)
downloadllvm-c7df775440717ec5a3f47b6d485617d802cbd036.zip
llvm-c7df775440717ec5a3f47b6d485617d802cbd036.tar.gz
llvm-c7df775440717ec5a3f47b6d485617d802cbd036.tar.bz2
[Clang] Check explicit object parameter for defaulted operators properly (#100419)
Previously, the type of explicit object parameters was not considered for relational operators. This was defined by CWG2586, <https://cplusplus.github.io/CWG/issues/2586.html>. This fix also means CWG2547 <https://cplusplus.github.io/CWG/issues/2547.html> is now fully implemented. Fixes #100329, fixes #104413. Now start rejecting invalid rvalue reference parameters, which weren't checked for, and start accepting non-reference explicit object parameters (like `bool operator==(this C, C) = default;`) which were previously rejected for the object param not being a reference. Also start rejecting non-reference explicit object parameters for defaulted copy/move assign operators (`A& operator=(this A, const A&) = default;` is invalid but was previously accepted). Fixes #104414.
Diffstat (limited to 'clang/lib/ExtractAPI/Serialization/SymbolGraphSerializer.cpp')
0 files changed, 0 insertions, 0 deletions