[clang] ff8b4f8 - [AMDGCNSPIRV][NFC] Match AMDGPU's `__builtin_va_list` type (#152044)
via cfe-commits
cfe-commits at lists.llvm.org
Tue Aug 5 07:30:19 PDT 2025
Author: Alex Voicu
Date: 2025-08-05T15:30:16+01:00
New Revision: ff8b4f8151391f94eac268775382d4b10a17d913
URL: https://github.com/llvm/llvm-project/commit/ff8b4f8151391f94eac268775382d4b10a17d913
DIFF: https://github.com/llvm/llvm-project/commit/ff8b4f8151391f94eac268775382d4b10a17d913.diff
LOG: [AMDGCNSPIRV][NFC] Match AMDGPU's `__builtin_va_list` type (#152044)
AMDGCN flavoured SPIRV should math AMDGPU TI as much as possible, and
the va_list difference was spurious.
Added:
clang/test/Sema/amdgcn-va-list-type.c
Modified:
clang/lib/Basic/Targets/SPIR.h
Removed:
################################################################################
diff --git a/clang/lib/Basic/Targets/SPIR.h b/clang/lib/Basic/Targets/SPIR.h
index c13b286cd7916..9d0ced2afdbc7 100644
--- a/clang/lib/Basic/Targets/SPIR.h
+++ b/clang/lib/Basic/Targets/SPIR.h
@@ -438,6 +438,10 @@ class LLVM_LIBRARY_VISIBILITY SPIRV64AMDGCNTargetInfo final
ArrayRef<const char *> getGCCRegNames() const override;
+ BuiltinVaListKind getBuiltinVaListKind() const override {
+ return TargetInfo::CharPtrBuiltinVaList;
+ }
+
bool initFeatureMap(llvm::StringMap<bool> &Features, DiagnosticsEngine &Diags,
StringRef,
const std::vector<std::string> &) const override;
diff --git a/clang/test/Sema/amdgcn-va-list-type.c b/clang/test/Sema/amdgcn-va-list-type.c
new file mode 100644
index 0000000000000..1c0e93adabae4
--- /dev/null
+++ b/clang/test/Sema/amdgcn-va-list-type.c
@@ -0,0 +1,13 @@
+// RUN: %clang_cc1 %s -triple amdgcn-amd-amdhsa -fsyntax-only -verify
+// RUN: %clang_cc1 %s -triple spirv64-amd-amdhsa -fsyntax-only -verify
+
+// expected-no-diagnostics
+
+typedef char* va_list;
+
+void foo(const char* f, ...) {
+ int r;
+ va_list args;
+ __builtin_va_start(args, f);
+ __builtin_va_end(args);
+}
\ No newline at end of file
More information about the cfe-commits
mailing list