Author: Emanuele Rocca Date: 2024-07-19T08:25:38+01:00 New Revision: c248d05c6807baba34ff4fb254176e300922ea72
URL: https://github.com/llvm/llvm-project/commit/c248d05c6807baba34ff4fb254176e300922ea72 DIFF: https://github.com/llvm/llvm-project/commit/c248d05c6807baba34ff4fb254176e300922ea72.diff LOG: [Clang] make SVE types known to device targets too (#99446) For the purpose of preprocessing and declarations in header files, ensure clang accepts SVE types for both device and host targets. Co-authored-by: Sander De Smalen <sander.desma...@arm.com> Added: Modified: clang/lib/AST/ASTContext.cpp clang/lib/Sema/Sema.cpp clang/test/PCH/aarch64-sve-types.c Removed: ################################################################################ diff --git a/clang/lib/AST/ASTContext.cpp b/clang/lib/AST/ASTContext.cpp index a8e599f7ebe04..98ce88eb6a9fd 100644 --- a/clang/lib/AST/ASTContext.cpp +++ b/clang/lib/AST/ASTContext.cpp @@ -1384,7 +1384,8 @@ void ASTContext::InitBuiltinTypes(const TargetInfo &Target, #include "clang/Basic/OpenCLExtensionTypes.def" } - if (Target.hasAArch64SVETypes()) { + if (Target.hasAArch64SVETypes() || + (AuxTarget && AuxTarget->hasAArch64SVETypes())) { #define SVE_TYPE(Name, Id, SingletonId) \ InitBuiltinType(SingletonId, BuiltinType::Id); #include "clang/Basic/AArch64SVEACLETypes.def" diff --git a/clang/lib/Sema/Sema.cpp b/clang/lib/Sema/Sema.cpp index 46417964f0896..2e989f0ba6fe4 100644 --- a/clang/lib/Sema/Sema.cpp +++ b/clang/lib/Sema/Sema.cpp @@ -469,7 +469,9 @@ void Sema::Initialize() { #include "clang/Basic/OpenCLExtensionTypes.def" } - if (Context.getTargetInfo().hasAArch64SVETypes()) { + if (Context.getTargetInfo().hasAArch64SVETypes() || + (Context.getAuxTargetInfo() && + Context.getAuxTargetInfo()->hasAArch64SVETypes())) { #define SVE_TYPE(Name, Id, SingletonId) \ addImplicitTypedef(Name, Context.SingletonId); #include "clang/Basic/AArch64SVEACLETypes.def" diff --git a/clang/test/PCH/aarch64-sve-types.c b/clang/test/PCH/aarch64-sve-types.c index 4c4549af0b6d6..249618c3a9708 100644 --- a/clang/test/PCH/aarch64-sve-types.c +++ b/clang/test/PCH/aarch64-sve-types.c @@ -1,6 +1,8 @@ // RUN: %clang_cc1 -triple aarch64-linux-gnu -emit-pch -o %t %s // RUN: %clang_cc1 -triple aarch64-linux-gnu -include-pch %t \ // RUN: -fsyntax-only -verify %s +// RUN: %clang_cc1 -triple amdgcn-amd-amdhsa -aux-triple aarch64-linux-gnu \ +// RUN: -x hip-cpp-output -emit-pch -o %t %s // expected-no-diagnostics _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits