[clang] [clang][Interp] Handle virtual calls with covariant return types (PR #101218)
via cfe-commits
cfe-commits at lists.llvm.org
Tue Jul 30 11:40:29 PDT 2024
Timm =?utf-8?q?Bäder?= <tbaeder at redhat.com>
Message-ID:
In-Reply-To: <llvm.org/llvm/llvm-project/pull/101218 at github.com>
github-actions[bot] wrote:
<!--LLVM CODE FORMAT COMMENT: {clang-format}-->
:warning: C/C++ code formatter, clang-format found issues in your code. :warning:
<details>
<summary>
You can test this locally with the following command:
</summary>
``````````bash
git-clang-format --diff 51681409aeb081c8dfe241e0d8e8c71f8bf0a4f4 0f16b476cca16a337d459098aa08c8116aae7011 --extensions h,cpp -- clang/include/clang/AST/Type.h clang/include/clang/Sema/Overload.h clang/lib/AST/ExprCXX.cpp clang/lib/AST/Interp/Context.cpp clang/lib/AST/Interp/Interp.h clang/lib/AST/ItaniumMangle.cpp clang/lib/AST/Type.cpp clang/lib/Analysis/Consumed.cpp clang/lib/Analysis/ThreadSafetyCommon.cpp clang/lib/Sema/SemaDecl.cpp clang/lib/Sema/SemaDeclAttr.cpp clang/lib/Sema/SemaExprCXX.cpp clang/lib/Sema/SemaTemplate.cpp clang/test/AST/Interp/cxx2a.cpp
``````````
</details>
<details>
<summary>
View the diff from clang-format here.
</summary>
``````````diff
diff --git a/clang/lib/AST/Interp/Context.cpp b/clang/lib/AST/Interp/Context.cpp
index fd66e6fe8d..b1e06cd4d8 100644
--- a/clang/lib/AST/Interp/Context.cpp
+++ b/clang/lib/AST/Interp/Context.cpp
@@ -176,8 +176,7 @@ std::optional<PrimType> Context::classify(QualType T) const {
T->isFunctionType())
return PT_FnPtr;
- if (T->isPointerOrReferenceType() ||
- T->isObjCObjectPointerType())
+ if (T->isPointerOrReferenceType() || T->isObjCObjectPointerType())
return PT_Ptr;
if (const auto *AT = T->getAs<AtomicType>())
diff --git a/clang/lib/Sema/SemaDecl.cpp b/clang/lib/Sema/SemaDecl.cpp
index cac68dc1b2..8bb6f3c173 100644
--- a/clang/lib/Sema/SemaDecl.cpp
+++ b/clang/lib/Sema/SemaDecl.cpp
@@ -10789,10 +10789,10 @@ Sema::ActOnFunctionDeclarator(Scope *S, Declarator &D, DeclContext *DC,
if (getLangOpts().getOpenCLCompatibleVersion() >= 200) {
if(const PipeType *PipeTy = PT->getAs<PipeType>()) {
QualType ElemTy = PipeTy->getElementType();
- if (ElemTy->isPointerOrReferenceType()) {
- Diag(Param->getTypeSpecStartLoc(), diag::err_reference_pipe_type );
- D.setInvalidType();
- }
+ if (ElemTy->isPointerOrReferenceType()) {
+ Diag(Param->getTypeSpecStartLoc(), diag::err_reference_pipe_type);
+ D.setInvalidType();
+ }
}
}
// WebAssembly tables can't be used as function parameters.
``````````
</details>
https://github.com/llvm/llvm-project/pull/101218
More information about the cfe-commits
mailing list