[all-commits] [llvm/llvm-project] d80182: Revert "CWG2352: Allow qualification conversions d...
David Blaikie via All-commits
all-commits at lists.llvm.org
Fri Dec 27 12:27:27 PST 2019
Branch: refs/heads/master
Home: https://github.com/llvm/llvm-project
Commit: d8018233d1ea4234de68d5b4593abd773db79484
https://github.com/llvm/llvm-project/commit/d8018233d1ea4234de68d5b4593abd773db79484
Author: David Blaikie <dblaikie at gmail.com>
Date: 2019-12-27 (Fri, 27 Dec 2019)
Changed paths:
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/lib/Sema/SemaExprCXX.cpp
M clang/lib/Sema/SemaInit.cpp
M clang/lib/Sema/SemaOverload.cpp
M clang/test/CXX/drs/dr23xx.cpp
M clang/test/CXX/drs/dr4xx.cpp
M clang/test/SemaObjCXX/arc-overloading.mm
M clang/test/SemaOpenCL/address-spaces-conversions-cl2.0.cl
M clang/www/cxx_dr_status.html
M clang/www/make_cxx_dr_status
Log Message:
-----------
Revert "CWG2352: Allow qualification conversions during reference binding."
This reverts commit de21704ba96fa80d3e9402f12c6505917a3885f4.
Regressed/causes this to error due to ambiguity:
void f(const int * const &);
void f(int *);
int main() {
int * x;
f(x);
}
(in case it's important - the original case where this turned up was a
member function overload in a class template with, essentially:
f(const T1&)
f(T2*)
(where T1 == X const *, T2 == X))
It's not super clear to me if this ^ is expected behavior, in which case
I'm sorry about the revert & happy to look into ways to fix the original
code.
More information about the All-commits
mailing list