cor3ntin added inline comments.
================
Comment at: clang/lib/AST/DeclCXX.cpp:841
const auto *ParamTy =
- Method->getParamDecl(0)->getType()->getAs<ReferenceType>();
+ Method->getNonObjectParameter(0)->getType()->getAs<ReferenceType>();
if (!ParamTy || ParamTy->getPointeeType().isConstQualified())
----------------
aaron.ballman wrote:
> cor3ntin wrote:
> > cor3ntin wrote:
> > > aaron.ballman wrote:
> > > > Under what circumstances should existing calls to `getParamDecl()` be
> > > > converted to using `getNonObjectParameter()` instead? Similar for
> > > > `getNumParams()`.
> > > everytime you want to ignore (or handle differently) the explicit object
> > > parameter. I'll do another survey at some point, to be sure i didn't miss
> > > a spot
> > I found a bug https://github.com/cplusplus/CWG/issues/390 !
> > (`AreSpecialMemberFunctionsSameKind`) - So far nothing else but I'll do
> > several passes
> This adds an unfortunate amount of complexity to the compiler because now we
> have to explicitly remember to think about this weird scenario, but I'm not
> seeing much of a way around it. I suspect this will be a bit of a bug factory
> until we're used to thinking explicitly about this.
>
> Be sure to double-check things like attributes that take arguments which
> represent an index into a function parameter list (like the `format`
> attribute), as those have to do a special dance to handle the implicit `this`
> parameter. I'm guessing the static analyzer and clang-tidy will both also run
> into this in some places as well.
https://cplusplus.github.io/CWG/issues/2787.html
Do we want to implement that resolution now?
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D140828/new/
https://reviews.llvm.org/D140828
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits