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 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits