diff options
author | Mariya Podchishchaeva <mariya.podchishchaeva@intel.com> | 2025-06-16 09:55:22 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2025-06-16 09:55:22 +0200 |
commit | e61405033bbaec3604c79a0b323a3e21efc720bc (patch) | |
tree | db6e560f5b917c33864ad405b354d4bb05e1e510 | |
parent | 4e0dd007ac6a7b7e0a284062b61c6d22250337df (diff) | |
download | llvm-e61405033bbaec3604c79a0b323a3e21efc720bc.zip llvm-e61405033bbaec3604c79a0b323a3e21efc720bc.tar.gz llvm-e61405033bbaec3604c79a0b323a3e21efc720bc.tar.bz2 |
[clang] Fix -fclang-abi-compat for clang 20 (#144109)
The value was known already, but it was parsed as latest which is
incorrect because we are already doing clang 21.
-rw-r--r-- | clang/lib/Frontend/CompilerInvocation.cpp | 2 | ||||
-rw-r--r-- | clang/test/CodeGen/X86/avx-cxx-record.cpp | 2 |
2 files changed, 4 insertions, 0 deletions
diff --git a/clang/lib/Frontend/CompilerInvocation.cpp b/clang/lib/Frontend/CompilerInvocation.cpp index dd021ad..5c52dc3 100644 --- a/clang/lib/Frontend/CompilerInvocation.cpp +++ b/clang/lib/Frontend/CompilerInvocation.cpp @@ -4475,6 +4475,8 @@ bool CompilerInvocation::ParseLangArgs(LangOptions &Opts, ArgList &Args, Opts.setClangABICompat(LangOptions::ClangABI::Ver18); else if (Major <= 19) Opts.setClangABICompat(LangOptions::ClangABI::Ver19); + else if (Major <= 20) + Opts.setClangABICompat(LangOptions::ClangABI::Ver20); } else if (Ver != "latest") { Diags.Report(diag::err_drv_invalid_value) << A->getAsString(Args) << A->getValue(); diff --git a/clang/test/CodeGen/X86/avx-cxx-record.cpp b/clang/test/CodeGen/X86/avx-cxx-record.cpp index bcd9c36..6ce6815 100644 --- a/clang/test/CodeGen/X86/avx-cxx-record.cpp +++ b/clang/test/CodeGen/X86/avx-cxx-record.cpp @@ -1,4 +1,5 @@ // RUN: %clang_cc1 %s -triple x86_64-unknown-linux-gnu -emit-llvm -O2 -target-cpu x86-64-v3 -o - | FileCheck %s +// RUN: %clang_cc1 %s -triple x86_64-unknown-linux-gnu -emit-llvm -O2 -target-cpu x86-64-v3 -fclang-abi-compat=20 -o - | FileCheck --check-prefix CLANG-20 %s using UInt64x2 = unsigned long long __attribute__((__vector_size__(16), may_alias)); @@ -11,6 +12,7 @@ struct XMM2 : XMM1<0>, XMM1<1> { }; // CHECK: define{{.*}} @_Z3foov({{.*}} [[ARG:%.*]]){{.*}} +// CLANG-20: define{{.*}} <4 x double> @_Z3foov() // CHECK: entry: // CHECK-NEXT: store {{.*}}, ptr [[ARG]]{{.*}} // CHECK-NEXT: [[TMP1:%.*]] = getelementptr {{.*}}, ptr [[ARG]]{{.*}} |